update lua to latest stable version
[openadk.git] / package / boost / Makefile
blob91240a58a3beadb1770d120c4ce37ee3dcd8b82a
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
6 PKG_NAME:= boost
7 PKG_VERSION:= 1.58.0
8 PKG_EXTRAVER:= 1_58
9 PKG_RELEASE:= 1
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/}
16 PKG_OPTS:= dev
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
33 PKGFD_LOG:= with log
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
47 CONFIG_STYLE:= manual
48 BUILD_STYLE:= manual
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 \
56 --without-mpi \
57 --without-locale
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
61 else
62 CONFIGURE_ARGS+= --without-iostreams
63 endif
64 ifeq (${ADK_PACKAGE_BOOST_DATE_TIME},)
65 CONFIGURE_ARGS+= --without-date_time
66 endif
67 ifeq (${ADK_PACKAGE_BOOST_PYTHON},)
68 CONFIGURE_ARGS+= --without-python
69 endif
70 ifeq (${ADK_PACKAGE_BOOST_GRAPH},)
71 CONFIGURE_ARGS+= --without-graph
72 endif
73 ifeq (${ADK_PACKAGE_BOOST_LOG},)
74 CONFIGURE_ARGS+= --without-log
75 endif
76 ifeq (${ADK_PACKAGE_BOOST_MATH},)
77 CONFIGURE_ARGS+= --without-math
78 endif
79 ifeq (${ADK_PACKAGE_BOOST_PROGRAM_OPTIONS},)
80 CONFIGURE_ARGS+= --without-program_options
81 endif
82 ifeq (${ADK_PACKAGE_BOOST_REGEX},)
83 CONFIGURE_ARGS+= --without-regex
84 endif
85 ifeq (${ADK_PACKAGE_BOOST_SERIALIZATION},)
86 CONFIGURE_ARGS+= --without-serialization
87 endif
88 ifeq (${ADK_PACKAGE_BOOST_SIGNALS},)
89 CONFIGURE_ARGS+= --without-signals
90 endif
91 ifeq (${ADK_PACKAGE_BOOST_TEST},)
92 CONFIGURE_ARGS+= --without-test
93 endif
94 ifeq (${ADK_PACKAGE_BOOST_WAVE},)
95 CONFIGURE_ARGS+= --without-wave
96 endif
98 ifeq ($(ADK_TARGET_ARCH),x86_64)
99 BOOST_ARCH:= x86
100 else ifeq ($(ADK_TARGET_ARCH),ppc)
101 BOOST_ARCH:= power
102 else
103 BOOST_ARCH:= $(ADK_TARGET_ARCH)
104 endif
105 ifeq ($(ADK_TARGET_ARCH),arm)
106 BOOST_ABI:= abi=aapcs
107 endif
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
118 pre-build:
119 @echo "build bjam..."
120 cd $(WRKBUILD)/tools/build/src/engine; ./build.sh gcc
122 do-build:
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};
127 endif
128 (cd ${WRKBUILD}; \
129 ${BJAM_PATH} \
130 -d 2 \
131 target-os=linux \
132 variant=release \
133 link=shared \
134 runtime-link=shared \
135 architecture=$(BOOST_ARCH) \
136 $(BOOST_ABI) \
137 binary-format=elf \
138 toolset=gcc-${GPP_VERSION} \
139 --user-config=${USER_JAM} \
140 --layout=system \
141 --disable-long-double \
142 ${CONFIGURE_ARGS} \
143 install \
146 boost-install:
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