Boost: Update 8
Major fixes: - The "Select Boost Options" was improved: - In previous versions, it was possible to unselect both Shared and Static options, so that there would be nothing to be built. This was solved by creating a choice menu "Compile Boost libraries". - A new choice menu was also created for Boost Run-time linkage called "Selects Boost Run-time linkage", which is used to select the C and C++ runtime. This choice menu obeys to the required restrictions by boost options [1]. - Fixed the invalid combination where boost shared version could be linked to C and C++ static runtime. This is not allowed by the boost builder. - Added new menu where a Boost building variant can be chosen from 3 options: - Release: The optimized version for daily use. - Debug: The debugging version, for testing purposes. - Profiling: The profiling version for evaluation purposes. - Improved options help descriptions. Minor fixes: - Makefile Version was bumped from 6 to 8 because the previous update [2] did not bumped the value acordingly to the submission rules. - Removed stuff that was not doing anything: "-sBUILD=release" - Changed builder executable from "bjam" to "b2" which is the correct caller: - "bjam" is the old name and exists only for compatibility purposes. [1]: http://www.boost.org/build/doc/html/bbv2/overview/builtins/features.html [2]: openwrt#2084 Signed-off-by: Carlos M. Ferreira <carlosmf.pt@gmail.com>
This commit is contained in:
parent
f5eb8b4257
commit
fff766fecd
1 changed files with 87 additions and 38 deletions
|
@ -17,7 +17,7 @@ include $(INCLUDE_DIR)/target.mk
|
||||||
|
|
||||||
PKG_NAME:=boost
|
PKG_NAME:=boost
|
||||||
PKG_VERSION:=1_59_0
|
PKG_VERSION:=1_59_0
|
||||||
PKG_RELEASE:=6
|
PKG_RELEASE:=8
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION).tar.gz
|
PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION).tar.gz
|
||||||
PKG_SOURCE_URL:=@SF/boost
|
PKG_SOURCE_URL:=@SF/boost
|
||||||
|
@ -115,31 +115,75 @@ define Package/boost/config
|
||||||
menu "Select Boost Options"
|
menu "Select Boost Options"
|
||||||
depends on PACKAGE_boost
|
depends on PACKAGE_boost
|
||||||
comment "Boost compilation options."
|
comment "Boost compilation options."
|
||||||
config boost-static-libs
|
|
||||||
bool "Compile Static Libraries"
|
|
||||||
help
|
|
||||||
Compile static version of all selected boost libraries.
|
|
||||||
default y
|
|
||||||
|
|
||||||
config boost-shared-libs
|
choice
|
||||||
bool "Compile Shared Libraries"
|
prompt "Compile Boost libraries."
|
||||||
help
|
default boost-static-and-shared-libs
|
||||||
Compile shared version of all selected boost libraries.
|
help
|
||||||
default y
|
Choose which version to compile.
|
||||||
|
-> Shared:
|
||||||
config boost-runtime-static
|
- Only Shared libs will be compiled.
|
||||||
bool "Use static version of C and C++ runtimes for static libraries."
|
-> Static:
|
||||||
help
|
- Only Static libs will be compiled.
|
||||||
Determines if shared or static version of C and C++ runtimes should be used for static libraries.
|
-> Both:
|
||||||
default n
|
- Both Static and Shared libs will be compiled.
|
||||||
select boost-static-libs
|
|
||||||
|
|
||||||
config boost-runtime-shared
|
config boost-shared-libs
|
||||||
bool "Use shared version of C and C++ runtimes for shared libraries."
|
bool "Shared"
|
||||||
help
|
|
||||||
Determines if shared or static version of C and C++ runtimes should be used for shared libraries.
|
config boost-static-libs
|
||||||
default y
|
bool "Static"
|
||||||
select boost-shared-libs
|
|
||||||
|
config boost-static-and-shared-libs
|
||||||
|
bool "Both"
|
||||||
|
endchoice
|
||||||
|
|
||||||
|
choice
|
||||||
|
prompt "Selects Boost Runtime linkage."
|
||||||
|
default boost-runtime-shared
|
||||||
|
help
|
||||||
|
Choose which C and C++ runtimes to use:
|
||||||
|
-> Use Shared runtimes.
|
||||||
|
-> Use Static runtimes.
|
||||||
|
- Not available if Shared libs are to be built.
|
||||||
|
-> Use both runtimes.
|
||||||
|
- Not available if Shared libs are to be built.
|
||||||
|
- Two seperate versions of Boost are built, linking each to a different runtime.
|
||||||
|
- This option requires "Use tagged names" option to be active.
|
||||||
|
|
||||||
|
config boost-runtime-shared
|
||||||
|
bool "Shared"
|
||||||
|
|
||||||
|
config boost-runtime-static
|
||||||
|
depends on @(!boost-shared-libs&&!boost-static-and-shared-libs)
|
||||||
|
bool "Static"
|
||||||
|
|
||||||
|
config boost-runtime-static-and-shared
|
||||||
|
depends on @(boost-use-name-tags&&!boost-shared-libs&&!boost-static-and-shared-libs)
|
||||||
|
bool "Both"
|
||||||
|
endchoice
|
||||||
|
|
||||||
|
choice
|
||||||
|
prompt "Select a Variant."
|
||||||
|
default boost-variant-release
|
||||||
|
help
|
||||||
|
Chooses which boost variant should be selected:
|
||||||
|
-> Release: Optimizes Boost for release.
|
||||||
|
- Optimization: Speed; Debug Symbols: Off; Inlining: Full; Runtime Debugging: Off.
|
||||||
|
-> Debug:
|
||||||
|
- Optimization: Off; Debug Symbols: On; Inlining: Off; Runtime Debugging: On.
|
||||||
|
-> Profile:
|
||||||
|
- Profiling: On; Debug Symbols: On.
|
||||||
|
|
||||||
|
config boost-variant-release
|
||||||
|
bool "Release"
|
||||||
|
|
||||||
|
config boost-variant-debug
|
||||||
|
bool "Debug"
|
||||||
|
|
||||||
|
config boost-variant-profile
|
||||||
|
bool "Profile"
|
||||||
|
endchoice
|
||||||
|
|
||||||
config boost-use-name-tags
|
config boost-use-name-tags
|
||||||
bool "Use tagged names."
|
bool "Use tagged names."
|
||||||
|
@ -153,16 +197,16 @@ define Package/boost/config
|
||||||
|
|
||||||
config boost-single-thread
|
config boost-single-thread
|
||||||
depends on @boost-use-name-tags
|
depends on @boost-use-name-tags
|
||||||
bool "Single thread Support"
|
bool "Single thread Support."
|
||||||
help
|
help
|
||||||
Compile Boost libraries in single-thread mode.
|
Compile Boost libraries in single-thread mode.
|
||||||
default n
|
default n
|
||||||
|
|
||||||
config boost-with-debug
|
config boost-build-type-complete
|
||||||
depends on @boost-use-name-tags
|
depends on @boost-use-name-tags
|
||||||
bool "Boost Debug Support"
|
bool "Complete Boost Build."
|
||||||
help
|
help
|
||||||
Compile Boost libraries with debug support.
|
Builds both release and debug libs. It will take much longer to compile.
|
||||||
default n
|
default n
|
||||||
endmenu
|
endmenu
|
||||||
|
|
||||||
|
@ -262,7 +306,7 @@ $(eval $(call DefineBoostLibrary,wave,date_time thread filesystem,))
|
||||||
|
|
||||||
|
|
||||||
define Host/Compile
|
define Host/Compile
|
||||||
# bjam does not provide a configure-script nor a Makefile
|
# b2 does not provide a configure-script nor a Makefile
|
||||||
( cd $(HOST_BUILD_DIR)/tools/build/src/engine ; ./build.sh gcc )
|
( cd $(HOST_BUILD_DIR)/tools/build/src/engine ; ./build.sh gcc )
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
@ -287,6 +331,7 @@ else
|
||||||
BOOST_ABI = sysv
|
BOOST_ABI = sysv
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
comma := ,
|
||||||
|
|
||||||
define Build/Compile
|
define Build/Compile
|
||||||
$(info Selected Boost API $(BOOST_ABI) for architecture $(ARCH) and cpu $(CPU_TYPE) $(CPU_SUBTYPE))
|
$(info Selected Boost API $(BOOST_ABI) for architecture $(ARCH) and cpu $(CPU_TYPE) $(CPU_SUBTYPE))
|
||||||
|
@ -300,20 +345,24 @@ define Build/Compile
|
||||||
echo "using python : 2.7 : $(STAGING_DIR_ROOT)/usr/bin/python : $(STAGING_DIR)/usr/include/python2.7/ ;" >> \
|
echo "using python : 2.7 : $(STAGING_DIR_ROOT)/usr/bin/python : $(STAGING_DIR)/usr/include/python2.7/ ;" >> \
|
||||||
tools/build/src/user-config.jam; \
|
tools/build/src/user-config.jam; \
|
||||||
) \
|
) \
|
||||||
bjam \
|
b2 \
|
||||||
'-sBUILD=release <optimization>space <inlining>on <debug-symbols>off' \
|
$(CONFIGURE_ARGS) \
|
||||||
--ignore-site-config \
|
--ignore-site-config \
|
||||||
--toolset=gcc-$(ARCH) abi=$(BOOST_ABI) \
|
--toolset=gcc-$(ARCH) abi=$(BOOST_ABI) \
|
||||||
--disable-long-double \
|
--disable-long-double \
|
||||||
|
$(if $(CONFIG_boost-variant-release), variant=release,) \
|
||||||
|
$(if $(CONFIG_boost-variant-debug), variant=debug,) \
|
||||||
|
$(if $(CONFIG_boost-variant-profile), variant=profile,) \
|
||||||
$(if $(CONFIG_boost-use-name-tags),--layout=tagged,--layout=system) \
|
$(if $(CONFIG_boost-use-name-tags),--layout=tagged,--layout=system) \
|
||||||
$(if $(CONFIG_boost-with-debug),--build-type=complete,--build-type=minimal) \
|
$(if $(CONFIG_boost-build-type-complete),--build-type=complete,--build-type=minimal) \
|
||||||
$(if $(CONFIG_boost-static-libs),link=static,) \
|
|
||||||
$(if $(CONFIG_boost-runtime-static),runtime-link=static,runtime-link=shared) \
|
|
||||||
$(if $(CONFIG_boost-shared-libs),link=shared,) \
|
$(if $(CONFIG_boost-shared-libs),link=shared,) \
|
||||||
|
$(if $(CONFIG_boost-static-libs),link=static,) \
|
||||||
|
$(if $(CONFIG_boost-static-and-shared-libs),link=static$(comma)shared,) \
|
||||||
$(if $(CONFIG_boost-runtime-shared),runtime-link=shared,) \
|
$(if $(CONFIG_boost-runtime-shared),runtime-link=shared,) \
|
||||||
|
$(if $(CONFIG_boost-runtime-static),runtime-link=static,) \
|
||||||
|
$(if $(CONFIG_boost-runtime-static-and-shared),runtime-link=shared$(comma)static,) \
|
||||||
$(if $(CONFIG_boost-single-thread),threading=single,) \
|
$(if $(CONFIG_boost-single-thread),threading=single,) \
|
||||||
threading=multi \
|
threading=multi \
|
||||||
$(CONFIGURE_ARGS) \
|
|
||||||
--without-mpi \
|
--without-mpi \
|
||||||
$(if $(CONFIG_boost-coroutine2),,--without-coroutine2) \
|
$(if $(CONFIG_boost-coroutine2),,--without-coroutine2) \
|
||||||
$(if $(CONFIG_boost-graph-parallel),,--without-graph_parallel) \
|
$(if $(CONFIG_boost-graph-parallel),,--without-graph_parallel) \
|
||||||
|
@ -342,7 +391,7 @@ define Build/InstallDev
|
||||||
# copies _all_ header files - independent of <--with-library>-argument above
|
# copies _all_ header files - independent of <--with-library>-argument above
|
||||||
|
|
||||||
$(INSTALL_DIR) $(1)/usr/lib
|
$(INSTALL_DIR) $(1)/usr/lib
|
||||||
$(CP) -v $(PKG_INSTALL_DIR)/lib/*.a $(1)/usr/lib/ # copies all compiled archive files
|
$(CP) -v $(PKG_INSTALL_DIR)/lib/*.a $(1)/usr/lib/ # copies all compiled archive files
|
||||||
$(FIND) $(PKG_INSTALL_DIR)/lib/ -name '*.so*' -exec $(CP) {} $(1)/usr/lib/ \; # copies all the shared objects files
|
$(FIND) $(PKG_INSTALL_DIR)/lib/ -name '*.so*' -exec $(CP) {} $(1)/usr/lib/ \; # copies all the shared objects files
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
@ -351,7 +400,7 @@ define Host/Install
|
||||||
$(STAGING_DIR_HOST)/bin
|
$(STAGING_DIR_HOST)/bin
|
||||||
|
|
||||||
$(CP) \
|
$(CP) \
|
||||||
$(HOST_BUILD_DIR)/tools/build/src/engine/bin.*/bjam \
|
$(HOST_BUILD_DIR)/tools/build/src/engine/bin.*/b2 \
|
||||||
$(STAGING_DIR_HOST)/bin/
|
$(STAGING_DIR_HOST)/bin/
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue