Commit Graph

75 Commits

Author SHA1 Message Date
Alex Kiernan
8401052ffd boost: Use PN/BPN for naming of packages
Rework the anon Python so that it doesn't expect to find non-MLPREFIXed FILES
overrides which are then mapped into MLPREFIXed versions, this allows the
apparent hardcoding of boost-{test,serialization} to be written more naturally
(and is significantly less surprising).

With this, and a change to lookup ${BPN} when generating split package names,
generating an explicitly versioned boost package (e.g. "boost-1.82") alongside
the main boost package ("boost") can be done by copying/renaming the older
recipe. This is useful when upstream code hasn't yet been ported to newer
boost and an older version is required.

(From OE-Core rev: b0770990a8b332dd2de802091164c9506882a465)

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-03-03 18:01:30 +00:00
Markus Volk
4dfed23581 boost: add charconv lib
In boost 1.85 a charconv implementation in c++11 was added
[https://www.boost.org/doc/libs/master/libs/charconv/doc/html/charconv.html]

This is already used in real life and e.g. building the current wesnoth release fails with:
| /usr/src/debug/wesnoth/1.19.9/src/utils/charconv.hpp:57:(.text+0x238b): undefined reference to `boost::charconv::to_chars(char*, char*, double, boost::charconv::chars_format)'

Add charconv to BOOST_LIBS to provide the library

(From OE-Core rev: 42d14c130f2159c1d9ea314acc93142e6ccb2761)

Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-03-03 18:01:29 +00:00
Christian Eggers
06170c65ac boost: add url lib
Boost.URL is a library for manipulating Uniform Resource Identifiers
(URIs) and Locators (URLs).

(From OE-Core rev: 03daa9c96dbc06234348d0ab14631cec6ddf50d6)

Signed-off-by: Christian Eggers <ceggers@arri.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-01-09 14:20:14 +00:00
Khem Raj
22a6ff07aa boost: Refrain bjam from poking into host includes
bjam's logic to find icu during build time tries to poke at /usr/ for
various files and it succeeds for 32bit target build on my host and it adds
-I/usr/inclue to search paths because I do have icu installed on build
host in /usr/lib and /usr/include but does not succeed
for 64-bit target builds because its searching for same in /usr/lib64

on 32-bit log_dompile shows

    - icu                      : yes [5]
on 64 bit

    - icu                      : no [2]

On 64bit its getting lucky because the test is failing due to mismatches
in size of 'uintptr_t' since its reading half the headers from build
host and remaining from target C++ library.

In file included from /mnt/b/yoe/master/build/tmp/work/riscv64-yoe-linux/boost/1.80.0-r0/boost_1_80_0/libs/locale/build/has_icu_test.cpp:7:
In file included from /usr/include/unicode/locid.h:38:
In file included from /usr/include/unicode/bytestream.h:45:
In file included from /usr/include/unicode/std_string.h:37:
In file included from /mnt/b/yoe/master/build/tmp/work/riscv64-yoe-linux/boost/1.80.0-r0/recipe-sysroot/usr/include/c++/v1/string:549:
In file included from /mnt/b/yoe/master/build/tmp/work/riscv64-yoe-linux/boost/1.80.0-r0/recipe-sysroot/usr/include/c++/v1/memory:853:
In file included from /mnt/b/yoe/master/build/tmp/work/riscv64-yoe-linux/boost/1.80.0-r0/recipe-sysroot/usr/include/c++/v1/__memory/compressed_pair.h:16:
In file included from /mnt/b/yoe/master/build/tmp/work/riscv64-yoe-linux/boost/1.80.0-r0/recipe-sysroot/usr/include/c++/v1/tuple:226:
/mnt/b/yoe/master/build/tmp/work/riscv64-yoe-linux/boost/1.80.0-r0/recipe-sysroot/usr/include/c++/v1/typeinfo:247:14: error: cast from pointer to smaller type 'std::__type_info_implementations::__non_unique_arm_rtti_bit_impl::__type_name_t' (aka 'unsigned int') loses information
      return reinterpret_cast<__type_name_t>(__v);
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Therefore, help bjam avoid peeking into build system includes entirely.
now if ICU is staged in sysroot it will look there for all headers.

Look into libs/locale/build/Jamfile.v2 after 'Xlocale' section if
you seek further information

(From OE-Core rev: 0a87f700ed52434bf5055db25dc4ad427d83cc22)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-09 14:09:01 +01:00
Matthias Klein
6c9e94f318 boost: add json lib
Add the json lib which provides containers and algorithms
that implement JavaScript Object Notation, or simply "JSON",
a lightweight data-interchange format.

(From OE-Core rev: f4dbdb9774eb61a71289fe91b017b4caf9c34b16)

Signed-off-by: Matthias Klein <matthias@extraklein.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-02-10 10:32:08 +00:00
Richard Purdie
bb6ddc3691 Convert to new override syntax
This is the result of automated script conversion:

scripts/contrib/convert-overrides.py <oe-core directory>

converting the metadata to use ":" as the override character instead of "_".

(From OE-Core rev: 42344347be29f0997cc2f7636d9603b1fe1875ae)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-02 15:44:10 +01:00
Meh Mbeh Ida Delphine
c8075ed8f1 recipes-support: Add missing HOMEPAGE and DESCRIPTION for recipes
Fixes: [YOCTO #13471]

(From OE-Core rev: 6db24928d62aeb093a0e6da6619713eaca57a96f)

Signed-off-by: Ida Delphine <idadelm@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-03-02 20:39:36 +00:00
Richard Purdie
c4257ed8b1 native: Stop clearing PACKAGES
Native recipes have been special and they don't have packages generated
from them. The RDEPENDS/RPROVIDES and other runtime package specific
variables can contain important data about dependencies recipes need
though and currently it is required to write this information explicitly
in the native case.

We now delete the packaging tasks for native recipes which removes the
need to clear PACKAGES. The next step to improve the metadata is to
stop clearing it and ensure any entries in these variables are remapped
appropriately. The R* variables were already being processed by the class
extension code but the implementation was suboptimal.

This patch stops clearing PACKAGES and PACKAGES_DYNAMIC and fixes the places
where that caused issues in OE-Core, for example PACKAGES additions in anonymous
python without the "-native" suffix and a case where the included classes
caused a self reference in DEPENDS which would once have been removed by
the previous code.

The implementation uses datastore/parser parameters to ensure that the
variable overrides are not overwritten when calling setVar which is appropriate
for a function as close to the core as this one is.

Some now unneeded code in python3-setuptools is dropped, there are further
changes like this which can follow.

This change was verified with OE-Core by comparing task-depends.dot generated
by "bitbake world -g" before and after the change, the files were identical.

(From OE-Core rev: fd6a007efa7cb45101a66f294af81d9d33bb3fab)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-29 21:21:53 +00:00
Ross Burton
6242625416 boost: consolidate and update library list
Add some new libraries to the list (fiber, headers, type_erasure).

Move context/coroutine to the list instead of using overrides as it
builds everywhere I can test it.

Remove the mips16e override for wave as Boost fails so dramatically with
mips16e enabled that this isn't even close to a fix. Someone who cares
can fix this properly.

(From OE-Core rev: 092228f2df6869e31b157ea08766b3e94bee6e29)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-08 10:22:10 +01:00
Ross Burton
a685e07a44 boost: don't specify gcc version
There's no need to specify an ancient GCC version here as Boost will
probe it.

(From OE-Core rev: 2339bf5b0aceb8e55f4b38e44b2383389e514393)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-08 10:22:10 +01:00
Ross Burton
af7b126c7a boost: build a standalone boost.build
Boost is a huge unirepo made from multiple submodules. To bootstrap it we
need boost.build (previously bjam) which is also available as a solo
repository. This smaller repository can unpack/build/package faster than
the Boost unirepo can unpack.

Rename the recipe to the current name of Boost.Build that installs a b2
binary, use the solo repository, and update the Boost recipe to use
the b2 binary instead of bjam.

(From OE-Core rev: 76079f921e596125b0e281ca95e2394d7688aaf2)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-08 10:22:10 +01:00
Ross Burton
6817a1b683 boost: move the build directory outside of S
Instead of manually creating and deleting build directories, follow the idioms
by setting B to WORKDIR/build, setting do_configure[cleandirs], and using ${B}
where appropriate.

(From OE-Core rev: 6ee1b1e6d65214ab32030ee4b37997f8a9871f25)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-30 15:01:51 +01:00
Richard Purdie
edbf8d3999 multilib/recipes: Use new RecipePostKeyExpansion event
There are issues with multilib due to the ordering of events where some
functions see the remapped multilib dependencies and some do not. A significant
problem is that the multilib class needs to make some changes before key expansion
and some afterwards but by using existing event handlers, some code sees things
in a partially translated state, leading to bugs.

This patch changes things to use a new event handler from bitbake which makes the
ordering of the changes explcit.

The challenge in doing this is that it breaks some existing anonymous python and
dyanmic assignments. In some cases these used to be translated and no longer are,
meaning MLPREFIX has to be added. In some cases these are now translated and the
MLPREFIX can be removed.

This change does now make it very clear when MLPREFIX is required and when it is
not, its just the migration path which is harder. The patch changes the small number
of cases where fixes are needed.

In particular, where a variable like RDEPENDS is conditionally extended (e.g.
with an override), MLPREFIX is now required.

This patch also reverts:
base: Revert 'base.bbclass: considering multilib when setting LICENSE_EXCLUSION'

This reverts 6597130256a1609c3e05ec5891aceaf549c37985 as the changes
to multilib datastore handling mean its no longer necessary.

(From OE-Core rev: b3fda056a674889cd9697e779de023d4f993d3ce)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-05-27 10:47:05 +01:00
Jeremy Puhlman
95cf1a9a5d boost: fix reproducibilty issues
fix cmake file references of image dir path

(From OE-Core rev: e12caa834bef6b5d0cad7e96f79374a0dbf86aea)

Signed-off-by: Jeremy A. Puhlman <jpuhlman@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-12 22:49:28 +00:00
Alexander Kanavin
270a33863e boost: update to 1.71.0
Some notes:
- bjam bootstrap scripts were changed, and the patch for that had to be
  adjusted. tools/build/src/engine/build.sh now supports an --debug option
  which the bjam-native recipe can use to get the debug build of b2.
- a related patch was added to address a speed regression with the debug
  version of bjam
- gcc.jam patch had to be refreshed because boost added more "cpu-flags"
  lines.
- since 1.70.0, boost includes new cmake config files which are packaged
  in ${PN}-dev now so they make it into the SDK. (although 1.71.0 is needed
  to fix some bugs in them)

(From OE-Core rev: 810aded01fc2ae2c27c2573135c20947453e50c6)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-28 11:31:21 +01:00
Bedel, Alban
3276bded22 boost: Fix build and enable context and coroutines on aarch64
Like for ARM bjam need some hints about the ABI to properly build on
aarch64. While at it also enable context and coroutine as these are
supported on aarch64.

(From OE-Core rev: 5140e0a64aac8c621fe0d839dea41b7b43a96b4d)

Signed-off-by: Alban Bedel <alban.bedel@aerq.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-13 09:37:36 +01:00
Ross Burton
85a7ae1086 boost: set CVE vendor to Boost
There's a Boost module for Drupal.

(From OE-Core rev: 30ff8bb6502d45549c698be052a1caf4cb5c611f)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-18 12:16:19 +01:00
Alexander Kanavin
9707bb401f boost: update to 1.69.0
Drop upstreamed reproducibility-add-file-directive-to-assembler.patch

Drop signals library as upstream has removed it:
https://www.boost.org/users/history/version_1_69_0.html

(From OE-Core rev: 894d2867275e72caac9181ea3b859d7595268f7f)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-01-03 12:35:54 +00:00
Vernon Mauery
22cbd08cb1 boost: build context and coroutine for arm
When cross-compiling for arm architecture, bjam fails to properly
detect the abi, which causes a failed conditional to omit the
assembly code that supports the platform.

(From OE-Core rev: 920f2c479c3cf30d92f79dc9098e5915c05cc5e1)

Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-26 15:13:46 +01:00
Mingli Yu
bce155af1f boost: add contract lib
Add the contract lib which implements contract
programming (a.k.a., Design by Contract or DbC) [1]
for the C++ programming language.

(From OE-Core rev: 53756087222a12646c4e63dba5c91df16c873111)

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 10:56:50 +01:00
Mingli Yu
d336110b94 boost: update to 1.67.0
* Remove the backported patch 0001-Fix-a-strange-assert-typo-how-was-this-released-with.patch
* Remove the patch 0002-Don-t-set-up-m32-m64-we-do-that-ourselves.patch
  as it already rewritten gcc to use toolset.flags again
  as below:

  commit 12decb3ce680031b915f69902795eec47224fc7d
  Author: Steven Watanabe <steven@providere-consulting.com>
  Date:   Mon Jan 1 12:51:43 2018 -0700

    Rewrite gcc to use toolset.flags again.
* Remove the hardcoded parallel build limit as the
  mechanism already changed as below commit:
  commit 316e26ca718afc65d6170029284521392524e4f8
  Author: Steven Watanabe <steven@providere-consulting.com>
  Date:   Wed Apr 26 14:22:06 2017 -0600

    Remove fixed limit to -j.  Fixes #189.
    * execunix.c: Replace select with poll.
    * execnt.c: Use RegisterWaitForSingleObject when the number of jobs exceeds MAXIMUM_WAIT_OBJECTS.

Reference: 316e26ca71 (diff-c88fe8afebc632d0bef2bd5985137af2)

(From OE-Core rev: 358cf46ea4d01b7ad8c355fa103d4a6922cc0a88)

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-04 13:28:05 +01:00
Joshua Watt
feded5fe27 utils.py: add parallel make helpers
The code to extract the integer number of parallel build threads and
construct a new argument from them has started to be copied in multiple
locations, so create two new helper utilities to aid recipes.

The first helper (parallel_make()) extracts the integer number of
parallel build threads from PARALLEL_MAKE. The second
(parallel_make_argument()) does the same and then puts the result back
into a format string, optionally clamping it to some maximum value.

Additionally, rework the oe-core recipes that were manually doing this
to use the new helper utilities.

(From OE-Core rev: ccd1142d22b31ed85d8823b1bc9e11ccfd72b61f)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-16 18:05:40 +00:00
Anuj Mittal
56be88fcd4 boost: fix build with x32 and musl
Make sure that boost picks up correct address model value
for x32 even when musl is enabled.

Fixes [YOCTO #12119]

Suggested-by: Ovidiu Panait <ovidiu.panait@windriver.com>
(From OE-Core rev: 1879bd13f09c8180f737ddaccd2025e22c7f0c46)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-03 09:26:37 +00:00
Jackie Huang
c8616512b6 boost: add python to default PACKAGECONFIG options
We want to provide python libs by default, and some other
popular Linux distributions like redhat/fedora does the same.

(From OE-Core rev: 41744c418009dccc5f79c1a4a28419807d67837c)

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-24 13:48:10 +01:00
Ross Burton
85293a044f boost: various cleanups
Re-order some assignments to be logically arranged.

Remove the set -ex statements as they serve no purpose.

Pass --debug-configuration to see what configuration steps boost is taking.

(From OE-Core rev: 2dc4796f02ecdc99ee3c51c668e8d9090e68a655)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-27 08:15:06 +01:00
Ross Burton
814e960d37 boost: port boost-python to Python 3
As Python 3 is the default Python version, change Boost to build against Python
3 instead of Python 2 if enabled.  It's not simple to support both, so this
means that support for building boost-python against Python 2 has been removed.

This involves backporting a number of patches upstream to fix Python 3 support,
and telling Boost precisely where to find the Python headers and libraries so
that it doesn't try to invoke the host Python to determine these values.

[ YOCTO #11104 ]

(From OE-Core rev: 0f5418eb0ce12811b16d2e3c28c28140a509f685)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-27 08:15:06 +01:00
Peter Kjellerstedt
254bfb1071 recipes: Make use of the new bb.utils.filter() function
(From OE-Core rev: 0a1427bf9aeeda6bee2cc0af8da4ea5fd90aef6f)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-01 11:17:45 +00:00
Christopher Larson
550052f9d8 boost: drop flags bits, fix for x32
boost was adding -march/-mcpu itself, and adding -m32/-m64 itself as well.
Patch that behavior out, apply another similar patch from elsewhere, and
adjust BJAM_OPTS to fix the x32 build.

(From OE-Core rev: 2dc30ad281b625e0c4f2437879bce58245aa45b1)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:12 +00:00
Joshua Lock
c4e2c59088 meta: remove True option to getVar calls
getVar() now defaults to expanding by default, thus remove the True
option from getVar() calls with a regex search and replace.

Search made with the following regex: getVar ?\(( ?[^,()]*), True\)

(From OE-Core rev: 7c552996597faaee2fbee185b250c0ee30ea3b5f)

Signed-off-by: Joshua Lock <joshua.g.lock@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-16 10:23:23 +00:00
André Draszik
0884cb44f5 boost: disable 'wave' in MIPS16e mode
This doesn't compile, see
  https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77757#c2

(From OE-Core rev: 59f77d48528498f12cc9d1ba641a9c7ff50ba03a)

Signed-off-by: André Draszik <adraszik@tycoint.com>
Acked-by: Sylvain Lemieux <slemieux@tycoint.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-11-06 23:35:32 +00:00
Richard Purdie
ff8fa4cea0 boost: Ensure native recipes have consistent checksums
When building boost-native on i686, the x86 override isn't applied
unless the target also happens to be x86. Similarly the x86_64 override
is only applied on 64 bit target machines.

Avoid various problems by removing the new problematic configure options
in the native case.

(From OE-Core rev: 5a4fe5a735b16e313e7a33649b4e7764a6888d0c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-10-01 21:45:57 +01:00
Jackie Huang
b7fac3f260 boost: add support for additional boost libs
* Added libs:
  - container
  - context
  - coroutine
  - exception
  - graph_parallel
  - locale
  - math
  - mpi
  - wave

* Add PACKAGECONFIG to add proper dependencies for:
  graph_parallel, locale, and mpi.

* boost-mpi depends on mpich which is in meta-oe,
  and boost-graph_parallel depends on boost-mpi,
  so they are disabled by default, but can be enabled
  in a distro that needs them.

* context and coroutine are added only for x86 and powerpc.

(From OE-Core rev: a715a4ef10eed0ccffac1c38af89e16090d8159e)

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-28 10:16:03 +01:00
Ross Burton
e717e28eda boost: improve configure
Instead of adding a custom task (do_boostconfig) simply use the existing
do_configure.

Ensure that there are no relative paths in do_configure.

Instead of editing the user-config.jam sample file in the source tree (which is
entirely comments) and extending it on every build, create a new user-config.jam
in ${WORKDIR}.

(From OE-Core rev: 1f3cfc77f1dcbfffd319f09591814611f7a5c6bf)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-29 07:41:42 +01:00
Ross Burton
ff61a85642 boost: delete the build directory before rebuilding
If there is an existing build directory when do enter do_compile() then delete
it, as it contains the previous build.  If the rebuild was caused because
dependencies have changed we want to ensure that a rebuild actually happens.

(From OE-Core rev: e96b6d73e0842e559810e780f20e49267ebb686e)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-29 07:41:42 +01:00
Andre McCurdy
083c63dddf boost.inc: fix BJAM_OPTS --build-dir option
The correct syntax is --build-dir ( --builddir is silently ignored ).

(From OE-Core rev: 0a8e78b67254ab1a0348cd47c4d96907af558de1)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-28 11:33:06 +00:00
Andre McCurdy
4d1c14ff90 boost.inc: enable more verbose build logs
The default build output is very terse. Add -d+2 (ie "Show commands
as they are executed") to BJAM_OPTS to make the do_compile logs more
informative.

Also add -q (ie "Stop at first error") to BJAM_OPTS and fix typo in
comments.

(From OE-Core rev: 74c28b2719f0e1723c5ee0f885955412ea229a73)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-28 11:33:03 +00:00
Andre McCurdy
b8bdb992e9 boost.inc: limit ARM_INSTRUCTION_SET over-rides to armv4/armv5
The original over-ride dates back to 2009:

  http://git.openembedded.org/openembedded-core/commit/?id=43e94412c45b4b79485a64010c76d89b245bb235

There are no obvious issues seen now when building boost in thumb2
for Cortex A15.

(From OE-Core rev: aad50cb3848c92bc73ba96d6e69c74d377a23c08)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-28 11:33:03 +00:00
Lukas Bulwahn
cd2cf1f654 boost: update to 1.60.0
Due to the version update to 1.59.0, the two patches previously
backported in this recipe are now dropped. The actual status of
the arm-intrinsics.patch (reported with Upstream-Status: Backport)
is unknown to the committer, and hence, that patch is kept in the
recipe, even if it is possibly not required anymore. A deeper
analysis is required to determine need and status of that patch.
Second, boost 1.59.0 provides a new library, called timer,
which is packaged as further library in the boost recipe. The
update to boost 1.60.0 required no further changes beyond
changing the checksum hashes.
Third, on PPC architectures, qemuppc & mpc8315e-rdb [1] (tested
by Ross Burton), the boost test library with the vanilla
version 1.60.0 fails with:

| gcc.compile.c++ bin.v2/libs/test/build/aca09349fdb84d131321425f6c3a38ed/execution_monitor.o
| In file included from [...]/tmp/sysroots/mpc8315e-rdb/usr/include/fenv.h:114:0,
|                  from [...]/tmp/sysroots/mpc8315e-rdb/usr/include/c++/5.3.0/fenv.h:36,
|                  from ./boost/detail/fenv.hpp:97,
|                  from ./boost/test/execution_monitor.hpp:64,
|                  from ./boost/test/impl/execution_monitor.ipp:31,
|                  from libs/test/src/execution_monitor.cpp:16:
| ./boost/test/impl/execution_monitor.ipp: In function 'unsigned int boost::fpe::enable(unsigned int)':
| ./boost/test/impl/execution_monitor.ipp:1383:7: error: expected id-expression before '(' token
|      ::feclearexcept(BOOST_FPE_ALL);
|        ^
| ./boost/test/impl/execution_monitor.ipp: In function 'unsigned int boost::fpe::disable(unsigned int)':
| ./boost/test/impl/execution_monitor.ipp:1420:7: error: expected id-expression before '(' token
|      ::feclearexcept(BOOST_FPE_ALL);
|        ^

The commit f50e7bc9fed323c5705c0ed992c03e80eeec1dd6 from the
boostorg/test github repository (branch: develop) [2] addresses
that issue, but it was not merged in the 1.60.0 release. This
commit adds this upstream-accepted patch, which was created by:

  `git checkout f50e7bc9fed323c5705c0ed992c03e80eeec1dd6 && git format-patch -1`

[1] http://lists.openembedded.org/pipermail/openembedded-core/2016-January/114844.html
[2] f50e7bc9fe

(From OE-Core rev: 17d77db5e1203e18cdd178e7d9a457310425ebdc)

Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-11 23:26:30 +00:00
Lukas Bulwahn
a500e3a45a boost: ensure boost to remain an empty metapackage
To ensure that boost remains an empty metapackage after version
updates, we explicitly require boost files to be empty. If new
libraries exist after a version update of the boost recipe,
bitbake will emit a warning at the do_package task. For example,
at the version update from 1.58.0 to 1.59.0, the new timer
library is indicated with:

WARNING: QA Issue: boost: Files/directories were installed but not shipped in any package:
  /usr/lib/libboost_timer.so.1.59.0
Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.
boost: 1 installed and not shipped files. [installed-vs-shipped]

Ross Burton suggested this improvement on the openembedded-core
mailing list during review of the boost recipe version update [1].

[1] http://lists.openembedded.org/pipermail/openembedded-core/2015-December/114314.html

(From OE-Core rev: c4e33232db2da3594cc4ba38eea56ee1acb54d3a)

Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-07 13:40:21 +00:00
Lukas Bulwahn
27b9f041df boost: adjust hard-coded path after python3 upgrade
When using `PACKAGECONFIG = "python"` in the boost recipe, `bitbake boost`
fails at do_compile with:

    ./boost/python/detail/wrap_python.hpp:50:23: fatal error: pyconfig.h: No such file or directory
    compilation terminated.

This issue is due to the recent version upgrade from python 3.4 to 3.5:

701ec1977ced1bb08461e6de98b4f63d21cba8a6 python3: Upgrade from 3.4.3 to 3.5

The boost.inc file modifies the boost build configuration with a path
containing the python3 major version, which is hard-coded in the boost.inc
file. Hence after the python3 update, the path points to the outdated
location and it needs to be updated to the new location.

This issue was unrevealed by an internal continuous integration system
for the meta-ros application layer. Further manual bisecting lead to the
critical commit 701ec1977ced1bb08461e6de98b4f63d21cba8a6.

(From OE-Core rev: 0eefd38a13a6ecb35f26ed8cd16f0b36f2c5d652)

Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-09 08:48:25 +00:00
Andre McCurdy
6bfa1dcc6e boost.inc: remove unused parameter from get_boost_parallel_make()
The bb parameter seems to have been accidentally left behind after:

  http://git.openembedded.org/openembedded-core/commit/?id=1ff36aaec25a7ee89514366fe484345e8d1d7b64

(From OE-Core rev: 871d3279fd3360628c8fd9a37134eca541b10636)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-25 08:08:09 +00:00
Andreas Müller
a9b41dbfc2 boost: add python3 support
* Both - python/python3 - libs are build by adding 'python' to PACKAGECONFIG
  but are packed into separate packages
* Indention was wrong in __anonymous()

(From OE-Core rev: 0069b5f4fb0986a55a0a7844952b1a3b277292f8)

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-10 12:40:19 -07:00
Ross Burton
62dae66e0d boost: add dirs flag to boostconfig task
The boostconfig task expects to run in ${S} so make that explicit.

(From OE-Core rev: bb458d6c085e4c3d9d4ee8b1fba23600e2d7376b)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-07-16 15:09:21 +01:00
Lukas Bulwahn
0bbd310e0d boost: extend libraries with log and random
(From OE-Core rev: b00cc34f8251fa1cc478de112292e105f12127d7)

Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-29 10:17:15 +01:00
Martin Jansa
a485c2b1ff boost: properly fix do_boostconfig re-execution
* it was partially fixed in:
  commit 291e20a51544c640d07767d1dc32d762f4370f41
  Author: Venkata ramana gollamudi <ramana.gollamudi@huawei.com>
  Date:   Fri Apr 13 11:42:46 2012 +0000
  Subject: boost: fix re-execution of task

  but with disadvantage that when CXX or *FLAGS variables were changed
  it was continuing to use old values
* just remove the line before appending it with current values to fix
  that

(From OE-Core rev: 8ce9584a78079b3db88eabfa902025a94443378d)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 17:45:00 +01:00
Li Zhou
aa2b6362ef boost/libxslt: Enable nativesdk to unbreak <bitbake universe>
When run <make universe.fetchall>, the make will be broken because
nativesdk-boost and nativesdk-libxslt don't exist.
nativesdk-boost is depended by nativesdk-curlpp.
nativesdk-libxslt is depended by nativesdk-python-lxml.
In condition that meta-openembedded is compiled in.

Add nativesdk building for boost and libxslt.

(From OE-Core rev: 1bb2c58ef7de3a1d52b4a29ca3cc230defe6c21d)

Signed-off-by: Li Zhou <li.zhou@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-03 11:43:50 +01:00
Fabien Proriol
dacbc744bf boost: Avoid to use local host configuration
(From OE-Core rev: 6586aeb3e26d58322c169dfef0228a425fe5d3fa)

Signed-off-by: Fabien Proriol <fabien.proriol@jdsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-29 15:36:48 +00:00
Philip Balister
c73a6ca2a8 boost : Add the atomic and chrono libraries to the build.
Inspection of buildhistory shows no existing libraries changed and
the atmoic and chrono libraries are packaged individually.

(From OE-Core rev: d5b0e6062a4e9f66a5b1813ed082a56cce5bee5d)

Signed-off-by: Philip Balister <philip@balister.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-25 22:05:43 +00:00
Enrico Scholz
0aedb382b3 boost: fix build when ${PARALLEL_MAKE} contains '-l'
The '-l' option which is valid for GNU make (--> limit by load) has a
different meaning in bjam (--> limit maximum execution time) and will
break very likely the build.

Keep only the the '-l' option when passing PARALLEL_MAKE options to
bjam.

(From OE-Core rev: 1ff36aaec25a7ee89514366fe484345e8d1d7b64)

Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-10 16:44:32 +01:00
Saul Wold
b1d8f59027 boost: Upgrade to 1.56.0
Rebase boostconfig to handle moved user-config file

(From OE-Core rev: a6afd754290cecbe57392d13477557051b438817)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-23 09:26:08 +01:00