script not used, cleanup
[openadk.git] / package / boost / Makefile
blobed18cccb0c6dc180402361fe001c94e5538d4642
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.61.0
8 PKG_EXTRAVER:= 1_61
9 PKG_RELEASE:= 2
10 PKG_HASH:= a77c7cc660ec02704c6884fbb20c552d52d60a18f26573c9cee0788bf00ed7e6
11 PKG_DESCR:= portable c++ library
12 PKG_SECTION:= libs/misc
13 PKG_BUILDDEP:= python2-host
14 PKG_NEEDS:= c++
15 PKG_URL:= http://www.boost.org/
16 PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=boost/}
17 PKG_OPTS:= dev
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
32 PKGFD_LOG:= with log
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
46 CONFIG_STYLE:= manual
47 BUILD_STYLE:= manual
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 \
55 --without-mpi \
56 --without-context \
57 --without-coroutine \
58 --without-coroutine2 \
59 --without-locale
61 ifneq (${ADK_PACKAGE_BOOST_IOSTREAMS},)
62 CONFIGURE_ARGS+= -sNO_BZIP2=1 -sZLIB_INCLUDE=${STAGING_TARGET_DIR}/usr/include -sZLIB_LIBPATH=${STAGING_TARGET_DIR}/usr/lib
63 else
64 CONFIGURE_ARGS+= --without-iostreams
65 endif
66 ifeq (${ADK_PACKAGE_BOOST_DATE_TIME},)
67 CONFIGURE_ARGS+= --without-date_time
68 endif
69 ifeq (${ADK_PACKAGE_BOOST_PYTHON},)
70 CONFIGURE_ARGS+= --without-python
71 endif
72 ifeq (${ADK_PACKAGE_BOOST_GRAPH},)
73 CONFIGURE_ARGS+= --without-graph
74 endif
75 ifeq (${ADK_PACKAGE_BOOST_LOG},)
76 CONFIGURE_ARGS+= --without-log
77 endif
78 ifeq (${ADK_PACKAGE_BOOST_MATH},)
79 CONFIGURE_ARGS+= --without-math
80 endif
81 ifeq (${ADK_PACKAGE_BOOST_PROGRAM_OPTIONS},)
82 CONFIGURE_ARGS+= --without-program_options
83 endif
84 ifeq (${ADK_PACKAGE_BOOST_REGEX},)
85 CONFIGURE_ARGS+= --without-regex
86 endif
87 ifeq (${ADK_PACKAGE_BOOST_SERIALIZATION},)
88 CONFIGURE_ARGS+= --without-serialization
89 endif
90 ifeq (${ADK_PACKAGE_BOOST_SIGNALS},)
91 CONFIGURE_ARGS+= --without-signals
92 endif
93 ifeq (${ADK_PACKAGE_BOOST_TEST},)
94 CONFIGURE_ARGS+= --without-test
95 endif
96 ifeq (${ADK_PACKAGE_BOOST_WAVE},)
97 CONFIGURE_ARGS+= --without-wave
98 endif
100 ifeq ($(ADK_TARGET_ARCH),arm)
101 BOOST_ARCH:= architecture=arm
102 endif
103 ifeq ($(ADK_TARGET_CPU_MIPS_MIPS32),y)
104 BOOST_ARCH:= architecture=mips32
105 endif
106 ifeq ($(ADK_TARGET_CPU_MIPS_MIPS32R2),y)
107 BOOST_ARCH:= architecture=mips32r2
108 endif
109 ifeq ($(ADK_TARGET_ARCH),mips64)
110 BOOST_ARCH:= architecture=mips64
111 endif
112 ifeq ($(ADK_TARGET_ARCH),ppc)
113 BOOST_ARCH:= architecture=power
114 endif
115 ifeq ($(ADK_TARGET_ARCH),sparc)
116 BOOST_ARCH:= architecture=sparc
117 endif
118 ifeq ($(ADK_TARGET_ARCH),x86_64)
119 BOOST_ARCH:= architecture=x86
120 endif
122 ifeq ($(ADK_TARGET_ARCH),arm)
123 BOOST_ABI:= abi=aapcs
124 endif
125 ifeq ($(ADK_TARGET_ARCH),mips)
126 BOOST_ABI:= abi=o32
127 endif
129 # some variables for build
130 GPP_PATH:= ${TOOLCHAIN_DIR}/usr/bin/${GNU_TARGET_NAME}-g++
131 GPP_VERSION:= "`${GPP_PATH} -v 2>&1 | tail -1 | awk '{print $$3}'`"
132 BJAM_PATH:= "`find ${WRKBUILD} -type f -name "bjam$(EXEEXT)"`"
133 PYTHON_PATH:= ${STAGING_HOST_DIR}/usr/bin/python
134 PYTHON_INCLUDE:="`find ${STAGING_TARGET_DIR}/usr/include/ -maxdepth 1 -type d -name "python*" | head -1`"
135 PYTHON_LIB:= "`find ${STAGING_TARGET_DIR}/usr/lib/ -maxdepth 1 -type d -name "python*" | head -1`"
136 USER_JAM:= ${WRKBUILD}/tools/build/user-config.jam
138 ifeq ($(ADK_TARGET_USE_STATIC_LIBS)$(ADK_TARGET_BINFMT_FLAT),y)
139 LINKMODE:= static
140 else
141 LINKMODE:= shared
142 endif
144 pre-build:
145 @echo "build bjam..."
146 cd $(WRKBUILD)/tools/build/src/engine; ./build.sh gcc
148 do-build:
149 @echo "build boost library..."
150 echo "using gcc : ${GPP_VERSION} : ${GPP_PATH} : <compileflags>\"${TARGET_CFLAGS}\" ;" > ${USER_JAM};
151 ifneq (${ADK_PACKAGE_BOOST_PYTHON},)
152 echo "using python : ${PYTHON_VERSION} : ${PYTHON_PATH} : ${PYTHON_INCLUDE} : ${PYTHON_LIB} ;" >> ${USER_JAM};
153 endif
154 (cd ${WRKBUILD}; \
155 ${BJAM_PATH} \
156 -d 2 \
157 target-os=linux \
158 variant=release \
159 threading=multi \
160 link=$(LINKMODE) \
161 runtime-link=$(LINKMODE) \
162 $(BOOST_ARCH) \
163 $(BOOST_ABI) \
164 binary-format=elf \
165 toolset=gcc-${GPP_VERSION} \
166 --user-config=${USER_JAM} \
167 --layout=system \
168 --disable-long-double \
169 ${CONFIGURE_ARGS} \
170 install \
173 boost-install:
174 ${INSTALL_DIR} ${IDIR_BOOST}/usr/lib
175 ${CP} ${WRKINST}/usr/lib/*.so* ${IDIR_BOOST}/usr/lib
177 include ${ADK_TOPDIR}/mk/pkg-bottom.mk