include $(INCLUDE_DIR)/target.mk
PKG_NAME:=boost
-PKG_VERSION:=1.61.0
-PKG_SOURCE_VERSION=1_61_0
-PKG_RELEASE:=2
+PKG_VERSION:=1.62.0
+PKG_SOURCE_VERSION:=1_62_0
+PKG_RELEASE:=1
-PKG_SOURCE:=$(PKG_NAME)_$(PKG_SOURCE_VERSION).tar.gz
-PKG_SOURCE_URL:=@SF/boost/$(PKG_NAME)/$(PKG_VERSION)
+PKG_SOURCE:=$(PKG_NAME)_$(PKG_SOURCE_VERSION).tar.bz2
+PKG_SOURCE_URL:=https://sourceforge.net/projects/boost/files/boost/$(PKG_VERSION)
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)_$(PKG_SOURCE_VERSION)
HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/$(PKG_NAME)_$(PKG_SOURCE_VERSION)
-PKG_MD5SUM:=874805ba2e2ee415b1877ef3297bf8ad
+PKG_MD5SUM:=36c96b0f6155c98404091d8ceb48319a28279ca0333fba1ad8611eb90afb2ca0
PKG_LICENSE:=Boost Software License <http://www.boost.org/users/license.html>
PKG_MAINTAINER:=Carlos M. Ferreira <carlosmf.pt@gmail.com>
endef
define Package/boost/description
-This package provides the Boost v1.61 libraries.
+This package provides the Boost v1.62 libraries.
Boost is a set of free, peer-reviewed, portable C++ source libraries.
+
+-----------------------------------------------------------------------------
+| Warning |
+| In order to build all of the Boost Libraries, it is necessary |
+| to use, at least, GCC version 5 (C++14 support) and, it is necessary to |
+| compile the kernel with Full Language Support. |
+| Without these requirerements, the following libs will not be available: |
+| - Boost.Locale |
+| - Boost.Coroutine2 |
+| - Boost.Fiber |
+-----------------------------------------------------------------------------
+
This package provides the following run-time libraries:
- atomic
- chrono
- container
- context
- - coroutine
- - - coroutine2 (requires GCC v5 and up)
+ - coroutine (Deprecated - use Coroutine2)
+ - - coroutine2 (Requires GCC v5 and up)
- date_time
- exception
- filesystem
+ - fiber (Requires GCC v5 and up) - BROKEN
- graph
- - graph-parallel
- iostreams
- - locale (requires kernel being compiled with full language support)
+ - locale (Requires kernel being compiled with full language support)
- log
- math
- program_options
- thread
- timer
- wave
- There are many more header-only libraries supported by Boost.
- See more at http://www.boost.org/doc/libs/1_61_0/
+
+There are many more header-only libraries supported by Boost.
+See more at http://www.boost.org/doc/libs/1_62_0/
endef
BOOST_LIBS =
endef
define Package/boost/config
- menu "Select Boost Options"
- depends on PACKAGE_boost
- comment "Boost compilation options."
-
- choice
- prompt "Compile Boost libraries."
- default boost-static-and-shared-libs
- help
- Choose which version to compile.
- -> Shared:
- - Only Shared libs will be compiled.
- -> Static:
- - Only Static libs will be compiled.
- -> Both:
- - Both Static and Shared libs will be compiled.
-
- config boost-shared-libs
- bool "Shared"
+ menu "Select Boost Options"
+ depends on PACKAGE_boost
+ comment "Boost compilation options."
+
+ choice
+ prompt "Compile Boost libraries."
+ default boost-static-and-shared-libs
+ help
+ Choose which version to compile.
+ -> Shared:
+ - Only Shared libs will be compiled.
+ -> Static:
+ - Only Static libs will be compiled.
+ -> Both:
+ - Both Static and Shared libs will be compiled.
+
+ config boost-shared-libs
+ bool "Shared"
config boost-static-libs
- bool "Static"
+ bool "Static"
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 separate 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
- bool "Use tagged names."
- help
- Add name tags the lib files, to diferentiate each library version:
- "-mt" for multi-threading.
- "-d" for debugging.
- "-s" for runtime static link".
- Might break compatibility with libraries that expect boost libs with default names.
- default n
-
- config boost-single-thread
- depends on @boost-use-name-tags
- bool "Single thread Support."
- help
- Compile Boost libraries in single-thread mode.
- default n
+ 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 separate 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
+ bool "Use tagged names."
+ help
+ Add name tags the lib files, to diferentiate each library version:
+ "-mt" for multi-threading.
+ "-d" for debugging.
+ "-s" for runtime static link".
+ Might break compatibility with libraries that expect boost libs with default names.
+ default n
+
+ config boost-single-thread
+ depends on @boost-use-name-tags
+ bool "Single thread Support."
+ help
+ Compile Boost libraries in single-thread mode.
+ default n
- config boost-build-type-complete
- depends on @boost-use-name-tags
- bool "Complete Boost Build."
- help
- Builds both release and debug libs. It will take much longer to compile.
- default n
- endmenu
-
- menu "Select Boost libraries"
- depends on PACKAGE_boost
+ config boost-build-type-complete
+ depends on @boost-use-name-tags
+ bool "Complete Boost Build."
+ help
+ Builds both release and debug libs. It will take much longer to compile.
+ default n
+ endmenu
+
+ menu "Select Boost libraries"
+ depends on PACKAGE_boost
comment "Libraries"
config boost-libs-all
- bool "Include all Boost libraries."
- select PACKAGE_boost-libs
+ bool "Include all Boost libraries."
+ select PACKAGE_boost-libs
+ select boost-test-pkg
+ select boost-coroutine2
+ select boost-graph-parallel
config boost-test-pkg
- bool "Boost test package."
- select PACKAGE_boost-test
-
+ bool "Boost test package."
+ select PACKAGE_boost-test
+
config boost-coroutine2
- depends on @(GCC_VERSION_5 || GCC_VERSION_6)
- bool "Boost couroutine2 support."
- select PACKAGE_boost-coroutine
- default n
+ depends on !@GCC_VERSION_4_8
+ bool "Boost couroutine2 support."
+ select PACKAGE_boost-coroutine
+ default n
config boost-graph-parallel
- bool "Boost parallel graph support."
- select PACKAGE_boost-graph
- default n
+ bool "Boost parallel graph support."
+ select PACKAGE_boost-graph
+ default n
$(foreach lib,$(BOOST_LIBS), \
- config PACKAGE_boost-$(lib)
- prompt "Boost $(lib) library."
- $(if $(findstring locale,$(lib)),depends on @BUILD_NLS,)
+ config PACKAGE_boost-$(lib)
+ prompt "Boost $(lib) library."
+ $(if $(findstring locale,$(lib)),depends on @BUILD_NLS,)
+ $(if $(findstring fiber,$(lib)),depends on BROKEN,)
)
- endmenu
+ endmenu
endef
PKG_CONFIG_DEPENDS:= CONFIG_PACKAGE_boost-test
define Package/boost-test
- $(call Package/boost/Default)
- TITLE+= (test)
- HIDDEN:=1
- DEPENDS+=+boost-system +boost-timer
+ $(call Package/boost/Default)
+ TITLE+= (test)
+ HIDDEN:=1
+ DEPENDS+=+boost-system +boost-timer
endef
define Build/Configure
$(eval $(call DefineBoostLibrary,coroutine,system chrono context thread,))
$(eval $(call DefineBoostLibrary,date_time,,))
#$(eval $(call DefineBoostLibrary,exception,,))
+$(eval $(call DefineBoostLibrary,fiber,coroutine,))
$(eval $(call DefineBoostLibrary,filesystem,system,))
$(eval $(call DefineBoostLibrary,graph,regex,))
$(eval $(call DefineBoostLibrary,iostreams,,+PACKAGE_boost-iostreams:zlib))
$(if $(CONFIG_PACKAGE_boost-test),,--without-test) \
$(foreach lib,$(BOOST_LIBS), \
$(if $(findstring python,$(lib)), \
- $(if $(or $(CONFIG_PACKAGE_boost-python),$(CONFIG_PACKAGE_boost-python3)),,--without-python), \
- $(if $(CONFIG_PACKAGE_boost-$(lib)),,--without-$(lib))) \
+ $(if $(or $(CONFIG_PACKAGE_boost-python),$(CONFIG_PACKAGE_boost-python3)),,--without-python), \
+ $(if $(CONFIG_PACKAGE_boost-$(lib)),,--without-$(lib))) \
) \
$(if $(CONFIG_PACKAGE_boost-locale),boost.locale.iconv=on -sICONV_PATH=$(ICONV_PREFIX) boost.locale.posix=$(if $(USE_MUSL),on,off), \
boost.locale.iconv=off) \
$(PKG_INSTALL_DIR)/lib/ -name 'libboost_$(2)*.so*' -exec $(CP) {} $(1)/usr/lib/ \;
endef
-define Package/boost-test/install
+define Package/boost-test/install
$(INSTALL_DIR) \
$(1)/usr/lib
define BuildBoostLibrary
define Package/boost-$(1)/install
- $(call Package/boost/Default/install,$$(1),$(1))
+ $(call Package/boost/Default/install,$$(1),$(1))
endef
$$(eval $$(call BuildPackage,boost-$(1)))