From b5b6c80366e4d2604278f7359cde759059fe2a8f Mon Sep 17 00:00:00 2001 From: Tobias Breckle Date: Mon, 5 Sep 2011 00:21:37 +0200 Subject: added boost c++ library package --- package/boost/Makefile | 163 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 163 insertions(+) create mode 100644 package/boost/Makefile (limited to 'package') 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 -- cgit v1.2.3