summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Olbrich <m.olbrich@pengutronix.de>2018-06-12 15:27:23 +0200
committerMichael Olbrich <m.olbrich@pengutronix.de>2018-06-13 00:04:42 +0200
commitc25a789d49645fa6a15c8279ef39abeaa45e00e6 (patch)
tree98ac9bc5ae02c70212ab73499aa5a568914e5ac6
parentddc2537a4e077f50fcf0b6371c90f5b525367224 (diff)
downloadptxdist-2018.06.0.tar.gz
ptxdist-2018.06.0.tar.xz
boost: improve library handlingptxdist-2018.06.0
- Only build the selected libraries. - Never use ICU. Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
-rw-r--r--rules/boost.in1
-rw-r--r--rules/boost.make96
2 files changed, 49 insertions, 48 deletions
diff --git a/rules/boost.in b/rules/boost.in
index 421e04d27..c9abe63af 100644
--- a/rules/boost.in
+++ b/rules/boost.in
@@ -11,6 +11,7 @@ menuconfig BOOST
select ZLIB if BOOST_IOSTREAMS
select BZIP2 if BOOST_IOSTREAMS
select BZIP2_LIBBZ2 if BOOST_IOSTREAMS
+ select XZ if BOOST_IOSTREAMS
select PYTHON if BOOST_PYTHON2
select PYTHON3 if BOOST_PYTHON3
prompt "boost "
diff --git a/rules/boost.make b/rules/boost.make
index 5797aefc6..555b1744f 100644
--- a/rules/boost.make
+++ b/rules/boost.make
@@ -30,6 +30,48 @@ BOOST_LICENSE := BSL-1.0
# Prepare
# ----------------------------------------------------------------------------
+# boost doesn't provide "no library" choice. If the library list is empty, it
+# goes for all libraries. We start at least with date_time lib here to avoid
+# this
+BOOST_LIBRARIES-y := date_time
+
+BOOST_LIBRARIES-$(PTXCONF_BOOST_ATOMIC) += atomic
+BOOST_LIBRARIES-$(PTXCONF_BOOST_CHRONO) += chrono
+BOOST_LIBRARIES-$(PTXCONF_BOOST_CONTAINER) += container
+BOOST_LIBRARIES-$(PTXCONF_BOOST_CONTEXT) += context
+BOOST_LIBRARIES-$(PTXCONF_BOOST_CONTRACT) += contract
+BOOST_LIBRARIES-$(PTXCONF_BOOST_COROUTINE) += coroutine
+BOOST_LIBRARIES-$(PTXCONF_BOOST_DATE_TIME) += date_time
+BOOST_LIBRARIES-$(PTXCONF_BOOST_EXCEPTION) += exception
+BOOST_LIBRARIES-$(PTXCONF_BOOST_FIBER) += fiber
+BOOST_LIBRARIES-$(PTXCONF_BOOST_FILESYSTEM) += filesystem
+BOOST_LIBRARIES-$(PTXCONF_BOOST_GRAPH) += graph
+BOOST_LIBRARIES-$(PTXCONF_BOOST_GRAPH_PARALLEL) += graph_parallel
+BOOST_LIBRARIES-$(PTXCONF_BOOST_IOSTREAMS) += iostreams
+BOOST_LIBRARIES-$(PTXCONF_BOOST_LOCALE) += locale
+BOOST_LIBRARIES-$(PTXCONF_BOOST_LOG) += log
+BOOST_LIBRARIES-$(PTXCONF_BOOST_MATH) += math
+BOOST_LIBRARIES-$(PTXCONF_BOOST_MPI) += mpi
+BOOST_LIBRARIES-$(PTXCONF_BOOST_PROGRAM_OPTIONS)+= program_options
+BOOST_LIBRARIES-$(PTXCONF_BOOST_PYTHON) += python
+BOOST_LIBRARIES-$(PTXCONF_BOOST_RANDOM) += random
+BOOST_LIBRARIES-$(PTXCONF_BOOST_REGEX) += regex
+BOOST_LIBRARIES-$(PTXCONF_BOOST_SERIALIZATION) += serialization
+BOOST_LIBRARIES-$(PTXCONF_BOOST_SIGNALS) += signals
+BOOST_LIBRARIES-$(PTXCONF_BOOST_STACKTRACE) += stacktrace
+BOOST_LIBRARIES-$(PTXCONF_BOOST_SYSTEM) += system
+BOOST_LIBRARIES-$(PTXCONF_BOOST_TEST) += test
+BOOST_LIBRARIES-$(PTXCONF_BOOST_THREAD) += thread
+BOOST_LIBRARIES-$(PTXCONF_BOOST_TIMER) += timer
+BOOST_LIBRARIES-$(PTXCONF_BOOST_TYPE_ERASURE) += type_erasure
+BOOST_LIBRARIES-$(PTXCONF_BOOST_WAVE) += wave
+
+BOOST_PATH := PATH=$(CROSS_PATH)
+BOOST_CONF_TOOL := NO
+BOOST_CONF_OPT := \
+ --with-toolset=gcc \
+ --prefix="$(PKGDIR)/$(BOOST)/usr"
+
BOOST_ABI := sysv
ifneq ($(PTXCONF_ARCH_ARM)$(PTXCONF_ARCH_ARM64),)
BOOST_ARCH := arm
@@ -55,7 +97,6 @@ BOOST_JAM := \
-sNO_BZIP2=0 \
-sZLIB_INCLUDE=$(SYSROOT)/usr/include \
-sZLIB_LIBPATH=$(SYSROOT)/usr/lib \
- --$(call ptx/wwo, PTXCONF_BOOST_MPI)-mpi \
variant=release \
debug-symbols=on \
threading=multi \
@@ -65,10 +106,13 @@ BOOST_JAM := \
abi=$(BOOST_ABI) \
binary-format=elf \
architecture=$(BOOST_ARCH) \
- address-model=$(call ptx/ifdef, PTXCONF_ARCH_LP64,64,32)
+ address-model=$(call ptx/ifdef, PTXCONF_ARCH_LP64,64,32) \
+ boost.locale.icu=off \
+ $(addprefix --with-,$(BOOST_LIBRARIES-y))
JAM_PAR := \
$(filter -j%,$(if $(PTXDIST_PARALLELMFLAGS),$(PTXDIST_PARALLELMFLAGS),$(PARALLELMFLAGS)))
+
JAM_MAKE_OPT := \
$(if $(shell test $(subst -j,,$(JAM_PAR)) -le 64 && echo 1),$(JAM_PAR),-j64) \
stage
@@ -76,50 +120,6 @@ JAM_MAKE_OPT := \
JAM_INSTALL_OPT := \
install
-# boost doesn't provide "no library" choice. If the library list is empty, it
-# goes for all libraries. We start at least with date_time lib here to avoid
-# this
-BOOST_LIBRARIES-y := date_time
-
-BOOST_LIBRARIES-$(PTXCONF_BOOST_ATOMIC) += atomic
-BOOST_LIBRARIES-$(PTXCONF_BOOST_CHRONO) += chrono
-BOOST_LIBRARIES-$(PTXCONF_BOOST_CONTAINER) += container
-BOOST_LIBRARIES-$(PTXCONF_BOOST_CONTEXT) += context
-BOOST_LIBRARIES-$(PTXCONF_BOOST_CONTRACT) += contract
-BOOST_LIBRARIES-$(PTXCONF_BOOST_COROUTINE) += coroutine
-BOOST_LIBRARIES-$(PTXCONF_BOOST_DATE_TIME) += date_time
-BOOST_LIBRARIES-$(PTXCONF_BOOST_EXCEPTION) += exception
-BOOST_LIBRARIES-$(PTXCONF_BOOST_FIBER) += fiber
-BOOST_LIBRARIES-$(PTXCONF_BOOST_FILESYSTEM) += filesystem
-BOOST_LIBRARIES-$(PTXCONF_BOOST_GRAPH) += graph
-BOOST_LIBRARIES-$(PTXCONF_BOOST_GRAPH_PARALLEL) += graph_parallel
-BOOST_LIBRARIES-$(PTXCONF_BOOST_IOSTREAMS) += iostreams
-BOOST_LIBRARIES-$(PTXCONF_BOOST_LOCALE) += locale
-BOOST_LIBRARIES-$(PTXCONF_BOOST_LOG) += log
-BOOST_LIBRARIES-$(PTXCONF_BOOST_MATH) += math
-BOOST_LIBRARIES-$(PTXCONF_BOOST_MPI) += mpi
-BOOST_LIBRARIES-$(PTXCONF_BOOST_PROGRAM_OPTIONS)+= program_options
-BOOST_LIBRARIES-$(PTXCONF_BOOST_PYTHON) += python
-BOOST_LIBRARIES-$(PTXCONF_BOOST_RANDOM) += random
-BOOST_LIBRARIES-$(PTXCONF_BOOST_REGEX) += regex
-BOOST_LIBRARIES-$(PTXCONF_BOOST_SERIALIZATION) += serialization
-BOOST_LIBRARIES-$(PTXCONF_BOOST_SIGNALS) += signals
-BOOST_LIBRARIES-$(PTXCONF_BOOST_STACKTRACE) += stacktrace
-BOOST_LIBRARIES-$(PTXCONF_BOOST_SYSTEM) += system
-BOOST_LIBRARIES-$(PTXCONF_BOOST_TEST) += test
-BOOST_LIBRARIES-$(PTXCONF_BOOST_THREAD) += thread
-BOOST_LIBRARIES-$(PTXCONF_BOOST_TIMER) += timer
-BOOST_LIBRARIES-$(PTXCONF_BOOST_TYPE_ERASURE) += type_erasure
-BOOST_LIBRARIES-$(PTXCONF_BOOST_WAVE) += wave
-
-BOOST_PATH := PATH=$(CROSS_PATH)
-BOOST_CONF_TOOL := NO
-BOOST_CONF_OPT := \
- --with-toolset=gcc \
- --prefix="$(PKGDIR)/$(BOOST)/usr" \
- --with-libraries="$(subst $(space),$(comma),$(BOOST_LIBRARIES-y))" \
- --without-icu
-
$(STATEDIR)/boost.prepare:
@$(call targetinfo)
cd $(BOOST_DIR) && ./bootstrap.sh $(BOOST_CONF_OPT)
@@ -129,10 +129,10 @@ ifdef PTXCONF_BOOST_MPI
endif
ifdef PTXCONF_BOOST_PYTHON3
- @echo "using python : $(PYTHON3_MAJORMINOR) : $(SYSROOT)/usr/bin/python : $(SYSROOT)/usr/include/python$(PYTHON3_MAJORMINOR)m : $(SYSROOT)/usr/lib/python$(PYTHON3_MAJORMINOR) ;" >> $(BOOST_DIR)/user-config.jam
+ @echo "using python : $(PYTHON3_MAJORMINOR) : $(PTXDIST_SYSROOT_CROSS)/bin/python : $(SYSROOT)/usr/include/python$(PYTHON3_MAJORMINOR)m : $(SYSROOT)/usr/lib/python$(PYTHON3_MAJORMINOR) ;" >> $(BOOST_DIR)/user-config.jam
endif
ifdef PTXCONF_BOOST_PYTHON2
- @echo "using python : $(PYTHON_MAJORMINOR) : $(SYSROOT)/usr/bin/python : $(SYSROOT)/usr/include/python$(PYTHON_MAJORMINOR)m : $(SYSROOT)/usr/lib/python$(PYTHON_MAJORMINOR) ;" >> $(BOOST_DIR)/user-config.jam
+ @echo "using python : $(PYTHON_MAJORMINOR) : $(PTXDIST_SYSROOT_CROSS)/bin/python : $(SYSROOT)/usr/include/python$(PYTHON_MAJORMINOR)m : $(SYSROOT)/usr/lib/python$(PYTHON_MAJORMINOR) ;" >> $(BOOST_DIR)/user-config.jam
endif
@echo "all:" > $(BOOST_DIR)/Makefile