summaryrefslogtreecommitdiff
path: root/package
diff options
context:
space:
mode:
Diffstat (limited to 'package')
-rw-r--r--package/boost/Makefile163
1 files changed, 163 insertions, 0 deletions
diff --git a/package/boost/Makefile b/package/boost/Makefile
new file mode 100644
index 000000000..c5e15cb31
--- /dev/null
+++ b/package/boost/Makefile
@@ -0,0 +1,163 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include ${TOPDIR}/rules.mk
+
+PKG_NAME:= boost
+PKG_VERSION:= 1_47_0
+PKG_RELEASE:= 1
+PKG_MD5SUM:= ff180a5276bec773a7625cac7e2288e8
+PKG_DESCR:= boost C++ library
+PKG_SECTION:= libs
+PKG_URL:= http://www.boost.org/
+PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=boost/}
+DISTFILES:= boost_1_47_0.tar.gz
+WRKDIST= ${WRKDIR}/${PKG_NAME}_${PKG_VERSION}
+
+PKG_SUBPKGS:= BOOST BOOST_DEV
+PKG_CHOICES_BOOST:= STATIC SHARED BOTH
+PKGCD_STATIC:= install static libs
+PKGCD_SHARED:= install shared libs
+PKGCD_BOTH:= install static and shared libs
+PKGSD_BOOST_DEV:= boost header files
+PKGSC_BOOST_DEV:= devel
+
+PKG_FLAVOURS_BOOST:= date_time graph graph_parallel iostreams math program_options python regex serialization signals system test thread wave
+
+PKGFD_date_time:= with date-time
+PKGFD_python:= with Python
+PKGFB_python:= python
+PKGFS_python:= python
+PKGFD_iostreams:= with iostreams
+PKGFD_graph:= with graph
+PKGFD_graph_parallel:= with graph_parallel
+PKGFD_math:= with math
+PKGFD_program_options:= with program_options
+PKGFD_regex:= with regex
+PKGFD_serialization:= with serialization
+PKGFD_signals:= with signals
+PKGFD_system:= with system
+PKGFD_test:= with test
+PKGFD_thread:= with thread
+PKGFD_wave:= with wave
+
+include ${TOPDIR}/mk/package.mk
+
+$(eval $(call PKG_template,BOOST,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+
+CONFIG_STYLE:= manual
+BUILD_STYLE:= manual
+INSTALL_STYLE:= manual
+
+CONFIGURE_ARGS += \
+ --target=$(GNU_TARGET_NAME) \
+ --host=$(GNU_TARGET_NAME) \
+ --build=$(GNU_HOST_NAME) \
+ --prefix=${WRKINST}/usr \
+
+ifneq (${ADK_PACKAGE_BOOST_IOSTREAMS},)
+ CONFIGURE_ARGS += -sNO_BZIP2=1 -sZLIB_INCLUDE=${STAGING_DIR}/usr/include -sZLIB_LIBPATH=${STAGING_DIR}/usr/lib
+else
+ CONFIGURE_ARGS += --without-iostreams
+endif
+ifeq (${ADK_PACKAGE_BOOST_DATE_TIME},)
+ CONFIGURE_ARGS+=--without-date_time
+endif
+ifeq (${ADK_PACKAGE_BOOST_PYTHON},)
+ CONFIGURE_ARGS+=--without-python
+endif
+ifeq (${ADK_PACKAGE_BOOST_GRAPH},)
+ CONFIGURE_ARGS+=--without-graph
+endif
+ifeq (${ADK_PACKAGE_BOOST_math},)
+ CONFIGURE_ARGS+=--without-math
+endif
+ifeq (${ADK_PACKAGE_BOOST_PROGRAM_OPTIONS},)
+ CONFIGURE_ARGS+=--without-program_options
+endif
+ifeq (${ADK_PACKAGE_BOOST_REGEX},)
+ CONFIGURE_ARGS+=--without-regex
+endif
+ifeq (${ADK_PACKAGE_BOOST_SERIALIZATION},)
+ CONFIGURE_ARGS+=--without-serialization
+endif
+ifeq (${ADK_PACKAGE_BOOST_SIGNALS},)
+ CONFIGURE_ARGS+=--without-signals
+endif
+ifeq (${ADK_PACKAGE_BOOST_SYSTEM},)
+ CONFIGURE_ARGS+=--without-system
+endif
+ifeq (${ADK_PACKAGE_BOOST_TEST},)
+ CONFIGURE_ARGS+=--without-test
+endif
+ifeq (${ADK_PACKAGE_BOOST_THREAD},)
+ CONFIGURE_ARGS+=--without-thread
+endif
+ifeq (${ADK_PACKAGE_BOOST_WAVE},)
+ CONFIGURE_ARGS+=--without-wave
+endif
+
+# some variables for build
+GPP_PATH:= ${STAGING_HOST_DIR}/bin/${GNU_TARGET_NAME}-g++
+GPP_VERSION:= "`${GPP_PATH} -v 2>&1 | tail -1 | awk '{print $$3}'`"
+BJAM_PATH:= "`find ${WRKBUILD} -type f -name "bjam"`"
+PYTHON_PATH:= ${STAGING_TARGET_DIR}/usr/bin/python
+PYTHON_INCLUDE:= "`find ${STAGING_TARGET_DIR}/usr/include/ -maxdepth 1 -type d -name "python*" | head -1`"
+PYTHON_LIB:= "`find ${STAGING_TARGET_DIR}/usr/lib/ -maxdepth 1 -type d -name "python*" | head -1`"
+USER_JAM:= ${WRKBUILD}/tools/build/v2/user-config.jam
+
+pre-build:
+ @echo "build bjam..."
+ cd $(WRKBUILD)/tools/build/v2/engine; ./build.sh gcc
+
+do-build:
+ @echo "build boost library..."
+# remove exisiting using gcc line from user.jam
+ifeq (`grep "^using gcc" ${USER_JAM} | wc -l`, 0)
+ ${SED} "/^using gcc/d" ${USER_JAM}
+endif
+# add using gcc line with determined options to user.jam
+ echo "using gcc : ${GPP_VERSION} : ${GPP_PATH} ;" >> ${USER_JAM};
+
+# remove exisiting using python line from user.jam
+ifeq (`grep "^using python" ${USER_JAM} | wc -l`, 0)
+ ${SED} "/^using python/d" ${USER_JAM}
+endif
+ifneq (${ADK_PACKAGE_BOOST_PYTHON},)
+# add using python line with determined options to user.jam
+ echo "using python : ${PYTHON_VERSION} : ${PYTHON_PATH} : ${PYTHON_INCLUDE} : ${PYTHON_LIB} ;" >> ${USER_JAM};
+endif
+
+# run bjam to build boost
+ ( cd ${WRKBUILD}; \
+ ${BJAM_PATH} \
+ -sBUILD=release \
+ --toolset=gcc-${GPP_VERSION} \
+ --build-type=minimal \
+ --layout=versioned \
+ --disable-long-double \
+ --without-mpi \
+ ${CONFIGURE_ARGS} \
+ install \
+ )
+
+do-install:
+ifneq (${ADK_PACKAGE_BOOST_SHARED},)
+ ${INSTALL_DIR} ${IDIR_BOOST}/usr/include
+ ${CP} ${WRKINST}/usr/include/* ${IDIR_BOOST}/usr/include
+endif
+ifneq (${ADK_PACKAGE_BOOST_SHARED},)
+ ${INSTALL_DIR} ${IDIR_BOOST}/usr/lib
+ ${CP} ${WRKINST}/usr/lib/*.so* ${IDIR_BOOST}/usr/lib
+endif
+ifneq (${ADK_PACKAGE_BOOST_STATIC},)
+ ${INSTALL_DIR} ${IDIR_BOOST}/usr/lib
+ ${CP} ${WRKINST}/usr/lib/*.a ${IDIR_BOOST}/usr/lib
+endif
+ifneq (${ADK_PACKAGE_BOOST_BOTH},)
+ ${INSTALL_DIR} ${IDIR_BOOST}/usr/lib
+ ${CP} ${WRKINST}/usr/lib/*.a ${IDIR_BOOST}/usr/lib
+ ${CP} ${WRKINST}/usr/lib/*.so* ${IDIR_BOOST}/usr/lib
+endif
+
+include ${TOPDIR}/mk/pkg-bottom.mk