summaryrefslogtreecommitdiff
path: root/package/boost/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'package/boost/Makefile')
-rw-r--r--package/boost/Makefile214
1 files changed, 117 insertions, 97 deletions
diff --git a/package/boost/Makefile b/package/boost/Makefile
index 4bd6b2c44..4bd846e0f 100644
--- a/package/boost/Makefile
+++ b/package/boost/Makefile
@@ -1,162 +1,182 @@
# 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
+include ${ADK_TOPDIR}/rules.mk
PKG_NAME:= boost
-PKG_VERSION:= 1_47_0
+PKG_VERSION:= 1.84.0
+PKG_EXTRAVER:= 1_84
PKG_RELEASE:= 1
-PKG_MD5SUM:= ff180a5276bec773a7625cac7e2288e8
-PKG_DESCR:= boost C++ library
-PKG_SECTION:= libs
+PKG_HASH:= a5800f405508f5df8114558ca9855d2640a2de8f0445f051fa1c7c3383045724
+PKG_DESCR:= portable c++ library
+PKG_SECTION:= libs/misc
+PKG_BUILDDEP:= python3-host
+PKG_NEEDS:= c++
PKG_URL:= http://www.boost.org/
PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=boost/}
+PKG_OPTS:= dev
-DISTFILES:= boost_1_47_0.tar.gz
-WRKDIST= ${WRKDIR}/${PKG_NAME}_${PKG_VERSION}
+DISTFILES:= boost_$(PKG_EXTRAVER)_0.tar.gz
+WRKDIST= ${WRKDIR}/${PKG_NAME}_$(PKG_EXTRAVER)_0
-PKG_ARCH_DEPENDS:= !mips
+PKG_FLAVOURS_BOOST:= DATE_TIME JSON GRAPH GRAPH_PARALLEL IOSTREAMS LOG MATH PROGRAM_OPTIONS PYTHON REGEX SERIALIZATION TEST WAVE
-PKG_SUBPKGS:= BOOST BOOST_DEV
-PKGSD_BOOST_DEV:= boost header files
-PKGSC_BOOST_DEV:= devel
+PKGFD_DATE_TIME:= with date-time
+PKGFD_JSON:= with json
+PKGFD_PYTHON:= with python
+PKGFB_PYTHON:= python3
+PKGFS_PYTHON:= python3
+PKGFD_IOSTREAMS:= with iostreams
+PKGFD_GRAPH:= with graph
+PKGFD_GRAPH_PARALLEL:= with graph_parallel
+PKGFD_MATH:= with math
+PKGFD_LOG:= with log
+PKGFD_PROGRAM_OPTIONS:= with program_options
+PKGFD_REGEX:= with regex
+PKGFD_SERIALIZATION:= with serialization
+PKGFD_TEST:= with test
+PKGFD_WAVE:= with wave
-PKG_CHOICES_BOOST:= STATIC SHARED BOTH
-PKGCD_STATIC:= install static libs
-PKGCD_SHARED:= install shared libs
-PKGCD_BOTH:= install static and shared libs
+include ${ADK_TOPDIR}/mk/package.mk
-PKG_FLAVOURS_BOOST:= date_time graph graph_parallel iostreams math program_options python regex serialization signals system test thread wave
+$(eval $(call PKG_template,BOOST,boost,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
-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}))
+include ${ADK_TOPDIR}/mk/python3.mk
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 \
+CONFIGURE_ARGS+= --target=$(GNU_TARGET_NAME) \
+ --host=$(GNU_TARGET_NAME) \
+ --build=$(GNU_HOST_NAME) \
+ --prefix=${WRKINST}/usr \
+ --ignore-site-config \
+ --without-mpi \
+ --without-context \
+ --without-coroutine \
+ --without-locale
ifneq (${ADK_PACKAGE_BOOST_IOSTREAMS},)
- CONFIGURE_ARGS += -sNO_BZIP2=1 -sZLIB_INCLUDE=${STAGING_DIR}/usr/include -sZLIB_LIBPATH=${STAGING_DIR}/usr/lib
+CONFIGURE_ARGS+= -sNO_BZIP2=1 -sZLIB_INCLUDE=${STAGING_TARGET_DIR}/usr/include -sZLIB_LIBPATH=${STAGING_TARGET_DIR}/usr/lib
else
- CONFIGURE_ARGS += --without-iostreams
+CONFIGURE_ARGS+= --without-iostreams
endif
ifeq (${ADK_PACKAGE_BOOST_DATE_TIME},)
- CONFIGURE_ARGS+=--without-date_time
+CONFIGURE_ARGS+= --without-date_time
+endif
+ifeq (${ADK_PACKAGE_BOOST_JSON},)
+CONFIGURE_ARGS+= --without-json
endif
ifeq (${ADK_PACKAGE_BOOST_PYTHON},)
- CONFIGURE_ARGS+=--without-python
+CONFIGURE_ARGS+= --without-python
endif
ifeq (${ADK_PACKAGE_BOOST_GRAPH},)
- CONFIGURE_ARGS+=--without-graph
+CONFIGURE_ARGS+= --without-graph
endif
-ifeq (${ADK_PACKAGE_BOOST_math},)
- CONFIGURE_ARGS+=--without-math
+ifeq (${ADK_PACKAGE_BOOST_LOG},)
+CONFIGURE_ARGS+= --without-log
+endif
+ifeq (${ADK_PACKAGE_BOOST_MATH},)
+CONFIGURE_ARGS+= --without-math
endif
ifeq (${ADK_PACKAGE_BOOST_PROGRAM_OPTIONS},)
- CONFIGURE_ARGS+=--without-program_options
+CONFIGURE_ARGS+= --without-program_options
endif
ifeq (${ADK_PACKAGE_BOOST_REGEX},)
- CONFIGURE_ARGS+=--without-regex
+CONFIGURE_ARGS+= --without-regex
endif
ifeq (${ADK_PACKAGE_BOOST_SERIALIZATION},)
- CONFIGURE_ARGS+=--without-serialization
+CONFIGURE_ARGS+= --without-serialization
endif
-ifeq (${ADK_PACKAGE_BOOST_SIGNALS},)
- CONFIGURE_ARGS+=--without-signals
+ifeq (${ADK_PACKAGE_BOOST_TEST},)
+CONFIGURE_ARGS+= --without-test
endif
-ifeq (${ADK_PACKAGE_BOOST_SYSTEM},)
- CONFIGURE_ARGS+=--without-system
+ifeq (${ADK_PACKAGE_BOOST_WAVE},)
+CONFIGURE_ARGS+= --without-wave
endif
-ifeq (${ADK_PACKAGE_BOOST_TEST},)
- CONFIGURE_ARGS+=--without-test
+
+ifeq ($(ADK_TARGET_ARCH),aarch64)
+BOOST_ARCH:= architecture=arm
endif
-ifeq (${ADK_PACKAGE_BOOST_THREAD},)
- CONFIGURE_ARGS+=--without-thread
+ifeq ($(ADK_TARGET_ARCH),arm)
+BOOST_ARCH:= architecture=arm
endif
-ifeq (${ADK_PACKAGE_BOOST_WAVE},)
- CONFIGURE_ARGS+=--without-wave
+ifeq ($(ADK_TARGET_CPU_MIPS_MIPS32),y)
+BOOST_ARCH:= architecture=mips32
+endif
+ifeq ($(ADK_TARGET_CPU_MIPS_MIPS32R2),y)
+BOOST_ARCH:= architecture=mips32r2
+endif
+ifeq ($(ADK_TARGET_ARCH),mips64)
+BOOST_ARCH:= architecture=mips64
+endif
+ifeq ($(ADK_TARGET_ARCH),ppc)
+BOOST_ARCH:= architecture=power
+endif
+ifeq ($(ADK_TARGET_ARCH),sparc)
+BOOST_ARCH:= architecture=sparc
+endif
+ifeq ($(ADK_TARGET_ARCH),x86_64)
+BOOST_ARCH:= architecture=x86
+endif
+
+ifeq ($(ADK_TARGET_ARCH),arm)
+BOOST_ABI:= abi=aapcs
+endif
+ifeq ($(ADK_TARGET_ARCH),aarch64)
+BOOST_ABI:= abi=aapcs
+endif
+ifeq ($(ADK_TARGET_ARCH),mips)
+BOOST_ABI:= abi=o32
endif
# some variables for build
-GPP_PATH:= ${STAGING_HOST_DIR}/bin/${GNU_TARGET_NAME}-g++
+GPP_PATH:= ${TOOLCHAIN_DIR}/usr/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
+BJAM_PATH:= "`find ${WRKBUILD} -type f -name "b2$(EXEEXT)"`"
+PYTHON_PATH:= ${STAGING_HOST_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
+USER_JAM:= ${WRKBUILD}/tools/build/user-config.jam
+
+ifeq ($(ADK_TARGET_USE_STATIC_LIBS_ONLY)$(ADK_TARGET_BINFMT_FLAT),y)
+LINKMODE:= static
+else
+LINKMODE:= shared
+endif
pre-build:
@echo "build bjam..."
- cd $(WRKBUILD)/tools/build/v2/engine; ./build.sh gcc
+ cd $(WRKBUILD)/tools/build/src/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}
+ echo "using gcc : ${GPP_VERSION} : ${GPP_PATH} : <compileflags>\"${TARGET_CFLAGS}\" ;" > ${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}; \
+ (cd ${WRKBUILD}; \
${BJAM_PATH} \
- -sBUILD=release \
- --toolset=gcc-${GPP_VERSION} \
- --build-type=minimal \
- --layout=versioned \
+ -d 2 \
+ target-os=linux \
+ variant=release \
+ threading=multi \
+ link=$(LINKMODE) \
+ runtime-link=$(LINKMODE) \
+ $(BOOST_ARCH) \
+ $(BOOST_ABI) \
+ binary-format=elf \
+ toolset=gcc-${GPP_VERSION} \
+ --user-config=${USER_JAM} \
+ --layout=system \
--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
+include ${ADK_TOPDIR}/mk/pkg-bottom.mk