diff --git a/Config.in.legacy b/Config.in.legacy index 27a4fcd33b..2b9575fe22 100644 --- a/Config.in.legacy +++ b/Config.in.legacy @@ -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 diff --git a/package/boost/Config.in b/package/boost/Config.in index 9e96be7878..b99b01f22e 100644 --- a/package/boost/Config.in +++ b/package/boost/Config.in @@ -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 diff --git a/package/boost/boost.mk b/package/boost/boost.mk index 032ba5c820..346d309777 100644 --- a/package/boost/boost.mk +++ b/package/boost/boost.mk @@ -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) : \"$(BOOST_TARGET_CXXFLAGS)\" \"$(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) : \"$(HOST_CXXFLAGS)\" \"$(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))