Commit Graph

84 Commits

Author SHA1 Message Date
Michael Nosthoff
1b1b24ce84 package/boost: fix math with no atomics
Boost 1.77.0 broke the build of the math component on architectures
without lockfree atomics. This was reported in [0].

This patch adds the relevant patches from the upstream patchset[1] which fix the build
and removes the dependency on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS

[0] https://github.com/boostorg/math/issues/673
[1] https://github.com/boostorg/math/pull/684

Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2021-09-12 11:27:28 +02:00
Fabrice Fontaine
fb6a9acfe1 package/boost: fix fiber dependencies
Commit d39d8f7cee forgot to update fiber
dependencies resulting in the following build failure:

WARNING: unmet direct dependencies detected for BR2_PACKAGE_BOOST_FILESYSTEM
  Depends on [n]: BR2_PACKAGE_BOOST [=y] && BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS [=n]
  Selected by [y]:
  - BR2_PACKAGE_BOOST_FIBER [=y] && BR2_PACKAGE_BOOST [=y] && BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS [=y] && BR2_TOOLCHAIN_HAS_THREADS_NPTL [=y] && !BR2_MIPS_CPU_MIPS32 [=n] && !BR2_MIPS_CPU_MIPS64 [=n] && (BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS [=n] || BR2_TOOLCHAIN_GCC_AT_LEAST_6 [=y]) && !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 [=n]

Fixes:
 - http://autobuild.buildroot.org/results/40b8af6ce273ebd5fca56d6734f64dacd562efb1

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Reviewed-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2021-09-11 22:46:46 +02:00
Michael Nosthoff
d39d8f7cee package/boost: bump version to 1.77.0
* drop 0001-fenv.patch, issue [0] was marked fixed since boost 1.64 (commit [1])
* drop upstreamed patch 0002
* filesystem now depends on boost-atomic
* math broke the build without always lockfree atomic ints, disable for now. reported at [2].

[0] https://svn.boost.org/trac/boost/ticket/11756
[1] cb2a1c2488
[2] https://github.com/boostorg/math/issues/673

Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
[Arnout: improve propagation of reverse dependencies:
 - also update comment of cc-tool;
 - add boost-filesystem to reason of gnuradio, libcpprestsdk, uhd;
 - move dependency to arch-deps of mongodb]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2021-08-26 23:37:01 +02:00
Fabrice Fontaine
a8c7e406f6 package/boost: upstream patch to re-enable logs with riscv32
Commit d72350e62a disabled boost::logs on
riscv32 due to the use of SYS_futex, which doesn't exist on riscv32.

Revert "package/boost: disable logs with riscv32" and add an upstream
patch that uses SYS_futex_time64 instead.

This reverts commit d72350e62a.

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2021-06-13 11:47:37 +02:00
Fabrice Fontaine
d72350e62a package/boost: disable logs with riscv32
boost logs can't be built with riscv32 because it unconditionally uses
__NR_futex:

libs/log/src/event.cpp: In member function 'void boost::log::v2_mt_posix::aux::futex_based_event::wait()':
libs/log/src/event.cpp:38:29: error: '__NR_futex' was not declared in this scope
   38 | #define BOOST_LOG_SYS_FUTEX __NR_futex
      |                             ^~~~~~~~~~

Fixes:
 - http://autobuild.buildroot.org/results/8c8135fd7c0517c66c9b3975c494da6d7934cc1b

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2021-05-27 09:44:54 +02:00
Michael Nosthoff
fe80e8ac8d package/boost: bump version to 1.75.0
* add option for new library Boost.JSON
* drop patch 0001 as it's applied upstream
* host: disable options that were added over time but never disabled for the host-build

Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2021-01-14 22:12:34 +01:00
Fabrice Fontaine
a4ad5fa132 package/boost: atomics needs always lockfree atomic bytes
Since version 1.74.0, boost atomics needs a toolchain that always
supports lockfree atomic bytes so add dependendy on
BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS:
https://github.com/boostorg/atomic/issues/42

Fixes:
 - http://autobuild.buildroot.org/results/c03a786791e3aa7801cf1bff9934c4a105f54ce1

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[yann.morin.1998@free.fr:
  - add the new dependency as its own 'depends on' line
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2021-01-02 22:37:35 +01:00
Fabrice Fontaine
118d2c298b package/boost: add BR2_PACKAGE_BOOST_NOWIDE
nowide library has been added in version 1.73.0 and is enabled by
default

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2020-12-28 22:27:59 +01:00
Fabrice Fontaine
e458254460 package/boost: propagate boost-thread dependency on a toolchain without bug 64735
Commit d7e49f5f42 does not fully propagate
the dependency on a toolchain without bug 64735 to reverse dependencies
of boost-thread

Fixes:
 - http://autobuild.buildroot.org/results/2b0ca8ce4df7496dcc7d078fae2114d75bd0a455

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-12-26 13:40:32 +01:00
Fabrice Fontaine
d7e49f5f42 package/boost: boost-thread needs a toolchain without bug 64735
boost-thread needs std::current_exception since version 1.71.0 and
386f5507cb

std::current_exception depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 as a
result, gnuradio fails to build on:

[ 12%] Building CXX object gnuradio-runtime/lib/pmt/CMakeFiles/gnuradio-pmt.dir/pmt_pool.cc.o
In file included from /home/test/autobuild/run/instance-2/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/boost/exception/detail/exception_ptr.hpp:15:0,
                 from /home/test/autobuild/run/instance-2/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/boost/exception_ptr.hpp:9,
                 from /home/test/autobuild/run/instance-2/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/boost/thread/exceptional_ptr.hpp:10,
                 from /home/test/autobuild/run/instance-2/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/boost/thread/future.hpp:34,
                 from /home/test/autobuild/run/instance-2/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/boost/thread.hpp:24,
                 from /home/test/autobuild/run/instance-2/output-1/build/gnuradio-3.7.13.5/gnuradio-runtime/include/pmt/pmt_pool.h:27,
                 from /home/test/autobuild/run/instance-2/output-1/build/gnuradio-3.7.13.5/gnuradio-runtime/lib/pmt/pmt.cc:31:
/home/test/autobuild/run/instance-2/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/boost/exception/diagnostic_information.hpp: In function 'std::string boost::current_exception_diagnostic_information(bool)':
/home/test/autobuild/run/instance-2/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/boost/exception/diagnostic_information.hpp:49:26: error: 'current_exception' is not a member of 'std'
         else if (auto* p=std::current_exception().__cxa_exception_type())
                          ^
So add this dependency on boost-thread, boost-log and gnuradio (the only
reverse dependencies of boost-thread that does not already depends on
!BR2_TOOLCHAIN_HAS_GCC_BUG_64735)

Finally, add this dependency on gqrx as it is a reverse dependency of
gnuradio

Fixes:
 - http://autobuild.buildroot.org/results/c384205cf50929c320d90b620f2390837721d9f9
 - http://autobuild.buildroot.org/results/47440354b336b943b74b72fa303b079dc962bfd0

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-12-25 22:38:38 +01:00
Giulio Benetti
eb8a7baa50 package/boost: remove gcc bug 85180 dependency for boost-fiber option
BR2_TOOLCHAIN_HAS_GCC_BUG_85180 dependency is already satisfied because
BR2_PACKAGE_BOOST_FIBER depends on
BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS that doesn't contain
BR2_microblaze and BR2_TOOLCHAIN_HAS_GCC_BUG_85180 depends right on
BR2_microblaze. So let's remove 'depends on
BR2_TOOLCHAIN_HAS_GCC_BUG_85180'.

Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-08-03 12:57:45 +02:00
Fabrice Fontaine
428ed39414 package/boost: bump to version 1.69.0
- Remove fifth patch (already in version)
- Remove BR2_PACKAGE_BOOST_SIGNALS as signals is now removed. Its
  removal was announced in 1.68 and its deprecation was announced in
  1.54. Users are encouraged to use Signals2 instead.

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-01-13 21:45:43 +01:00
Fabrice Fontaine
288b517193 boost: context needs thread if gcc < 6
Commit f3a483a81b added -std=c++11 to
boost build if context is selected and gcc is at least 4.7 however it
has the side effect that cc-tool fails to find boost_system with the
following error if context and system is enabled with a gcc greater
than 6:

configure:16312: /home/dawncrow/buildroot-test/scripts/instance-0/output/host/bin/x86_64-linux-g++ -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -Os   -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I/home/dawncrow/buildroot-test/scripts/instance-0/output/host/x86_64-buildroot-linux-musl/sysroot/usr/include  -L/home/dawncrow/buildroot-test/scripts/instance-0/output/host/x86_64-buildroot-linux-musl/sysroot/usr/lib conftest.o -lboost_system -latomic >&5
conftest.o: In function `boost::system::error_category::std_category::equivalent(int, std::error_condition const&) const':
conftest.cpp:(.text._ZNK5boost6system14error_category12std_category10equivalentEiRKSt15error_condition[_ZNK5boost6system14error_category12std_category10equivalentEiRKSt15error_condition]+0x37): undefined reference to `boost::system::detail::generic_category_instance'

This error is related to the fact that since boost 1.68 and commit
7b6dcf6ac6,
boost system headers are now C++14 "by default" with gcc above 6:
- https://github.com/boostorg/system/issues/24
- https://github.com/boostorg/system/issues/26
- https://lists.boost.org/Archives/boost/2018/08/242770.php

So when building with gcc > 6, cc-tool thinks that boost has
generic_category_instance but because boost was compiled with
std=c++11, this function will not be in the library causing a link error

Instead of "hacking" even more boost, just remove -std=c++11 from
boost.mk and select BOOST_THREAD with gcc lower than 6

Fixes:
 - http://autobuild.buildroot.org/results/fc8f8a64751c751b2b66301967cc008509bbaa70

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Tested-by: Matt Weber <matthew.weber@rockwellcollins.com>
Reviewed-by: Ferdinand van Aartsen <ferdinand@ombud.nl>
Tested-by: Ferdinand van Aartsen <ferdinand@ombud.nl>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-26 17:09:51 +02:00
Fabrice Fontaine
f3a483a81b boost: context needs C++11
Without std=c++11, mutex is not always correctly detected with gcc 4.7,
4.8 or even 5.x. As a result, boost_thread is wrongly selected by
boost_context.

mutex is available on gcc 4.7.x, the issue is that boost does not
correctly detect it because -std=c++11 was missing.
Keep thread select for gcc version lower or equal to 4.6. mutex is
available since gcc 4.4 (with std=c++0x) but common buildroot practice
for C++11 packages is to have a dependency on gcc 4.7, 4.8 or 4.9
depending on the requested C++11 features.

Fixes:
 - http://autobuild.buildroot.net/results/fb046c04fe18bec973d120e4ab33971f32ba5769
 - http://autobuild.buildroot.net/results/99f1a255b78a973faeb8bf3b94d78efc54426a8b

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-10-10 21:50:09 +02:00
Fabrice Fontaine
ee2af55d38 boost: enable back log on powerpc with uclibc
boost-log builds fine with powerpc on uclibc nowadays so enable it back.
By removing this dependency, build failure on azmq is also fixed as this
package is currently selecting boost-log without fulfilling this
dependency

Fixes:
 - http://autobuild.buildroot.net/results/9c373d0b5a1a59e2271d71c480d55a90a67b84cb

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-08-18 22:32:29 +02:00
Fabrice Fontaine
b20c5ca3b8 boost: context needs thread without C++11 mutex
Extract from output/build/boost-1.67.0/libs/context/build/Jamfile.v2:

explicit cxx11_hdr_mutex_check ;
local cxx11_mutex = [ check-target-builds
      cxx11_hdr_mutex_check "C++11 mutex"
    :
    : <library>/boost/thread//boost_thread
  ] ;

So select boost_thread if gcc <= 4.7

Fixes:
 - http://autobuild.buildroot.net/results/fb046c04fe18bec973d120e4ab33971f32ba5769

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-08-18 22:32:14 +02:00
Fabrice Fontaine
e2928dfa08 boost: thread needs atomic if GCC hasn't lock-free
When gcc has not always lock-free atomic ints:
 - lockfree boost::atomic_flag : no

boost thread needs boost atomic:
output/host/usr/bin/nios2-linux-readelf -d output/staging/usr/lib/libboost_thread.so

Dynamic section at offset 0x2cee0 contains 32 entries:
  Tag        Type                         Name/Value
 0x00000001 (NEEDED)                     Shared library: [libboost_system.so.1.67.0]
 0x00000001 (NEEDED)                     Shared library: [libboost_atomic.so.1.67.0]

Fixes:
 - http://autobuild.buildroot.net/results/5a7db292f1365f27e32695527701d5b827f60092
 - http://autobuild.buildroot.net/results/413dff87f5329d3c5180167a8711cdedea5dec67
 - http://autobuild.buildroot.net/results/a7eb4cbcdbd9412c344f45336dec58c82e84dab9

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-08-18 14:34:31 +02:00
Fabrice Fontaine
9a1059b86a boost: put back chrono select for coroutine
coroutine module does use chrono directly:

./libs/coroutine/performance/asymmetric/segmented/Jamfile.v2: <library>/boost/chrono//boost_chrono
./libs/coroutine/performance/asymmetric/Jamfile.v2: <library>/boost/chrono//boost_chrono
./libs/coroutine/performance/symmetric/segmented/Jamfile.v2: <library>/boost/chrono//boost_chrono
./libs/coroutine/performance/symmetric/Jamfile.v2: <library>/boost/chrono//boost_chrono

So put back select of chrono for coroutine

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-08-16 22:09:24 +02:00
Fabrice Fontaine
6607d66563 boost: thread needs chrono
chrono is selected by thread (see libs/thread/build/Jamfile.v2):

rule usage-requirements ( properties * )
{
[...]
result += <library>/boost/chrono//boost_chrono ;
}

So add this select for BR2_PACKAGE_BOOST_THREAD and remove it from
BR2_PACKAGE_BOOST_COROUTINE, BR2_PACKAGE_BOOST_LOG,
BR2_PACKAGE_TYPE_ERASURE and BR2_PACKAGE_BOOST_WAVE

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-08-15 22:15:44 +02:00
Fabrice Fontaine
73cdfc6a4d boost: locale needs thread with icu
output/host/usr/bin/nios2-linux-readelf -d output/staging/usr/lib/libboost_locale.so

Dynamic section at offset 0x125ec0 contains 36 entries:
  Tag        Type                         Name/Value
 0x00000001 (NEEDED)                     Shared library: [libboost_chrono.so.1.67.0]
 0x00000001 (NEEDED)                     Shared library: [libboost_thread.so.1.67.0]
 0x00000001 (NEEDED)                     Shared library: [libboost_system.so.1.67.0]
 0x00000001 (NEEDED)                     Shared library: [librt.so.1]
 0x00000001 (NEEDED)                     Shared library: [libicudata.so.60]
 0x00000001 (NEEDED)                     Shared library: [libicui18n.so.60]
 0x00000001 (NEEDED)                     Shared library: [libicuuc.so.60]

Fixes:
 - http://autobuild.buildroot.net/results/57838f7cd84f37b66ab7007deaea847af8f54b72

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-08-15 22:12:27 +02:00
Fabrice Fontaine
36855f5ce1 boost: coroutine needs chrono, system, thread
output/host/usr/bin/arm-buildroot-linux-uclibcgnueabihf-readelf -d output/staging/usr/lib/libboost_coroutine.so

Dynamic section at offset 0xdee8 contains 31 entries:
  Tag        Type                         Name/Value
 0x00000001 (NEEDED)                     Shared library: [libboost_chrono.so.1.67.0]
 0x00000001 (NEEDED)                     Shared library: [libboost_context.so.1.67.0]
 0x00000001 (NEEDED)                     Shared library: [libboost_thread.so.1.67.0]
 0x00000001 (NEEDED)                     Shared library: [libboost_system.so.1.67.0]

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-07-04 22:31:19 +02:00
Fabrice Fontaine
892e006d7f boost: type_erasure needs chrono, system, thread
output/host/usr/bin/arm-buildroot-linux-uclibcgnueabihf-readelf -d output/staging/usr/lib/libboost_type_erasure.so

Dynamic section at offset 0xcef0 contains 30 entries:
  Tag        Type                         Name/Value
 0x00000001 (NEEDED)                     Shared library: [libboost_thread.so.1.67.0]
 0x00000001 (NEEDED)                     Shared library: [libboost_chrono.so.1.67.0]
 0x00000001 (NEEDED)                     Shared library: [libboost_system.so.1.67.0]

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-07-04 22:31:18 +02:00
Fabrice Fontaine
84e7b7c798 boost: thread needs system
output/host/usr/bin/arm-buildroot-linux-uclibcgnueabihf-readelf -d output/staging/usr/lib/libboost_thread.so

Dynamic section at offset 0x21f00 contains 28 entries:
  Tag        Type                         Name/Value
 0x00000001 (NEEDED)                     Shared library: [libboost_system.so.1.67.0]

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-07-04 22:31:17 +02:00
Fabrice Fontaine
d7c2cf8e19 boost: graph needs regex
output/host/usr/bin/m68k-linux-readelf -d output/staging/usr/lib/libboost_graph.so

Dynamic section at offset 0x47f00 contains 28 entries:
  Tag        Type                         Name/Value
 0x00000001 (NEEDED)                     Shared library: [libboost_regex.so.1.67.0]

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-07-04 22:31:16 +02:00
Fabrice Fontaine
11843ec75c boost: add selects for log
log needs atomic, chrono, thread, date_time, filesystem, system and
regex

output/host/usr/bin/arm-buildroot-linux-uclibcgnueabihf-readelf -d output/staging/usr/lib/libboost_log.so

Dynamic section at offset 0xb9ed0 contains 34 entries:
  Tag        Type                         Name/Value
 0x00000001 (NEEDED)                     Shared library: [libboost_atomic.so.1.67.0]
 0x00000001 (NEEDED)                     Shared library: [libboost_chrono.so.1.67.0]
 0x00000001 (NEEDED)                     Shared library: [libboost_thread.so.1.67.0]
 0x00000001 (NEEDED)                     Shared library: [libboost_date_time.so.1.67.0]
 0x00000001 (NEEDED)                     Shared library: [libboost_filesystem.so.1.67.0]
 0x00000001 (NEEDED)                     Shared library: [libboost_system.so.1.67.0]
 0x00000001 (NEEDED)                     Shared library: [libboost_regex.so.1.67.0]

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-07-03 21:42:55 +02:00
Fabrice Fontaine
f3ebd7fb0c boost: locale needs system
output/host/usr/bin/arm-buildroot-linux-uclibcgnueabihf-readelf -d output/staging/usr/lib/libboost_locale.so

Dynamic section at offset 0x76ef4 contains 29 entries:
  Tag        Type                         Name/Value
 0x00000001 (NEEDED)                     Shared library: [libboost_system.so.1.67.0]

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-07-03 21:42:54 +02:00
Fabrice Fontaine
f7407d1f09 boost: fiber needs filesystem and system
output/host/usr/bin/arm-buildroot-linux-uclibcgnueabihf-readelf -d output/staging/usr/lib/libboost_fiber.so

Dynamic section at offset 0x44ee8 contains 31 entries:
  Tag        Type                         Name/Value
 0x00000001 (NEEDED)                     Shared library: [libboost_context.so.1.67.0]
 0x00000001 (NEEDED)                     Shared library: [libboost_filesystem.so.1.67.0]
 0x00000001 (NEEDED)                     Shared library: [libboost_system.so.1.67.0]

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-07-03 21:42:52 +02:00
Fabrice Fontaine
74bbe20356 boost: add selects for wave
wave needs filesystem, thread, date_time, chrono and system

output/host/usr/bin/arm-buildroot-linux-uclibcgnueabihf-readelf -d output/staging/usr/lib/libboost_wave.so

Dynamic section at offset 0x143edc contains 32 entries:
  Tag        Type                         Name/Value
 0x00000001 (NEEDED)                     Shared library: [libboost_filesystem.so.1.67.0]
 0x00000001 (NEEDED)                     Shared library: [libboost_thread.so.1.67.0]
 0x00000001 (NEEDED)                     Shared library: [libboost_date_time.so.1.67.0]
 0x00000001 (NEEDED)                     Shared library: [libboost_chrono.so.1.67.0]
 0x00000001 (NEEDED)                     Shared library: [libboost_system.so.1.67.0]

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-07-03 21:42:50 +02:00
Fabrice Fontaine
c33ae99b26 boost: contract needs system
output/host/usr/bin/arm-buildroot-linux-uclibcgnueabihf-readelf -d output/staging/usr/lib/libboost_contract.so

Dynamic section at offset 0x19f00 contains 28 entries:
  Tag        Type                         Name/Value
 0x00000001 (NEEDED)                     Shared library: [libboost_system.so.1.67.0]

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-07-02 09:02:50 +02:00
Fabrice Fontaine
a315d2c7fe boost: random needs system
output/host/usr/bin/m68k-linux-readelf -d output/staging/usr/lib/libboost_random.so

Dynamic section at offset 0x5f20 contains 24 entries:
  Tag        Type                         Name/Value
 0x00000001 (NEEDED)                     Shared library: [libboost_system.so.1.67.0]

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-07-02 09:02:49 +02:00
Fabrice Fontaine
3ad3c41213 boost: test needs system and timer
output/host/usr/bin/m68k-linux-readelf -d output/staging/usr/lib/libboost_prg_exec_monitor.so

Dynamic section at offset 0xdef8 contains 29 entries:
  Tag        Type                         Name/Value
 0x00000001 (NEEDED)                     Shared library: [libboost_timer.so.1.67.0]
 0x00000001 (NEEDED)                     Shared library: [libboost_system.so.1.67.0]

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-07-02 09:02:48 +02:00
Fabrice Fontaine
48f869f314 boost: timer needs chrono and system
output/host/usr/bin/m68k-linux-readelf -d output/staging/usr/lib/libboost_timer.so

Dynamic section at offset 0x5ef8 contains 29 entries:
  Tag        Type                         Name/Value
 0x00000001 (NEEDED)                     Shared library: [libboost_chrono.so.1.67.0]
 0x00000001 (NEEDED)                     Shared library: [libboost_system.so.1.67.0]

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-07-02 09:02:47 +02:00
Fabrice Fontaine
103f3557fb boost: chrono needs system
output/host/usr/bin/mips-linux-gnu-readelf -d output/staging/usr/lib/libboost_chrono.so

Dynamic section at offset 0x2c0 contains 30 entries:
  Tag        Type                         Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [libboost_system.so.1.67.0]

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-07-01 21:08:03 +02:00
Fabrice Fontaine
a20893f827 boost: filesystem needs system
output/host/usr/bin/m68k-linux-readelf -d output/staging/usr/lib/libboost_filesystem.so

Dynamic section at offset 0x17f00 contains 28 entries:
  Tag        Type                         Name/Value
 0x00000001 (NEEDED)                     Shared library: [libboost_system.so.1.67.0]

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-07-01 21:08:01 +02:00
Fabrice Fontaine
0ede7241d5 boost: make fiber module select the context module
The boost fiber module uses the boost context module, so it should
select it.

Due to this, the boost fiber module inherits the dependencies of boost
context: it needs exception_ptr handling, and is only available on the
architectures where boost context is supported.

Fixes:

  http://autobuild.buildroot.net/results/56509d315defb95d4ac6e278a9d40cd98f61baa7

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Thomas: use only one comment for both gcc bug dependencies.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-06-30 22:27:38 +02:00
Fabrice Fontaine
cb3dc94501 boost: coroutine selects context
Replace the coroutine dependency on context by a select

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-06-30 22:24:59 +02:00
Fabrice Fontaine
8360fb0150 boost: add BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS
Rework boost-context dependencies and manage them through the hidden
BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-06-30 22:22:36 +02:00
Fabrice Fontaine
4da82c8236 boost: add option for contract library
Contract library has been added in boost 1.67 and depends on NPTL

Fixes:
 - http://autobuild.buildroot.net/results/a3dd35cfa50a1862c585a648298351c0aba257db

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-06-24 23:54:28 +02:00
Matt Weber
fd97bc80c5 toolchain: allow disabling packages affected by gcc bug 85180
Works around https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85180 which
is an issue where the Microblaze architecture had code that caused a
infinite recursion while optimizing in versions of GCC earlier than
8.x. More BR discussion can be found on this thread.
http://buildroot-busybox.2317881.n4.nabble.com/autobuild-buildroot-net-Build-results-for-2018-04-25-td192721.html

Resolves:
http://autobuild.buildroot.net/results/b42d68c66d8ea035845a28c5530ef0682fd95713 (boost)
http://autobuild.buildroot.net/results/af976a4805fb8b3f0c17a8e3a1f901b2255caa0b (flare-engine)
http://autobuild.buildroot.net/results/d20/d20700bd538ba1e9d45ab8a61ecbbba1a320ef38 (gst-ffmpeg)

CC: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-05-30 23:23:21 +02:00
Jörg Krause
735158d55a boost: bump to version 1.66.0
Drop the metaparse module as it is header only library now. No need for
legacy handling as the module is available unconditionally in Boost.

Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2018-01-12 22:35:25 +01:00
Thomas Petazzoni
914bd57db7 boost: do not allow selecting fiber module on mips32/mips64
The fiber module uses the cpu_relax() macro, for which the MIPS
implementation uses the "pause" instruction, only available since
mips32r2 and mips64r2. In order to avoid build failures on
mips32/mips64, we disallow the selection of the fiber module for such
architecture variants.

This solution was suggested by Arnout Vandecappelle.

Fixes:

  http://autobuild.buildroot.net/results/0439790b6f472e3d4b2d5431a05aa5b408f62e56/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-22 23:25:40 +01:00
Adam Duskett
c78e12f5ad boost: add help messages to libraries
All of the help messages come from http://www.boost.org/doc/libs/1_65_1/

Signed-off-by: Adam Duskett <aduskett@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-10-29 15:41:03 +01:00
Adam Duskett
a43ddc79fe boost: add option for the stacktrace library
stacktrace requires dynamic library support, which was causing the
following build errors:

http://autobuild.buildroot.net/results/692ffad93a7bd867ecc7ccbfc8c6280735d29435/
http://autobuild.buildroot.net/results/6058ece804889abaaab0a29258e1de2904162d26/
http://autobuild.buildroot.net/results/12df9b345a90a4e011b8bb4cb1d1ef1c2c7040c0/
http://autobuild.buildroot.net/results/7473c433e93b3e785e44d9868fec517437f59847/

Adding an option for it allows to have it disabled by default, and
make sure it only gets enabled when shared library support is
available.

Signed-off-by: Adam Duskett <aduskett@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-10-29 15:40:36 +01:00
Adam Duskett
657dbfa00a boost: add fiber module
This module requires NPTL. Without support for the module, it is built
unconditionally, which was causing the following build errors:
http://autobuild.buildroot.net/results/029/0298038fc126d15733d81c54e0bb7cb00be48b92/build-end.log
http://autobuild.buildroot.net/results/6f3/6f3a218c47204e431100799482a3ed0ec159fa15/build-end.log
http://autobuild.buildroot.net/results/63e/63e5569a90d3ace97cb6102509cbd04aeab6f5f7/build-end.log

Signed-off-by: Adam Duskett <aduskett@gmail.com>
[Arnout: add empty line in Config.in, reword commit message]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2017-10-23 21:51:37 +02:00
Adam Duskett
4ef4a3405f boost: bump to 1.65.1, coroutine2 is now a header only library
The coroutine2 functionality is now provided only through headers, the
compiled library has disappeared. Due to that passing "coroutine2" as
argument to --without-libraries. Hence, the
BR2_PACKAGE_BOOST_COROUTINE2 option is removed by this commit.

We don't need Config.in.legacy handling, because coroutine2 support is
now unconditionally available in boost.

While at it, add LICENSE_1_0.txt sha256sum to boost.hash.

Signed-off-by: Adam Duskett <Adamduskett@outlook.com>
[Thomas: drop Config.in.legacy handling, reword commit log.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-10-21 15:18:24 +02:00
Jörg Krause
b139cb5dbe boost: module context affected by GCC bug 64735
Building boosts module context is affected by GCC bug 64735 [1]:

```
./boost/context/execution_context_v2.hpp:298:31: error: 'exception_ptr' is not a member of 'std'
     auto p = std::make_tuple( std::exception_ptr{}, std::move( data) );
```

This is because `exception_ptr` from libstdc++ is not available for
architectures not supporting always lock-free atomic ints.

Note, that this bug is fixed in GCC 7.

Fixes:
http://autobuild.buildroot.net/results/f4e/f4e8a3727f19f7df4a1c45efe3603422fafd4af5/

[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64735

Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-06-15 22:27:00 +02:00
Romain Naour
5270553b90 package/boost: disable boost-locale for static only build with icu
Boost fails to build with the following error:

error: Tried to build the target twice, with property sets having
error: these incompatible properties:
error:
error:     -  <runtime-link>static <warnings>all
error:     -  <runtime-link>shared <warnings>on

when the following conditions are met:

 - BR2_STATIC_LIBS=y
 - BR2_PACKAGE_ICU=y
 - BR2_PACKAGE_BOOST_LOCALE=y
 - Another BR2_PACKAGE_BOOST_xyz option is enabled, which enables a
   feature not provided just by header files, but that requires
   building a library.

In such a situation, Boost absolutely wants to build the libboost
libraries as shared libraries. Not having boost-locale, or not having
icu is sufficient to avoid the issue.

So, as a simple work-around, we prevent from building boost-locale
when icu and static linking are used.

Fixes:

  http://autobuild.buildroot.net/results/c8f7aa85f5791d8ae8cf4b9085788adc5152286f/

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Yegor Yefremov <yegorslists@googlemail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
[Thomas:
 - only disable boost-locale when icu is enabled
 - improve commit log]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-05-16 09:45:35 +02:00
Adam Duskett
48bd50287f package/b*/Config.in: fix ordering of statements
The check-package script when ran gives warnings on ordering issues
on all of these Config files.  This patch cleans up all warnings
related to the ordering in the Config files for packages starting with
the letter b in the package directory.

The appropriate ordering is: type, default, depends on, select, help
See http://nightly.buildroot.org/#_config_files for more information.

Signed-off-by: Adam Duskett <Adamduskett@outlook.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-04-29 17:17:57 +02:00
Romain Naour
778ab4da4f package/boost: context module needs ARM instructions on ARM
The boost-context module contains ARM assembly code, which uses ARM
instructions. Therefore, on Thumb-2 only platforms (such as Cortex-M),
the following build error occurs:

libs/context/src/asm/make_arm_aapcs_elf_gas.S: Assembler messages:
libs/context/src/asm/make_arm_aapcs_elf_gas.S:33: Error: unshifted register required -- `bic a1,a1,#15'
libs/context/src/asm/make_arm_aapcs_elf_gas.S:42: Error: immediate value out of range

To avoid this error, we make the boost-context module depend on
BR2_ARM_CPU_HAS_ARM.

Fixes:

  http://autobuild.buildroot.net/results/8f6770b59a343b9f710e9363b43227ee9f026660

Signed-off-by: Romain Naour <romain.naour@gmail.com>
[Thomas: use BR2_ARM_CPU_HAS_ARM instead of a dependency on
!BR2_ARM_CPU_ARMV7M.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-08-02 22:49:01 +02:00
Waldemar Brodkorb
36ed5cba0d boost: disable wave support for coldfire
A big autogenerated C file is used, which does not fit
in the limited range provided for coldfire.
See here for a longer discussion about the type of issue:
http://uclinux-dev.uclinux.narkive.com/9HrogvzP/fatal-error-tried-to-convert-pc-relative

Fixes:
http://autobuild.buildroot.net/results/c0a8b73901956b393bebe7df3b7af26ade26fcbf/

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-08-01 20:29:47 +02:00