Just like was done in commit b37641c95b
("boost: Force the target ABI for MIPS architecture") by Vicente for
the MIPS architecture, this commit also forces the ABI passed to Boost
build system to "aapcs" for the ARM architecture.
Since we now have three cases to handle, an intermediate variable
called BOOST_ABI is introduced.
Fixes:
http://autobuild.buildroot.org/results/5ae/5aeb3a9f067faf6687051643bf49a0b619cb4c3b/
Cc: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Currently, there are five packages which use 'subst' macro to change their version.
* Three of them (ebtables, icu, perl) use this macro "in place" :
EBTABLES_SITE = http://downloads.sourceforge.net/project/ebtables/ebtables/ebtables-$(subst .,-,$(EBTABLES_VERSION))
ICU_SOURCE = icu4c-$(subst .,_,$(ICU_VERSION))-src.tgz
PERL_CROSS_OLD_POD = perl$(subst .,,$(PERL_CROSS_BASE_VERSION))delta.pod
PERL_CROSS_NEW_POD = perl$(subst .,,$(PERL_VERSION))delta.pod
* Two of them (boost, libnss) use an additional variable :
BOOST_FILE_VERSION = $(subst .,_,$(BOOST_VERSION))
BOOST_SOURCE = boost_$(BOOST_FILE_VERSION).tar.bz2
LIBNSS_SITE_VERSION = $(subst .,_,$(LIBNSS_VERSION))
LIBNSS_SITE = https://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_$(LIBNSS_SITE_VERSION)_RTM/src
* Additionally two packages (duma, rings) doesn't use it at all :
DUMA_VERSION = 2_5_15
DUMA_SITE = http://downloads.sourceforge.net/project/duma/duma/2.5.15
RINGS_VERSION_MAJOR = 1.3.0
RINGS_SUBDIR = rings-v_1_3_0
This commit makes changes to use 'subst' macro "in place", in all of them.
Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Define an empty HOST_BOOST_DEPENDENCIES to avoid inheriting
BOOST_DEPENDENCIES.
Also ditch redundant empty definitions for BOOST_DEPENDENCIES and
BOOST_FLAGS.
Fixes:
http://autobuild.buildroot.net/results/9c6/9c64dd473a8096bb6343d746544997e333053e8b/
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Reviewed-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Fix build failures that happened after the version bump such as:
http://autobuild.buildroot.net/results/570/570b091702763b29843d9207bc14dea67085fea0/http://autobuild.buildroot.net/results/c26/c26498f1a4e6bcbc3a2dfce6a51fa7d21b72f21f/
and other failures by disabling the new (1.54+) coroutine and log
libraries which weren't handled and hence enabled by default.
These also made the target size bigger and build times longer
unnecessarily.
When/if they are needed for some future user this can be revisited and
their proper conditions for enablement assesed.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Acked-by: Luca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Currently, when we need to do a conditional on the type of C library
used, we need to take into account the three toolchain backends. As we
are going to add eglibc support to the Buildroot toolchain backend, it
would become even uglier, so this patch introduces two new hidden
options: BR2_TOOLCHAIN_USES_UCLIBC and BR2_TOOLCHAIN_USES_GLIBC, that
exist regardless of the toolchain backend. The entire Buildroot code
base is converted to use those options.
Note that we have intentionally created only one option
(BR2_TOOLCHAIN_USES_GLIBC) for both glibc and eglibc, since they are
essentially the same, as far as Buildroot is concerned.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
and re-enable boost context library since its compilation with
uClibc is fixed. Disable new atomic library because it can not
compile with uClibc (fixed in upstream version).
Signed-off-by: Victor Hiairrassary <victor.hiairrassary.ml@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
When using the --with-icu option without specifying the directory, boost's
bootstrap.sh script will look at "common" locations (lines 289-294):
COMMON_ICU_PATHS="/usr /usr/local /sw"
for p in $COMMON_ICU_PATHS; do
if test -r $p/include/unicode/utypes.h; then
ICU_ROOT=$p
fi
done
With buildroot it may surely become problematic at some point.
Signed-off-by: Ignacy Gawędzki <i@lri.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
At the moment, the boost build is very verbose, it gives both the
Jam-level command being executed, and the underlying system command
being executed, with lots of newlines. Makes it hard to see where the
failure is when there is one.
So, we reduce the verbosity level to -d+1, which only gives the
Jam-level command. So now, it looks like:
common.copy /home/test/outputs/e/host/usr/aarch64-buildroot-linux-gnu/sysroot/usr/include/boost/geometry/multi/multi.hpp
common.mkdir /home/test/outputs/e/host/usr/aarch64-buildroot-linux-gnu/sysroot/usr/include/boost/geometry/strategies
gcc.compile.c++ bin.v2/libs/regex/build/gcc-4.7.3/release/threading-multi/icu.o
gcc.compile.c++ bin.v2/libs/regex/build/gcc-4.7.3/release/threading-multi/regex_debug.o
gcc.compile.c++ bin.v2/libs/regex/build/gcc-4.7.3/release/threading-multi/regex_raw_buffer.o
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Boost normally allows to build a non-threaded variant by passing
threading=single or a multi-threaded variant by passing
threading=multi.
Unfortunately, the build of threading=single doesn't seem to work any
more, due to bizarre things in the build system. We get "duplicate
target" errors, that according to
http://lists.boost.org/boost-build/2012/11/26582.php should appear if
we ask for both threading=single,multi. But it seems to happen even in
the threading=single case.
Since Boost is such a big C++ beast, it probably doesn't make much
sense to try to support it on toolchains that don't have thread
support. So, we make the boost package depend on thread support. If
someone cares enough in getting Boost to work in a non-threaded
environment, then we can always revert back.
Note that the boost package has no reverse dependencies in Buildroot,
so we don't need to propagate this new dependency anywhere.
Fixes:
http://autobuild.buildroot.org/results/439e72ac74c8058f30977e6abc39acd6379a17d3/build-end.log
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Add the same -jN parameter as used for make.
Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Short version avoids compiling problems with toolchains
containing long version string like Linaro toolchain.
[Peter: drop head/sed as -dumpversion returns version directly]
Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Boost 1.49 added two new modules, locale and timer - So add sub options
to control compilation of those. The locale module by default compiles
the posix backend under Linux, but this needs monetary.h which isn't
provided by uClibc, so work around that.
While we're at it, hide the icu option as that is just an internal
configuration option used by E.G. the locale module.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Drop quotes around TARGET_CXX as the boost buildsystem does handle
spaces in the compiler command name, but treats it as a single command
(and errors out) if quotes are used and ccache enabled.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>