123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162 |
- # 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_ARCH_DEPENDS:= !mips
- PKG_SUBPKGS:= BOOST BOOST_DEV
- PKGSD_BOOST_DEV:= boost header files
- PKGSC_BOOST_DEV:= devel
- PKG_CHOICES_BOOST:= STATIC SHARED BOTH
- PKGCD_STATIC:= install static libs
- PKGCD_SHARED:= install shared libs
- PKGCD_BOTH:= install static and shared libs
- 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:= python2
- PKGFS_python:= python2
- 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}))
- $(eval $(call PKG_template,BOOST_DEV,boost-dev,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_BOOST_DEV},${PKGSC_BOOST_DEV}))
- 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
- ${SED} "/^using gcc/d" ${USER_JAM}
- # 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
- ${SED} "/^using python/d" ${USER_JAM}
- 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 \
- )
- boost-install:
- ${INSTALL_DIR} ${IDIR_BOOST}/usr/lib
- ifneq (${ADK_PACKAGE_BOOST_SHARED},)
- ${CP} ${WRKINST}/usr/lib/*.so* ${IDIR_BOOST}/usr/lib
- endif
- ifneq (${ADK_PACKAGE_BOOST_STATIC},)
- ${CP} ${WRKINST}/usr/lib/*.a ${IDIR_BOOST}/usr/lib
- endif
- ifneq (${ADK_PACKAGE_BOOST_BOTH},)
- ${CP} ${WRKINST}/usr/lib/*.a ${IDIR_BOOST}/usr/lib
- ${CP} ${WRKINST}/usr/lib/*.so* ${IDIR_BOOST}/usr/lib
- endif
- boost-dev-install:
- ${INSTALL_DIR} ${IDIR_BOOST_DEV}/usr/include
- ${CP} ${WRKINST}/usr/include/* ${IDIR_BOOST_DEV}/usr/include
- include ${TOPDIR}/mk/pkg-bottom.mk
|