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
:= 8aa4e330c870ef50a896634c931adf468b21f8a69b77007e45c444151229f665
11 PKG_DESCR
:= portable c
++ library
12 PKG_SECTION
:= libs
/misc
13 PKG_BUILDDEP
:= python2-host
15 PKG_URL
:= http
://www.boost.org
/
16 PKG_SITES
:= ${MASTER_SITE_SOURCEFORGE
:=boost
/}
19 DISTFILES
:= boost_
$(PKG_EXTRAVER
)_0.
tar.gz
20 WRKDIST
= ${WRKDIR}/${PKG_NAME}_
$(PKG_EXTRAVER
)_0
22 PKG_FLAVOURS_BOOST
:= DATE_TIME GRAPH GRAPH_PARALLEL IOSTREAMS LOG MATH PROGRAM_OPTIONS PYTHON REGEX SERIALIZATION SIGNALS TEST WAVE
24 PKGFD_DATE_TIME
:= with date-time
25 PKGFD_PYTHON
:= with python
26 PKGFB_PYTHON
:= python2
27 PKGFS_PYTHON
:= python2
28 PKGFD_IOSTREAMS
:= with iostreams
29 PKGFD_GRAPH
:= with graph
30 PKGFD_GRAPH_PARALLEL
:= with graph_parallel
31 PKGFD_MATH
:= with math
33 PKGFD_PROGRAM_OPTIONS
:= with program_options
34 PKGFD_REGEX
:= with regex
35 PKGFD_SERIALIZATION
:= with serialization
36 PKGFD_SIGNALS
:= with signals
37 PKGFD_TEST
:= with
test
38 PKGFD_WAVE
:= with wave
40 include ${ADK_TOPDIR}/mk
/package.mk
42 $(eval
$(call PKG_template
,BOOST
,boost
,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
44 include ${ADK_TOPDIR}/mk
/python.mk
48 INSTALL_STYLE
:= manual
50 CONFIGURE_ARGS
+= --target
=$(GNU_TARGET_NAME
) \
51 --host
=$(GNU_TARGET_NAME
) \
52 --build
=$(GNU_HOST_NAME
) \
53 --prefix=${WRKINST}/usr \
54 --ignore-site-config \
60 ifneq (${ADK_PACKAGE_BOOST_IOSTREAMS},)
61 CONFIGURE_ARGS
+= -sNO_BZIP2
=1 -sZLIB_INCLUDE
=${STAGING_TARGET_DIR}/usr
/include -sZLIB_LIBPATH
=${STAGING_TARGET_DIR}/usr
/lib
63 CONFIGURE_ARGS
+= --without-iostreams
65 ifeq (${ADK_PACKAGE_BOOST_DATE_TIME},)
66 CONFIGURE_ARGS
+= --without-date_time
68 ifeq (${ADK_PACKAGE_BOOST_PYTHON},)
69 CONFIGURE_ARGS
+= --without-python
71 ifeq (${ADK_PACKAGE_BOOST_GRAPH},)
72 CONFIGURE_ARGS
+= --without-graph
74 ifeq (${ADK_PACKAGE_BOOST_LOG},)
75 CONFIGURE_ARGS
+= --without-log
77 ifeq (${ADK_PACKAGE_BOOST_MATH},)
78 CONFIGURE_ARGS
+= --without-math
80 ifeq (${ADK_PACKAGE_BOOST_PROGRAM_OPTIONS},)
81 CONFIGURE_ARGS
+= --without-program_options
83 ifeq (${ADK_PACKAGE_BOOST_REGEX},)
84 CONFIGURE_ARGS
+= --without-regex
86 ifeq (${ADK_PACKAGE_BOOST_SERIALIZATION},)
87 CONFIGURE_ARGS
+= --without-serialization
89 ifeq (${ADK_PACKAGE_BOOST_SIGNALS},)
90 CONFIGURE_ARGS
+= --without-signals
92 ifeq (${ADK_PACKAGE_BOOST_TEST},)
93 CONFIGURE_ARGS
+= --without-test
95 ifeq (${ADK_PACKAGE_BOOST_WAVE},)
96 CONFIGURE_ARGS
+= --without-wave
99 ifeq ($(ADK_TARGET_ARCH
),arm
)
100 BOOST_ARCH
:= architecture
=arm
102 ifeq ($(ADK_TARGET_CPU_MIPS_MIPS32
),y
)
103 BOOST_ARCH
:= architecture
=mips32
105 ifeq ($(ADK_TARGET_CPU_MIPS_MIPS32R2
),y
)
106 BOOST_ARCH
:= architecture
=mips32r2
108 ifeq ($(ADK_TARGET_ARCH
),mips64
)
109 BOOST_ARCH
:= architecture
=mips64
111 ifeq ($(ADK_TARGET_ARCH
),ppc
)
112 BOOST_ARCH
:= architecture
=power
114 ifeq ($(ADK_TARGET_ARCH
),sparc
)
115 BOOST_ARCH
:= architecture
=sparc
117 ifeq ($(ADK_TARGET_ARCH
),x86_64
)
118 BOOST_ARCH
:= architecture
=x86
121 ifeq ($(ADK_TARGET_ARCH
),arm
)
122 BOOST_ABI
:= abi
=aapcs
124 ifeq ($(ADK_TARGET_ARCH
),mips
)
128 # some variables for build
129 GPP_PATH
:= ${TOOLCHAIN_DIR}/usr
/bin
/${GNU_TARGET_NAME}-g
++
130 GPP_VERSION
:= "`${GPP_PATH} -v 2>&1 | tail -1 | awk '{print $$3}'`"
131 BJAM_PATH
:= "`find ${WRKBUILD} -type f -name "bjam
$(EXEEXT
)"`"
132 PYTHON_PATH
:= ${STAGING_HOST_DIR}/usr
/bin
/python
133 PYTHON_INCLUDE
:="`find ${STAGING_TARGET_DIR}/usr/include/ -maxdepth 1 -type d -name "python
*" | head -1`"
134 PYTHON_LIB
:= "`find ${STAGING_TARGET_DIR}/usr/lib/ -maxdepth 1 -type d -name "python
*" | head -1`"
135 USER_JAM
:= ${WRKBUILD}/tools
/build
/user-config.jam
137 ifeq ($(ADK_TARGET_USE_STATIC_LIBS_ONLY
)$(ADK_TARGET_BINFMT_FLAT
),y
)
144 @echo
"build bjam..."
145 cd
$(WRKBUILD
)/tools
/build
/src
/engine
; .
/build.sh gcc
148 @echo
"build boost library..."
149 echo
"using gcc : ${GPP_VERSION} : ${GPP_PATH} : <compileflags>\"${TARGET_CFLAGS}\" ;" > ${USER_JAM};
150 ifneq (${ADK_PACKAGE_BOOST_PYTHON},)
151 echo
"using python : ${PYTHON_VERSION} : ${PYTHON_PATH} : ${PYTHON_INCLUDE} : ${PYTHON_LIB} ;" >> ${USER_JAM};
160 runtime-link
=$(LINKMODE
) \
164 toolset
=gcc-
${GPP_VERSION} \
165 --user-config
=${USER_JAM} \
167 --disable-long-double \
173 ${INSTALL_DIR} ${IDIR_BOOST}/usr
/lib
174 ${CP} ${WRKINST}/usr
/lib
/*.so
* ${IDIR_BOOST}/usr
/lib
176 include ${ADK_TOPDIR}/mk
/pkg-bottom.mk