]> Git Repo - buildroot-mgba.git/commitdiff
package/boost: drop tagged layout
authorFabrice Fontaine <[email protected]>
Wed, 20 Apr 2022 12:12:02 +0000 (14:12 +0200)
committerArnout Vandecappelle (Essensium/Mind) <[email protected]>
Sat, 23 Apr 2022 15:34:40 +0000 (17:34 +0200)
Drop boost tagged layout which raises the following build failure with
botan or libcpprestsdk:

/nvmedata/autobuild/instance-31/output-1/host/opt/ext-toolchain/bin/../lib/gcc/m68k-buildroot-linux-uclibc/11.2.0/../../../../m68k-buildroot-linux-uclibc/bin/ld: cannot find -lboost_system

CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find Boost (missing: random system thread filesystem chrono
  atomic date_time regex) (found version "1.78.0")

While at it:
 - drop BR2_PACKAGE_BOOST_LAYOUT and BR2_PACKAGE_BOOST_LAYOUT_SYSTEM
 - move --layout=system, --ignore-site-config,
   --user-config=$(@D)/user-config.jam, -j$(PARALLEL_JOBS), -q and
   --prefix=$(HOST_DIR) to BOOST_OPTS and HOST_BOOST_OPTS
 - drop parentheses to avoid spawning a useless sub-shell
 - use b2 everywhere instead of mixing b2 and
   tools/build/src/engine/bjam
 - drop uneeded 'echo "" >> $(@D)/user-config.jam'

BR2_PACKAGE_BOOST_LAYOUT_SYSTEM is not added to Config.in.legacy since
nothing changes for configs which already had it selected.

Fixes:
 - http://autobuild.buildroot.org/results/f237c9345faf8c28f3c73f7d8acb49271fe61780
 - http://autobuild.buildroot.org/results/a73225e40fa29bc3b24f36a86719e80c8e469d1f

Signed-off-by: Fabrice Fontaine <[email protected]>
[Arnout: don't add BR2_PACKAGE_BOOST_LAYOUT_SYSTEM to Config.in.legacy]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <[email protected]>
Config.in.legacy
package/boost/Config.in
package/boost/boost.mk

index 27a4fcd33b262bfcb9df3bdce5d966e73409dfba..2b9575fe2243359441036822eab13bfb460e85d8 100644 (file)
@@ -152,6 +152,13 @@ config BR2_BINUTILS_VERSION_2_35_X
        help
          binutils 2.35 has been removed, use a newer version.
 
+config BR2_PACKAGE_BOOST_LAYOUT_TAGGED
+       bool "boost tagged layout removed"
+       select BR2_LEGACY
+       help
+         Boost tagged layout isn't handled by some packages (e.g. botan
+         or libcpprestsdk).
+
 config BR2_PACKAGE_BOOST_LAYOUT_VERSIONED
        bool "boost versioned layout removed"
        select BR2_LEGACY
index 9e96be7878449d22197b3d6779154ebcd840bc45..b99b01f22ebe510d363830a90497d9fd5906e0cd 100644 (file)
@@ -16,33 +16,6 @@ config BR2_PACKAGE_BOOST
 
 if BR2_PACKAGE_BOOST
 
-choice
-       prompt "Layout"
-       default BR2_PACKAGE_BOOST_LAYOUT_SYSTEM
-       help
-         Selects the layout of Boost binary names
-
-config BR2_PACKAGE_BOOST_LAYOUT_SYSTEM
-       bool "system"
-       help
-         Boost binary names do not include the Boost version number
-         or the name and version number of the compiler.
-
-config BR2_PACKAGE_BOOST_LAYOUT_TAGGED
-       bool "tagged"
-       help
-         Boost binary names include the encoded build properties such
-         as variant and threading, but do not include compiler name
-         and version, or Boost version. This option is useful if you
-         build several variants of Boost, using the same compiler.
-
-endchoice
-
-config BR2_PACKAGE_BOOST_LAYOUT
-       string
-       default "system" if BR2_PACKAGE_BOOST_LAYOUT_SYSTEM
-       default "tagged" if BR2_PACKAGE_BOOST_LAYOUT_TAGGED
-
 config BR2_PACKAGE_BOOST_ATOMIC
        bool "boost-atomic"
        depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
index 032ba5c8205d824d13fac1fc6f45a2ec28f7e041..346d309777f940fb109a1e4f17b858cb1e901579 100644 (file)
@@ -76,7 +76,9 @@ BOOST_DEPENDENCIES += python3
 endif
 
 HOST_BOOST_OPTS += --no-cmake-config toolset=gcc threading=multi \
-       variant=release link=shared runtime-link=shared
+       variant=release link=shared runtime-link=shared -j$(PARALLEL_JOBS) -q \
+       --ignore-site-config --layout=system --prefix=$(HOST_DIR) \
+       --user-config=$(@D)/user-config.jam
 
 ifeq ($(BR2_MIPS_OABI32),y)
 BOOST_ABI = o32
@@ -90,7 +92,12 @@ BOOST_OPTS += --no-cmake-config \
        toolset=gcc \
        threading=multi \
        abi=$(BOOST_ABI) \
-       variant=$(if $(BR2_ENABLE_RUNTIME_DEBUG),debug,release)
+       variant=$(if $(BR2_ENABLE_RUNTIME_DEBUG),debug,release) \
+       -j$(PARALLEL_JOBS) \
+       -q \
+       --ignore-site-config \
+       --layout=system \
+       --user-config=$(@D)/user-config.jam
 
 ifeq ($(BR2_sparc64),y)
 BOOST_OPTS += architecture=sparc instruction-set=ultrasparc
@@ -119,43 +126,29 @@ endif
 
 BOOST_WITHOUT_FLAGS_COMMASEPARATED += $(subst $(space),$(comma),$(strip $(BOOST_WITHOUT_FLAGS)))
 BOOST_FLAGS += $(if $(BOOST_WITHOUT_FLAGS_COMMASEPARATED), --without-libraries=$(BOOST_WITHOUT_FLAGS_COMMASEPARATED))
-BOOST_LAYOUT = $(call qstrip, $(BR2_PACKAGE_BOOST_LAYOUT))
 
 # how verbose should the build be?
 BOOST_OPTS += $(if $(QUIET),-d,-d+1)
 HOST_BOOST_OPTS += $(if $(QUIET),-d,-d+1)
 
 define BOOST_CONFIGURE_CMDS
-       (cd $(@D) && ./bootstrap.sh $(BOOST_FLAGS))
+       cd $(@D) && ./bootstrap.sh $(BOOST_FLAGS)
        echo "using gcc : `$(TARGET_CC) -dumpversion` : $(TARGET_CXX) : <cxxflags>\"$(BOOST_TARGET_CXXFLAGS)\" <linkflags>\"$(TARGET_LDFLAGS)\" ;" > $(@D)/user-config.jam
-       echo "" >> $(@D)/user-config.jam
        sed -i "s/: -O.* ;/: $(TARGET_OPTIMIZATION) ;/" $(@D)/tools/build/src/tools/gcc.jam
 endef
 
 define BOOST_BUILD_CMDS
-       (cd $(@D) && $(TARGET_MAKE_ENV) ./tools/build/src/engine/bjam -j$(PARALLEL_JOBS) -q \
-       --user-config=$(@D)/user-config.jam \
-       $(BOOST_OPTS) \
-       --ignore-site-config \
-       --layout=$(BOOST_LAYOUT))
+       cd $(@D) && $(TARGET_MAKE_ENV) ./b2 $(BOOST_OPTS)
 endef
 
 define BOOST_INSTALL_TARGET_CMDS
-       (cd $(@D) && $(TARGET_MAKE_ENV) ./b2 -j$(PARALLEL_JOBS) -q \
-       --user-config=$(@D)/user-config.jam \
-       $(BOOST_OPTS) \
-       --prefix=$(TARGET_DIR)/usr \
-       --ignore-site-config \
-       --layout=$(BOOST_LAYOUT) install )
+       cd $(@D) && $(TARGET_MAKE_ENV) ./b2 $(BOOST_OPTS) \
+               --prefix=$(TARGET_DIR)/usr install
 endef
 
 define BOOST_INSTALL_STAGING_CMDS
-       (cd $(@D) && $(TARGET_MAKE_ENV) ./tools/build/src/engine/bjam -j$(PARALLEL_JOBS) -q \
-       --user-config=$(@D)/user-config.jam \
-       $(BOOST_OPTS) \
-       --prefix=$(STAGING_DIR)/usr \
-       --ignore-site-config \
-       --layout=$(BOOST_LAYOUT) install)
+       cd $(@D) && $(TARGET_MAKE_ENV) ./b2 $(BOOST_OPTS) \
+               --prefix=$(STAGING_DIR)/usr install
 endef
 
 # These hooks will help us to detect missing select in Config.in
@@ -177,26 +170,16 @@ endef
 BOOST_POST_INSTALL_TARGET_HOOKS += BOOST_CHECK_TARGET_LIBRARIES
 
 define HOST_BOOST_CONFIGURE_CMDS
-       (cd $(@D) && ./bootstrap.sh $(HOST_BOOST_FLAGS))
+       cd $(@D) && ./bootstrap.sh $(HOST_BOOST_FLAGS)
        echo "using gcc : `$(HOST_CC) -dumpversion` : $(HOSTCXX) : <cxxflags>\"$(HOST_CXXFLAGS)\" <linkflags>\"$(HOST_LDFLAGS)\" ;" > $(@D)/user-config.jam
-       echo "" >> $(@D)/user-config.jam
 endef
 
 define HOST_BOOST_BUILD_CMDS
-       (cd $(@D) && ./b2 -j$(PARALLEL_JOBS) -q \
-       --user-config=$(@D)/user-config.jam \
-       $(HOST_BOOST_OPTS) \
-       --ignore-site-config \
-       --prefix=$(HOST_DIR) )
+       cd $(@D) && ./b2 $(HOST_BOOST_OPTS)
 endef
 
 define HOST_BOOST_INSTALL_CMDS
-       (cd $(@D) && ./b2 -j$(PARALLEL_JOBS) -q \
-       --user-config=$(@D)/user-config.jam \
-       $(HOST_BOOST_OPTS) \
-       --prefix=$(HOST_DIR) \
-       --ignore-site-config \
-       --layout=$(BOOST_LAYOUT) install )
+       cd $(@D) && ./b2 $(HOST_BOOST_OPTS) install
 endef
 
 $(eval $(generic-package))
This page took 0.039631 seconds and 4 git commands to generate.