|
@@ -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
|