1 # This file is part of the OpenADK project. OpenADK is copyrighted
2 # material, please see the LICENCE file in the top-level directory.
4 include ${ADK_TOPDIR}/rules.mk
10 PKG_HASH
:= a004d9b3fa95e956383693b86fce1b68805a6f71c2e68944fa813de0fb8c8102
11 PKG_DESCR
:= portable c
++ library
12 PKG_SECTION
:= libs
/misc
13 PKG_BUILDDEP
:= python2-host
14 PKG_URL
:= http
://www.boost.org
/
15 PKG_SITES
:= ${MASTER_SITE_SOURCEFORGE
:=boost
/}
18 PKG_ARCH_DEPENDS
:= !m68k
20 DISTFILES
:= boost_
$(PKG_EXTRAVER
)_0.
tar.gz
21 WRKDIST
= ${WRKDIR}/${PKG_NAME}_
$(PKG_EXTRAVER
)_0
23 PKG_FLAVOURS_BOOST
:= DATE_TIME GRAPH GRAPH_PARALLEL IOSTREAMS LOG MATH PROGRAM_OPTIONS PYTHON REGEX SERIALIZATION SIGNALS TEST WAVE
25 PKGFD_DATE_TIME
:= with date-time
26 PKGFD_PYTHON
:= with python
27 PKGFB_PYTHON
:= python2
28 PKGFS_PYTHON
:= python2
29 PKGFD_IOSTREAMS
:= with iostreams
30 PKGFD_GRAPH
:= with graph
31 PKGFD_GRAPH_PARALLEL
:= with graph_parallel
32 PKGFD_MATH
:= with math
34 PKGFD_PROGRAM_OPTIONS
:= with program_options
35 PKGFD_REGEX
:= with regex
36 PKGFD_SERIALIZATION
:= with serialization
37 PKGFD_SIGNALS
:= with signals
38 PKGFD_TEST
:= with
test
39 PKGFD_WAVE
:= with wave
41 include ${ADK_TOPDIR}/mk
/package.mk
43 $(eval
$(call PKG_template
,BOOST
,boost
,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
45 include ${ADK_TOPDIR}/mk
/python.mk
49 INSTALL_STYLE
:= manual
51 CONFIGURE_ARGS
+= --target
=$(GNU_TARGET_NAME
) \
52 --host
=$(GNU_TARGET_NAME
) \
53 --build
=$(GNU_HOST_NAME
) \
54 --prefix=${WRKINST}/usr \
55 --ignore-site-config \
59 ifneq (${ADK_PACKAGE_BOOST_IOSTREAMS},)
60 CONFIGURE_ARGS
+= -sNO_BZIP2
=1 -sZLIB_INCLUDE
=${STAGING_TARGET_DIR}/usr
/include -sZLIB_LIBPATH
=${STAGING_TARGET_DIR}/usr
/lib
62 CONFIGURE_ARGS
+= --without-iostreams
64 ifeq (${ADK_PACKAGE_BOOST_DATE_TIME},)
65 CONFIGURE_ARGS
+= --without-date_time
67 ifeq (${ADK_PACKAGE_BOOST_PYTHON},)
68 CONFIGURE_ARGS
+= --without-python
70 ifeq (${ADK_PACKAGE_BOOST_GRAPH},)
71 CONFIGURE_ARGS
+= --without-graph
73 ifeq (${ADK_PACKAGE_BOOST_LOG},)
74 CONFIGURE_ARGS
+= --without-log
76 ifeq (${ADK_PACKAGE_BOOST_MATH},)
77 CONFIGURE_ARGS
+= --without-math
79 ifeq (${ADK_PACKAGE_BOOST_PROGRAM_OPTIONS},)
80 CONFIGURE_ARGS
+= --without-program_options
82 ifeq (${ADK_PACKAGE_BOOST_REGEX},)
83 CONFIGURE_ARGS
+= --without-regex
85 ifeq (${ADK_PACKAGE_BOOST_SERIALIZATION},)
86 CONFIGURE_ARGS
+= --without-serialization
88 ifeq (${ADK_PACKAGE_BOOST_SIGNALS},)
89 CONFIGURE_ARGS
+= --without-signals
91 ifeq (${ADK_PACKAGE_BOOST_TEST},)
92 CONFIGURE_ARGS
+= --without-test
94 ifeq (${ADK_PACKAGE_BOOST_WAVE},)
95 CONFIGURE_ARGS
+= --without-wave
98 ifeq ($(ADK_TARGET_ARCH
),x86_64
)
100 else ifeq ($(ADK_TARGET_ARCH
),ppc
)
103 BOOST_ARCH
:= $(ADK_TARGET_ARCH
)
105 ifeq ($(ADK_TARGET_ARCH
),arm
)
106 BOOST_ABI
:= abi
=aapcs
109 # some variables for build
110 GPP_PATH
:= ${TOOLCHAIN_DIR}/usr
/bin
/${GNU_TARGET_NAME}-g
++
111 GPP_VERSION
:= "`${GPP_PATH} -v 2>&1 | tail -1 | awk '{print $$3}'`"
112 BJAM_PATH
:= "`find ${WRKBUILD} -type f -name "bjam
$(EXEEXT
)"`"
113 PYTHON_PATH
:= ${STAGING_HOST_DIR}/usr
/bin
/python
114 PYTHON_INCLUDE
:="`find ${STAGING_TARGET_DIR}/usr/include/ -maxdepth 1 -type d -name "python
*" | head -1`"
115 PYTHON_LIB
:= "`find ${STAGING_TARGET_DIR}/usr/lib/ -maxdepth 1 -type d -name "python
*" | head -1`"
116 USER_JAM
:= ${WRKBUILD}/tools
/build
/user-config.jam
119 @echo
"build bjam..."
120 cd
$(WRKBUILD
)/tools
/build
/src
/engine
; .
/build.sh gcc
123 @echo
"build boost library..."
124 echo
"using gcc : ${GPP_VERSION} : ${GPP_PATH} : <compileflags>\"${TARGET_CFLAGS}\" ;" > ${USER_JAM};
125 ifneq (${ADK_PACKAGE_BOOST_PYTHON},)
126 echo
"using python : ${PYTHON_VERSION} : ${PYTHON_PATH} : ${PYTHON_INCLUDE} : ${PYTHON_LIB} ;" >> ${USER_JAM};
134 runtime-link
=shared \
135 architecture
=$(BOOST_ARCH
) \
138 toolset
=gcc-
${GPP_VERSION} \
139 --user-config
=${USER_JAM} \
141 --disable-long-double \
147 ${INSTALL_DIR} ${IDIR_BOOST}/usr
/lib
148 ${CP} ${WRKINST}/usr
/lib
/*.so
* ${IDIR_BOOST}/usr
/lib
150 include ${ADK_TOPDIR}/mk
/pkg-bottom.mk