2015-02-07 18:37:14 +00:00
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
#
# Original Boost 1.51 Makefile by Mirko Vogt <mirko@openwrt.org>
# Dude, this "boost" is really one of the most crude stuff I ported yet.
#
i n c l u d e $( TOPDIR ) / r u l e s . m k
PKG_NAME := boost
2019-04-15 01:40:01 +00:00
PKG_VERSION := 1.70.0
PKG_SOURCE_VERSION := 1_70_0
2019-05-07 07:31:01 +00:00
PKG_RELEASE := 4
2016-10-04 20:30:29 +00:00
2016-10-09 22:01:07 +00:00
PKG_SOURCE := $( PKG_NAME) _$( PKG_SOURCE_VERSION) .tar.bz2
2018-05-08 22:33:21 +00:00
PKG_SOURCE_URL := @SF/$( PKG_NAME) /$( PKG_NAME) /$( PKG_VERSION) https://dl.bintray.com/boostorg/release/$( PKG_VERSION) /source/
2016-10-04 20:30:29 +00:00
PKG_BUILD_DIR := $( BUILD_DIR) /$( PKG_NAME) _$( PKG_SOURCE_VERSION)
HOST_BUILD_DIR := $( BUILD_DIR_HOST) /$( PKG_NAME) _$( PKG_SOURCE_VERSION)
2019-04-15 01:40:01 +00:00
PKG_HASH := 430ae8354789de4fd19ee52f3b1f739e1fba576f0aded0897c3c2bc00fb38778
2015-02-07 18:37:14 +00:00
PKG_LICENSE := Boost Software License <http://www.boost.org/users/license.html>
2015-03-02 18:21:30 +00:00
PKG_MAINTAINER := Carlos M. Ferreira <carlosmf.pt@gmail.com>
2015-02-07 18:37:14 +00:00
2018-09-18 02:46:23 +00:00
PKG_BUILD_PARALLEL := 1
2015-02-07 18:37:14 +00:00
PKG_USE_MIPS16 := 0
i n c l u d e $( INCLUDE_DIR ) / p a c k a g e . m k
2018-09-24 18:33:39 +00:00
i n c l u d e $( INCLUDE_DIR ) / n l s . m k
2015-11-19 00:09:50 +00:00
2015-02-07 18:37:14 +00:00
d e f i n e P a c k a g e / b o o s t / D e f a u l t
SECTION:= libs
CATEGORY:= Libraries
2015-03-02 18:21:30 +00:00
TITLE:= Boost C++ source library
2015-02-07 18:37:14 +00:00
URL:= http://www.boost.org
2015-11-19 00:09:50 +00:00
DEPENDS:= +libstdcpp +libpthread +librt
2015-02-07 18:37:14 +00:00
e n d e f
2015-11-19 00:09:50 +00:00
d e f i n e P a c k a g e / b o o s t / d e s c r i p t i o n
2019-04-15 01:40:01 +00:00
T h i s p a c k a g e p r o v i d e s t h e B o o s t v 1 . 7 0 . 0 l i b r a r i e s .
2015-11-19 00:09:50 +00:00
B o o s t i s a s e t o f f r e e , p e e r - r e v i e w e d , p o r t a b l e C + + s o u r c e l i b r a r i e s .
2016-10-09 22:01:07 +00:00
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| W a r n i n g |
| I n o r d e r t o b u i l d a l l o f t h e B o o s t L i b r a r i e s , i t i s n e c e s s a r y |
| t o u s e , a t l e a s t , G C C v e r s i o n 5 ( C + + 1 4 s u p p o r t ) a n d , i t i s n e c e s s a r y t o |
| c o m p i l e t h e k e r n e l w i t h F u l l L a n g u a g e S u p p o r t . |
| Without these requirerements, the following libs will not be available : |
| - B o o s t . L o c a l e |
2017-10-20 18:03:38 +00:00
| - B o o s t . C o r o u t i n e 2 ( h e a d e r - o n l y l i b r a r y - r e q u i r e s C + + 1 1 ) |
| - B o o s t . F i b e r ( r e q u i r e s C + + 1 4 ) |
2016-10-09 22:01:07 +00:00
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
2016-05-15 23:56:57 +00:00
This package provides the following run-time libraries :
2015-11-25 10:35:47 +00:00
- atomic
- chrono
- container
- context
2018-08-21 01:13:59 +00:00
- contract
2016-10-09 22:01:07 +00:00
- coroutine ( Deprecated - use Coroutine2)
2017-03-01 12:48:54 +00:00
- - coroutine2 ( Requires GCC v5 and up)
2015-11-25 10:35:47 +00:00
- date_time
- exception
- filesystem
2017-03-01 12:48:54 +00:00
- fiber ( Requires GCC v5 and up)
2015-11-25 10:35:47 +00:00
- graph
- - graph-parallel
- iostreams
2016-10-09 22:01:07 +00:00
- locale ( Requires kernel being compiled with full language support)
2015-11-25 10:35:47 +00:00
- log
- math
- program_options
- python
- python3
- random
- regex
2017-08-30 11:20:55 +00:00
- serialization and wserialization
2017-12-28 13:29:43 +00:00
- stackstrace
2015-11-25 10:35:47 +00:00
- system
- thread
- timer
2017-08-30 11:20:55 +00:00
- type_erasure
2015-11-25 10:35:47 +00:00
- wave
2016-10-09 22:01:07 +00:00
T h e r e a r e m a n y m o r e h e a d e r - o n l y l i b r a r i e s s u p p o r t e d b y B o o s t .
2019-04-15 01:40:01 +00:00
See more at http : //www .boost .org /doc /libs /1_ 70_ 0/
2015-02-07 18:37:14 +00:00
e n d e f
2016-11-08 23:04:47 +00:00
PKG_BUILD_DEPENDS := boost/host PACKAGE_python:python PACKAGE_python3:python3
2016-11-07 22:05:52 +00:00
2018-09-24 18:33:39 +00:00
i n c l u d e . . / . . / l a n g / p y t h o n / p y t h o n - v e r s i o n . m k
BOOST_PYTHON_VER = $( PYTHON_VERSION)
i n c l u d e . . / . . / l a n g / p y t h o n / p y t h o n 3 - v e r s i o n . m k
BOOST_PYTHON3_VER = $( PYTHON3_VERSION)
2015-03-02 18:21:30 +00:00
BOOST_LIBS =
2015-02-07 18:37:14 +00:00
2015-03-02 18:21:30 +00:00
d e f i n e P a c k a g e / b o o s t - l i b s
$( call Package /boost /Default )
TITLE += ( all libs)
DEPENDS += $( BOOST_DEPENDS)
HIDDEN:= 1
2015-02-07 18:37:14 +00:00
e n d e f
2015-03-02 18:21:30 +00:00
d e f i n e P a c k a g e / b o o s t - l i b s / d e s c r i p t i o n
This meta package contains only dependencies to the other libraries from
the boost libraries collection.
2015-02-07 18:37:14 +00:00
e n d e f
2015-03-02 18:21:30 +00:00
# Create a meta-package of dependent libraries (for ALL)
d e f i n e P a c k a g e / b o o s t - l i b s / i n s t a l l
true
2015-02-07 18:37:14 +00:00
e n d e f
2015-06-26 20:49:11 +00:00
d e f i n e P a c k a g e / b o o s t / i n s t a l l
true
e n d e f
2015-03-02 18:21:30 +00:00
d e f i n e P a c k a g e / b o o s t
2015-02-07 18:37:14 +00:00
$( call Package/boost/Default)
2015-03-02 18:21:30 +00:00
TITLE += packages
2015-02-07 18:37:14 +00:00
e n d e f
2015-03-02 18:21:30 +00:00
d e f i n e P a c k a g e / b o o s t / c o n f i g
2016-10-09 22:01:07 +00:00
menu "Select Boost Options"
depends on PACKAGE_boost
comment "Boost compilation options."
2018-12-18 22:52:47 +00:00
choice
prompt "Compile Visibility."
default boost-compile-visibility-hidden
help
Choose Boost symbols compilation visibility.
-> Global:
- a.k.a. "default" in gcc documentation. Global symbols are considered public,
they are exported from shared libraries and can be redefined by another
shared library or executable.
-> Protected:
- a.k.a. "symbolic" . Protected symbols are exported from shared libraries but
cannot be redefined by another shared library or executable. This mode is
not supported on some platforms, for example OS X.
-> Hidden:
- Hidden symbols are not exported from shared libraries and cannot be
redefined by a different shared library or executable loaded in a process.
In this mode, public symbols have to be explicitly marked in the source code
to be exported from shared libraries. This is the recommended mode.
config boost-compile-visibility-global
bool "Global"
config boost-compile-visibility-protected
bool "Protected"
config boost-compile-visibility-hidden
bool "Hidden"
endchoice
2016-10-09 22:01:07 +00:00
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"
2015-12-10 20:56:22 +00:00
config boost-static-libs
2016-10-09 22:01:07 +00:00
bool "Static"
2015-12-10 20:56:22 +00:00
config boost-static-and-shared-libs
2016-10-09 22:01:07 +00:00
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
2015-12-10 20:56:22 +00:00
2016-10-09 22:01:07 +00:00
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
2015-11-19 00:09:50 +00:00
comment "Libraries"
2015-11-23 18:51:54 +00:00
config boost-libs-all
2016-10-09 22:01:07 +00:00
bool "Include all Boost libraries."
2016-11-08 23:04:47 +00:00
default m if ALL
2017-03-01 12:48:54 +00:00
select PACKAGE_boost-libs
select boost-test-pkg
select boost-coroutine2
select boost-graph-parallel
2015-11-19 00:09:50 +00:00
2018-09-20 18:24:54 +00:00
# Invisible config dependency
config boost-fiber-exclude
bool
default y if ( CPU_TYPE = mips32 || CPU_TYPE = mips64)
2015-11-19 00:09:50 +00:00
config boost-test-pkg
2016-10-09 22:01:07 +00:00
bool "Boost test package."
2016-11-08 23:04:47 +00:00
default m if ALL
2016-10-09 22:01:07 +00:00
select PACKAGE_boost-test
2015-11-23 18:51:54 +00:00
config boost-coroutine2
2017-03-01 12:48:54 +00:00
depends on !@GCC_VERSION_4_8
2016-10-09 22:01:07 +00:00
bool "Boost couroutine2 support."
2017-03-01 12:48:54 +00:00
select PACKAGE_boost-coroutine
default n
2015-11-23 18:51:54 +00:00
config boost-graph-parallel
2016-10-09 22:01:07 +00:00
bool "Boost parallel graph support."
2017-03-01 12:48:54 +00:00
select PACKAGE_boost-graph
default n
2015-11-23 18:51:54 +00:00
$( foreach lib,$( BOOST_LIBS) , \
2016-10-09 22:01:07 +00:00
config PACKAGE_boost-$( lib)
2018-09-24 18:33:39 +00:00
prompt " Boost $( lib) $( if $( findstring python,$( lib) ) ,$( paren_left) v$( if $( findstring 3,$( lib) ) ,$( BOOST_PYTHON3_VER) ,$( BOOST_PYTHON_VER) ) $( paren_right) ,) library. "
2016-11-07 22:05:52 +00:00
default m if ALL
2017-03-01 12:48:54 +00:00
$( if $( findstring locale,$( lib) ) ,depends on BUILD_NLS,) \
2018-09-18 02:46:23 +00:00
$( if $( findstring python,$( lib) ) ,depends on PACKAGE_$( lib) ,) \
2018-09-20 18:24:54 +00:00
$( if $( findstring fiber,$( lib) ) ,depends on ( CPU_TYPE!= mips32 && CPU_TYPE!= mips64) ,)
2015-11-23 18:51:54 +00:00
)
2016-10-09 22:01:07 +00:00
endmenu
2015-02-07 18:37:14 +00:00
e n d e f
2015-03-02 18:21:30 +00:00
PKG_CONFIG_DEPENDS := CONFIG_PACKAGE_boost-test
2015-02-07 18:37:14 +00:00
d e f i n e P a c k a g e / b o o s t - t e s t
2016-10-09 22:01:07 +00:00
$( call Package/boost/Default)
TITLE += ( test )
HIDDEN:= 1
2017-03-01 12:48:54 +00:00
DEPENDS += +boost-system +boost-timer
2015-02-07 18:37:14 +00:00
e n d e f
d e f i n e B u i l d / C o n f i g u r e
e n d e f
2015-03-02 18:21:30 +00:00
# 1: short name
2017-03-01 12:48:54 +00:00
# 2: dependencies on other boost libraries (short name)
2015-03-02 18:21:30 +00:00
# 3: dependencies on other packages
2016-11-07 22:05:52 +00:00
# 4: conditional/inward dependencies
2015-03-02 18:21:30 +00:00
d e f i n e D e f i n e B o o s t L i b r a r y
2016-11-07 22:05:52 +00:00
BOOST_DEPENDS += +$( if $( 4) ,$( 4) :boost-$( 1) ,boost-$( 1) )
2015-03-02 18:21:30 +00:00
PKG_CONFIG_DEPENDS += CONFIG_PACKAGE_boost-$( 1)
2016-11-07 22:05:52 +00:00
BOOST_LIBS += $( 1)
2015-03-02 18:21:30 +00:00
define Package/boost-$( 1)
$( call Package/boost/Default)
TITLE += ( $( 1) )
2017-03-01 12:48:54 +00:00
DEPENDS += $$ ( foreach lib,$( 2) ,+boost-$$ ( lib) ) $( 3) $( if $( 4) ,@$( 4) ,)
2015-03-02 18:21:30 +00:00
HIDDEN:= 1
endef
define Package/boost-$( 1) /description
This package contains the Boost $( 1) library.
endef
e n d e f
2017-03-01 12:48:54 +00:00
$( eval $ ( call DefineBoostLibrary ,atomic ,system ,) )
$( eval $ ( call DefineBoostLibrary ,chrono ,system ,) )
$( eval $ ( call DefineBoostLibrary ,container ,,) )
$( eval $ ( call DefineBoostLibrary ,context ,chrono system thread ,) )
2018-04-16 00:53:38 +00:00
$( eval $ ( call DefineBoostLibrary ,contract ,system ,) )
2017-03-01 12:48:54 +00:00
$( eval $ ( call DefineBoostLibrary ,coroutine ,system chrono context thread ,) )
$( eval $ ( call DefineBoostLibrary ,date_time ,,) )
#$(eval $(call DefineBoostLibrary,exception,,))
2018-09-20 18:24:54 +00:00
$( eval $ ( call DefineBoostLibrary ,fiber ,coroutine filesystem ,,!boost -fiber -exclude ) )
2017-03-01 12:48:54 +00:00
$( eval $ ( call DefineBoostLibrary ,filesystem ,system ,) )
$( eval $ ( call DefineBoostLibrary ,graph ,regex ,) )
2019-01-05 14:42:25 +00:00
$( eval $ ( call DefineBoostLibrary ,iostreams ,,+zlib +liblzma +libbz 2 +zstd ) )
2017-03-01 12:48:54 +00:00
$( eval $ ( call DefineBoostLibrary ,locale ,system ,$ ( ICONV_DEPENDS ) ,BUILD_NLS ) )
$( eval $ ( call DefineBoostLibrary ,log ,system chrono date_time thread filesystem regex ,) )
$( eval $ ( call DefineBoostLibrary ,math ,,) )
#$(eval $(call DefineBoostLibrary,mpi,,)) # OpenMPI does no exist in OpenWRT at this time.
$( eval $ ( call DefineBoostLibrary ,program_options ,,) )
2016-11-07 22:05:52 +00:00
$( eval $ ( call DefineBoostLibrary ,python ,,,PACKAGE_python ) )
$( eval $ ( call DefineBoostLibrary ,python 3,,,PACKAGE_python 3) )
2017-03-01 12:48:54 +00:00
$( eval $ ( call DefineBoostLibrary ,random ,system ,) )
$( eval $ ( call DefineBoostLibrary ,regex ,,) )
$( eval $ ( call DefineBoostLibrary ,serialization ,,) )
2017-08-30 11:20:55 +00:00
$( eval $ ( call DefineBoostLibrary ,wserialization ,serialization ,) )
$( eval $ ( call DefineBoostLibrary ,stacktrace ,,) )
2017-03-01 12:48:54 +00:00
$( eval $ ( call DefineBoostLibrary ,system ,,) )
$( eval $ ( call DefineBoostLibrary ,thread ,system chrono atomic ,) )
$( eval $ ( call DefineBoostLibrary ,timer ,chrono ) )
2017-08-30 11:20:55 +00:00
$( eval $ ( call DefineBoostLibrary ,type_erasure ,chrono system thread ,) )
2017-03-01 12:48:54 +00:00
$( eval $ ( call DefineBoostLibrary ,wave ,date_time thread filesystem ,) )
2015-03-02 18:21:30 +00:00
2018-09-24 18:33:39 +00:00
i n c l u d e $( INCLUDE_DIR ) / h o s t - b u i l d . m k
2015-11-23 18:51:54 +00:00
2015-02-07 18:37:14 +00:00
d e f i n e H o s t / C o m p i l e
2015-12-10 20:56:22 +00:00
# b2 does not provide a configure-script nor a Makefile
2015-02-07 18:37:14 +00:00
( cd $( HOST_BUILD_DIR) /tools/build/src/engine ; ./build.sh gcc )
e n d e f
CONFIGURE_PREFIX := $( PKG_INSTALL_DIR)
TARGET_LDFLAGS += -pthread -lrt
2015-11-23 18:51:54 +00:00
TARGET_CFLAGS += \
$( if $( CONFIG_SOFT_FLOAT) ,-DBOOST_NO_FENV_H) -fPIC
2015-02-20 15:00:27 +00:00
2019-04-15 01:40:01 +00:00
EXTRA_CXXFLAGS += $( if $( CONFIG_GCC_USE_VERSION_5) ,-std= gnu++14,-std= gnu++17)
2016-12-17 16:52:32 +00:00
2015-02-20 15:00:27 +00:00
i f n e q ( $( findstring mips ,$ ( ARCH ) ) , )
2015-03-02 18:21:30 +00:00
BOOST_ABI = o32
ifneq ( $( findstring 64,$( ARCH) ) ,)
BOOST_ABI = o64
2015-02-20 15:00:27 +00:00
endif
2015-03-02 18:21:30 +00:00
e l s e i f n e q ( $( findstring arm ,$ ( ARCH ) ) , )
BOOST_ABI = aapcs
e l s e i f e q ( $( ARCH ) , a a r c h 6 4 )
BOOST_ABI = aapcs
2015-02-20 15:00:27 +00:00
e l s e
2015-03-02 18:21:30 +00:00
BOOST_ABI = sysv
2015-02-20 15:00:27 +00:00
e n d i f
2015-12-10 20:56:22 +00:00
comma := ,
2015-02-20 15:00:27 +00:00
2015-02-07 18:37:14 +00:00
d e f i n e B u i l d / C o m p i l e
2019-04-15 01:40:01 +00:00
$( info Selected Boost API $( BOOST_ABI) for architecture $( ARCH) and cpu type $( CONFIG_CPU_TYPE) $( if $( CONFIG_CPU_SUBTYPE) ,and cpu subtype $( CONFIG_CPU_SUBTYPE) ,) )
2015-02-07 18:37:14 +00:00
( cd $( PKG_BUILD_DIR) ; \
2019-04-15 01:40:01 +00:00
echo " using gcc : $( GCC_VERSION) : $( GNU_TARGET_NAME) -gcc : <compileflags>\" $( TARGET_CFLAGS) \" <cxxflags>\" $( TARGET_CXXFLAGS) $( EXTRA_CXXFLAGS) \" <linkflags>\" $( TARGET_LDFLAGS) \" ; " > \
2018-09-24 18:33:39 +00:00
tools/build/src/user-config.jam ; \
2015-12-10 20:56:22 +00:00
b2 \
$( CONFIGURE_ARGS) \
2015-11-04 20:33:10 +00:00
--ignore-site-config \
2019-04-15 01:40:01 +00:00
--toolset= gcc abi = $( BOOST_ABI) \
2015-02-07 18:37:14 +00:00
--disable-long-double \
2018-12-18 22:52:47 +00:00
$( if $( CONFIG_boost-compile-visibility-global) , visibility = global,) \
$( if $( CONFIG_boost-compile-visibility-protected) , visibility = protected,) \
$( if $( CONFIG_boost-compile-visibility-hidden) , visibility = hidden,) \
2015-12-10 20:56:22 +00:00
$( if $( CONFIG_boost-variant-release) , variant = release,) \
$( if $( CONFIG_boost-variant-debug) , variant = debug,) \
$( if $( CONFIG_boost-variant-profile) , variant = profile,) \
2015-12-07 04:41:07 +00:00
$( if $( CONFIG_boost-use-name-tags) ,--layout= tagged,--layout= system) \
2015-12-10 20:56:22 +00:00
$( if $( CONFIG_boost-build-type-complete) ,--build-type= complete,--build-type= minimal) \
2015-11-25 10:35:47 +00:00
$( if $( CONFIG_boost-shared-libs) ,link= shared,) \
2015-12-10 20:56:22 +00:00
$( if $( CONFIG_boost-static-libs) ,link= static,) \
$( if $( CONFIG_boost-static-and-shared-libs) ,link= static$( comma) shared,) \
2015-11-25 10:35:47 +00:00
$( if $( CONFIG_boost-runtime-shared) ,runtime-link= shared,) \
2015-12-10 20:56:22 +00:00
$( if $( CONFIG_boost-runtime-static) ,runtime-link= static,) \
$( if $( CONFIG_boost-runtime-static-and-shared) ,runtime-link= shared$( comma) static,) \
2015-11-25 10:35:47 +00:00
$( if $( CONFIG_boost-single-thread) ,threading= single,) \
2015-12-07 04:41:07 +00:00
threading = multi \
2015-03-02 18:21:30 +00:00
--without-mpi \
2015-11-23 18:51:54 +00:00
$( if $( CONFIG_boost-graph-parallel) ,,--without-graph_parallel) \
2015-02-07 18:37:14 +00:00
$( if $( CONFIG_PACKAGE_boost-test) ,,--without-test) \
2018-09-24 18:33:39 +00:00
--without-python \
2015-03-02 18:21:30 +00:00
$( foreach lib,$( BOOST_LIBS) , \
2018-09-24 18:33:39 +00:00
$( if $( findstring python,$( lib) ) ,, \
$( if $( CONFIG_PACKAGE_boost-$( lib) ) ,, \
$( if $( findstring wserialization,$( lib) ) ,,--without-$( lib) ) \
2017-10-20 18:03:38 +00:00
) \
2018-09-24 18:33:39 +00:00
) \
2015-03-02 18:21:30 +00:00
) \
2015-11-19 00:09:50 +00:00
$( if $( CONFIG_PACKAGE_boost-locale) ,boost.locale.iconv= on -sICONV_PATH= $( ICONV_PREFIX) boost.locale.posix= $( if $( USE_MUSL) ,on,off) , \
2015-03-02 18:21:30 +00:00
boost.locale.iconv= off) \
2015-02-07 18:37:14 +00:00
\
$( if $( CONFIG_PACKAGE_boost-iostreams) ,-sNO_BZIP2= 1 -sZLIB_INCLUDE= $( STAGING_DIR) /usr/include \
-sZLIB_LIBPATH= $( STAGING_DIR) /usr/lib) \
2017-08-30 11:20:55 +00:00
install ; \
2018-09-24 18:33:39 +00:00
$( if $( CONFIG_PACKAGE_boost-python) , \
2019-04-15 01:40:01 +00:00
echo " using gcc : $( GCC_VERSION) : $( GNU_TARGET_NAME) -gcc : <compileflags>\" $( TARGET_CFLAGS) -I $( STAGING_DIR) /usr/include/python $( BOOST_PYTHON_VER) / \" <cxxflags>\" $( TARGET_CXXFLAGS) $( EXTRA_CXXFLAGS) \" <linkflags>\" $( TARGET_LDFLAGS) \" ; " > \
2018-09-24 18:33:39 +00:00
tools/build/src/user-config.jam ; \
echo " using python : $( BOOST_PYTHON_VER) : : $( STAGING_DIR) /usr/include/python $( BOOST_PYTHON_VER) / : $( STAGING_DIR) /usr/lib/libpython $( BOOST_PYTHON_VER) .so ; " >> \
tools/build/src/user-config.jam; \
b2 -a \
$( CONFIGURE_ARGS) \
--ignore-site-config \
2019-04-15 01:40:01 +00:00
--toolset= gcc abi = $( BOOST_ABI) \
2018-09-24 18:33:39 +00:00
--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-build-type-complete) ,--build-type= complete,--build-type= minimal) \
$( 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-static) ,runtime-link= static,) \
$( if $( CONFIG_boost-runtime-static-and-shared) ,runtime-link= shared$( comma) static,) \
$( if $( CONFIG_boost-single-thread) ,threading= single,) \
threading = multi \
--with-python \
install ; \
,) \
2017-10-20 18:03:38 +00:00
$( if $( CONFIG_PACKAGE_boost-python3) , \
2019-04-15 01:40:01 +00:00
echo " using gcc : $( GCC_VERSION) : $( GNU_TARGET_NAME) -gcc : <compileflags>\" $( TARGET_CFLAGS) -I $( STAGING_DIR) /usr/include/python $( BOOST_PYTHON3_VER) / \" <cxxflags>\" $( TARGET_CXXFLAGS) $( EXTRA_CXXFLAGS) \" <linkflags>\" $( TARGET_LDFLAGS) \" ; " > \
2018-09-24 18:33:39 +00:00
tools/build/src/user-config.jam ; \
echo " using python : $( BOOST_PYTHON3_VER) : : $( STAGING_DIR) /usr/include/python $( BOOST_PYTHON3_VER) / : $( STAGING_DIR) /usr/lib/libpython $( BOOST_PYTHON3_VER) .so ; " >> \
tools/build/src/user-config.jam; \
b2 -a \
2017-10-20 18:03:38 +00:00
$( CONFIGURE_ARGS) \
--ignore-site-config \
2019-04-15 01:40:01 +00:00
--toolset= gcc abi = $( BOOST_ABI) \
2017-10-20 18:03:38 +00:00
--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-build-type-complete) ,--build-type= complete,--build-type= minimal) \
$( 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-static) ,runtime-link= static,) \
$( if $( CONFIG_boost-runtime-static-and-shared) ,runtime-link= shared$( comma) static,) \
$( if $( CONFIG_boost-single-thread) ,threading= single,) \
threading = multi \
2018-09-24 18:33:39 +00:00
--with-python \
2017-10-20 18:03:38 +00:00
install ; \
,) \
2015-02-07 18:37:14 +00:00
)
e n d e f
d e f i n e B u i l d / I n s t a l l D e v
$( INSTALL_DIR) \
$( 1) /usr/include/boost/
$( CP) \
$( PKG_INSTALL_DIR) /include/boost/* \
$( 1) /usr/include/boost/ \
# copies _all_ header files - independent of <--with-library>-argument above
2015-06-29 19:25:34 +00:00
$( INSTALL_DIR) $( 1) /usr/lib
2019-05-08 09:01:45 +00:00
# copies all cmake files, compiled archive and shared object files
$( CP) -v $( PKG_INSTALL_DIR) /lib/{ *.{ a,so*} ,cmake} $( 1) /usr/lib/ || :
2015-02-07 18:37:14 +00:00
e n d e f
d e f i n e H o s t / I n s t a l l
2018-09-24 18:33:39 +00:00
$( INSTALL_DIR) $( STAGING_DIR_HOSTPKG) /bin
$( CP) $( HOST_BUILD_DIR) /tools/build/src/engine/bin.*/b2 $( STAGING_DIR_HOSTPKG) /bin/
2015-02-07 18:37:14 +00:00
e n d e f
d e f i n e P a c k a g e / b o o s t / D e f a u l t / i n s t a l l
2018-09-24 18:33:39 +00:00
$( INSTALL_DIR) $( 1) /usr/lib
$( if $( findstring python,$( 2) ) , $( if $( findstring 3,$( 2) ) , \
$( CP) $( PKG_INSTALL_DIR) /lib/libboost_python3*.so* $( 1) /usr/lib/ , \
$( CP) $( PKG_INSTALL_DIR) /lib/libboost_python2*.so* $( 1) /usr/lib/ ) , \
$( CP) $( PKG_INSTALL_DIR) /lib/libboost_$( 2) *.so* $( 1) /usr/lib/ )
2015-02-07 18:37:14 +00:00
e n d e f
2016-10-09 22:01:07 +00:00
d e f i n e P a c k a g e / b o o s t - t e s t / i n s t a l l
2018-09-24 18:33:39 +00:00
$( INSTALL_DIR) $( 1) /usr/lib
$( CP) $( PKG_INSTALL_DIR) /lib/libboost_unit_test_framework*.so* $( 1) /usr/lib/
$( CP) $( PKG_INSTALL_DIR) /lib/libboost_prg_exec_monitor*.so* $( 1) /usr/lib/
2015-02-07 18:37:14 +00:00
e n d e f
2015-03-02 18:21:30 +00:00
d e f i n e B u i l d B o o s t L i b r a r y
define Package/boost-$( 1) /install
2017-08-30 11:20:55 +00:00
$( call Package/boost/Default/install,$$ ( 1) ,$( 1) )
2015-03-02 18:21:30 +00:00
endef
2015-02-07 18:37:14 +00:00
2015-03-02 18:21:30 +00:00
$$ ( eval $$ ( call BuildPackage,boost-$( 1) ) )
2015-02-20 15:00:27 +00:00
e n d e f
2015-03-02 18:21:30 +00:00
$( eval $ ( call HostBuild ) )
2015-02-20 15:00:27 +00:00
2015-03-02 18:21:30 +00:00
$( foreach lib ,$ ( BOOST_LIBS ) ,$ ( eval $ ( call BuildBoostLibrary ,$ ( lib ) ) ) )
$( eval $ ( call BuildPackage ,boost -test ) )
$( eval $ ( call BuildPackage ,boost -libs ) )
2015-02-07 18:37:14 +00:00
$( eval $ ( call BuildPackage ,boost ) )