Age | Commit message (Collapse) | Author |
|
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.
Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Add the contract lib which implements contract
programming (a.k.a., Design by Contract or DbC) [1]
for the C++ programming language.
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
* 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: https://github.com/boostorg/build/commit/316e26ca718afc65d6170029284521392524e4f8#diff-c88fe8afebc632d0bef2bd5985137af2
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
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.
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
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>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
We want to provide python libs by default, and some other
popular Linux distributions like redhat/fedora does the same.
Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
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.
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
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 ]
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
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.
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
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\)
Signed-off-by: Joshua Lock <joshua.g.lock@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
This doesn't compile, see
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77757#c2
Signed-off-by: André Draszik <adraszik@tycoint.com>
Acked-by: Sylvain Lemieux <slemieux@tycoint.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
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.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
* 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.
Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
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}.
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
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.
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
The correct syntax is --build-dir ( --builddir is silently ignored ).
Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
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.
Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
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.
Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
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] https://github.com/boostorg/test/commit/f50e7bc9fed323c5705c0ed992c03e80eeec1dd6
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
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
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
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.
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
The bb parameter seems to have been accidentally left behind after:
http://git.openembedded.org/openembedded-core/commit/?id=1ff36aaec25a7ee89514366fe484345e8d1d7b64
Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
* Both - python/python3 - libs are build by adding 'python' to PACKAGECONFIG
but are packed into separate packages
* Indention was wrong in __anonymous()
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
The boostconfig task expects to run in ${S} so make that explicit.
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
* 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
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
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.
Signed-off-by: Li Zhou <li.zhou@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Fabien Proriol <fabien.proriol@jdsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Inspection of buildhistory shows no existing libraries changed and
the atmoic and chrono libraries are packaged individually.
Signed-off-by: Philip Balister <philip@balister.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
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.
Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
|
|
Rebase boostconfig to handle moved user-config file
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
The base_contains is kept as a compatibility method and we ought to
not use it in OE-Core so we can remove it from base metadata in
future.
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
The compileflags and linkflags do_boostconfig puts into user-config.jam are
having no effect. According to
http://www.boost.org/boost-build2/doc/html/bbv2/reference/tools.html the
correct syntax would be <compileflags>"the flags" <linkflags>"the flags".
Since the flags specified were having no effect they can't be necessary and
can be safely removed. We should be passing ${CFLAGS}, ${CXXFLAGS} and
${LDFLAGS} instead so that users of the recipe can pass arbitrary flags as
they choose.
Signed-off-by: Mike Crowe <mac@mcrowe.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
A lot of our recipes had short one-line DESCRIPTION values and no
SUMMARY value set. In this case it's much better to just set SUMMARY
since DESCRIPTION is defaulted from SUMMARY anyway and then the SUMMARY
is at least useful. I also took the opportunity to fix up a lot of the
new SUMMARY values, making them concisely explain the function of the
recipe / package where possible.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
|
|
Until now, the comment in the boost.inc file suggested to enable
the boost-python library by uncommenting some lines in that file.
Using the new PACKAGECONFIG feature, boost-python can now be added
optionally without need to modify the file or copying those lines
into a bbappend file.
Furthermore, we obtain the python version by inheriting python-dir
instead of fixing the python version in this file.
This commit is motivated by the need in the meta-ros layer, as
discussed in the issue #145 of the meta-ros issue tracker [1].
[1] https://github.com/bmwcarit/meta-ros/pull/145
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Since its initial commit from the classic OpenEmbedded repository
in 43e94412c45b4b79485a64010c76d89b245bb235, serialization was
commented out, reportedly due to some issue with powerpc in the
boost version 1.36. In the classic OpenEmbedded repository,
serialization has been added again since version 1.4x.
The commit removes the outdated comment and adds serialization to
the BOOST_LIBS after testing `bitbake boost` and bitbaking some
applications using boost from the meta-ros layer for qemuppc.
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
It was passing "None" to bjam, which then parsed it as unknown build target.
Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
* greater paralelism isn't supported by bjam and causes segfault or ignoring -j
* PARALLEL_MAKE was enabled for boost in
http://git.openembedded.org/openembedded-core/commit/?id=9b9cfc1dfe5e3b8f89b7a8508537166d0f23935e
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
The current boost recipe only creates the bjam build tool during
a native run and thereby is not usable for other native recipes
that depend on a boost library. Split out the build tool into its
own bjam-native recipe and add real native support to the boost
recipe. Additionally replace the boost-native with bjam-native in
the DEPENDS. This allows recipes to depend on native boost
librarties without increase of the build time for other use cases.
Native compilation of bzip2 isn't working and therefore disabled.
Signed-off-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Drop hash_enums.patch which is already applied upstream
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Like make, bjam accepts the parameter -jX for multithreaded execution
do_install also profits from this setting
Tested with a quad core 64bit intel cpu (with hyperthreading) PARALLEL_MAKE="j16"
$ time bitbake boost
before:
real 14m37.433s
user 7m40.785s
sys 4m30.109s
after:
real 7m11.979s
user 12m10.694s
sys 2m47.078s
Also fixes tab indention
Signed-off-by: Samuel Stirtzel <s.stirtzel@googlemail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
This patch is needed for making wesnoth(will be sumbited
in meta-games) work.
[RP: Add missing bzip2 dependency]
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
The overrides virtclass-native and virtclass-nativesdk are deprecated,
which should be replaced by class-native and class-nativesdk.
NOTE:
There were 2 errors in libcap.inc, the BUILD_LDFLAGS_virtclass_native
should be BUILD_LDFLAGS_virtclass-native (the "_" should be "-"),
otherwise it doesn't work, and the value was: "-Wl,rpath=...", this is
incorrect, it shoudl be: "-Wl,-rpath=..." (lacked a - ), but we don't
need this line, since it is already in the default BUILD_LDFLAGS. Remove
it and we don't need to bump the PR since we just removed a unused line.
[YOCTO #3297]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
The bb and os modules are always imported so having these extra import calls
are a waste of space/execution time. They also set a bad example for people
copy and pasting code so clean them up.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
This change ensures we use the user-config.jam Configuration
that we created and will not use anything from the user's home
directory.
[YOCTO #2302]
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
[RP: Fix whitespace]
Signed-off-by: Tasslehoff Kjappfot <tasskjapp@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
After building boost package, re-execution of boostconfig task followed by
re-execution of compile task is giving following error
"error: duplicate initialization of gcc with the following parameters" during compilation
It is because multiple entries of gcc are being added during boostconfig re-execution
there by failing the compilation.
The patch fixes adding multiple "Using gcc" entries into /tools/build/v2/user-config.jam
[Yocto #2194]
Signed-off-by: Venkata Ramana Gollamudi <ramana.gollamudi@huawei.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Using "1" with getVar is bad coding style and "True" is preferred.
This patch is a sed over the meta directory of the form:
sed \
-e 's:\(\.getVar([^,()]*, \)1 *):\1True):g' \
-e 's:\(\.getVarFlag([^,()]*, [^,()]*, \)1 *):\1True):g' \
-i `grep -ril getVar *`
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|