aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-support/boost
AgeCommit message (Collapse)Author
2018-06-15boost: Improve reproducibilityMingli Yu
Set .file section explicitly for .S files to avoid the linker introduces the host path in symbols for object files whose source file is .S Otherwise, there is a host path in the symbols as below: $ readelf --wide --symbols /my-build/boost/1.67.0-r0/boost_1_67_0/x86_64-poky-linux/boost/bin.v2/libs/context/build/aca09349fdb84d131321425f6c3a38ed/libboost_context.so.1.67.0 42: 0000000000000000 0 FILE LOCAL DEFAULT ABS /my-build/boost/1.67.0-r0/boost_1_67_0/x86_64-poky-linux/boost/bin.v2/libs/context/build/aca09349fdb84d131321425f6c3a38ed/asm/make_x86_64_sysv_elf_gas.o [YOCTO #12708] Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15boost: add contract libMingli Yu
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>
2018-05-04boost: update to 1.67.0Mingli Yu
* 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>
2018-02-16utils.py: add parallel make helpersJoshua Watt
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>
2018-02-06boost: update to 1.66.0Alexander Kanavin
Rework 0002-Don-t-set-up-m32-m64-we-do-that-ourselves.patch to remove the offending bits from the function instead of removing calls to the function all over the place. Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-01-03boost: fix build with x32 and muslAnuj Mittal
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>
2017-11-09boost: update to 1.65.1Alexander Kanavin
Add a patch to fix bjam-native compile error (due to mistyped variable name). Drop upstreamed patch. Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
2017-08-24boost: add python to default PACKAGECONFIG optionsJackie Huang
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>
2017-06-27meta: Fix malformed Upstream-Status tagsRoss Burton
Fix a variety of spelling and format mistakes to improve the ease of reading the tags programatically. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-05-30boost: backport a regression fix for forgotten headerDmitry Rozhkov
The v1.64 release has broken array serialization code with issues reported in https://svn.boost.org/trac/boost/ticket/12516 https://github.com/bmwcarit/meta-ros/issues/505 Backport the fix from boost::serialization's master. Signed-off-by: Dmitry Rozhkov <dmitry.rozhkov@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-05-12boost: Upgrade to 1.64.0Khem Raj
drop upstreamed patches Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-04-28boost: fix upstream version checkAlexander Kanavin
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-03-26boost: various cleanupsRoss Burton
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>
2017-03-26boost: port boost-python to Python 3Ross Burton
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>
2017-03-01boost: update to 1.63.0Alexander Kanavin
Drop backported 0002-boost-test-execution_monitor.hpp-fix-mips-soft-float.patch Rebase consider-hardfp.patch to 0001-When-using-soft-float-on-ARM-we-should-not-expect-th.patch Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-03-01recipes: Make use of the new bb.utils.filter() functionPeter Kjellerstedt
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09boost: drop flags bits, fix for x32Christopher Larson
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>
2017-01-09meta: use require instead of include when file should existPaul Eggleton
If the file is expected to exist, then we should always be using require so that if it doesn't we get an error rather than some other more obscure failure later on. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-12-16meta: remove True option to getVar callsJoshua Lock
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>
2016-11-06boost: fix upstream version checkAlexander Kanavin
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-11-06boost: disable 'wave' in MIPS16e modeAndré Draszik
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>
2016-10-31boost: fix the SRC_URI to point to an actual release, and not a master snapshotAlexander Kanavin
Sourceforge does a not-so-clever redirecting that fails miserably here: Proxy request sent, awaiting response... 301 Moved Permanently Location: http://downloads.sourceforge.net/project/boost/boost/snapshots/master/boost_1_62_0.tar.bz2 [following] Also, boost developers are naming their snapshot tarballs the same as release tarballs. The two things conspired together. The new tarball does have the same checksum as the one in release announcement, so we should be good now: http://lists.boost.org/Archives/boost/2016/09/230886.php Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-10-28boost: update to 1.62.0Alexander Kanavin
Remove backported 0003-smart_ptr-mips-assembly-doesn-t-compile-in-mips16e-m.patch Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-09-30boost: Ensure native recipes have consistent checksumsRichard Purdie
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>
2016-09-28boost: add support for additional boost libsJackie Huang
* 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>
2016-09-28boost: disable pch when build boost-mathJackie Huang
It's a work around for a defect when build in parallel: https://svn.boost.org/trac/boost/ticket/12477 Signed-off-by: Jackie Huang <jackie.huang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-21boost: Replace math::static_lcm with integerJackie Huang
Replace math with integer according to the commit upstream: (From OE-Core rev: 2e2ecd867d47ee24b37f61af6db5338df5059844) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-20boost: switch to using C++11 atomics when availableAndré Draszik
The alleviates the need to use and maintain hand-written assembly, just relying on the compiler to do the right thing. Signed-off-by: André Draszik <git@andred.net> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-09-14meta: cleanup d.getVar(var, 1)Robert Yang
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-09-05boost: fix MIPS16e compilationAndré Draszik
Backport upstream patch to use g++ 4.1+ __sync intrinsics instead of incompatible hand-written assembly when compiling for MIPS16e Upstream-Status: Backport https://svn.boost.org/trac/boost/ticket/12418 Signed-off-by: André Draszik <git@andred.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-05boost: fix mips soft float compilationAndré Draszik
Upstream-Status: Submitted https://svn.boost.org/trac/boost/ticket/11756 Signed-off-by: André Draszik <git@andred.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-05boost: fix a musl compilation warningAndré Draszik
Upstream-Status: Submitted https://svn.boost.org/trac/boost/ticket/12419 Signed-off-by: André Draszik <git@andred.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-04meta: add more missing patch tagsRoss Burton
Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-07-21boost: fix CVE-2012-2677Kai Kang
Backport patch to fix CVE-2012-2677 for boost from: https://svn.boost.org/trac/boost/changeset/78326 Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-06-03boost: update to 1.61.0Alexander Kanavin
0001-Do-not-qualify-fenv.h-names-that-might-be-macros.patch has been merged upstream. Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-29boost: improve configureRoss Burton
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>
2016-04-29boost: delete the build directory before rebuildingRoss Burton
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>
2016-02-28boost.inc: fix BJAM_OPTS --build-dir optionAndre McCurdy
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>
2016-02-28boost.inc: enable more verbose build logsAndre McCurdy
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>
2016-02-28boost.inc: limit ARM_INSTRUCTION_SET over-rides to armv4/armv5Andre McCurdy
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>
2016-02-02boost: Fix build on soft-float ABI arm systemsKhem Raj
We get errors like ./boost/test/execution_monitor.hpp:490:27: error: 'FE_DIVBYZERO' was not declared in this scope BOOST_FPE_DIVBYZERO = FE_DIVBYZERO, on musl, rightly because FPU is not used on soft-float systems Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-11boost: update to 1.60.0Lukas Bulwahn
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>
2016-01-07boost: ensure boost to remain an empty metapackageLukas Bulwahn
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>
2015-12-09boost: adjust hard-coded path after python3 upgradeLukas Bulwahn
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>
2015-11-25boost.inc: remove unused parameter from get_boost_parallel_make()Andre McCurdy
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>
2015-09-12bjam-native: build and install bjam.debugWenzong Fan
bjam is stripped by default, this causes QA warning while stripping it from do_populate_sysroot(): WARNING: File '.../tmp/sysroots/x86_64-linux/usr/bin/bjam' \ from bjam-native was already stripped, \ this will prevent future debugging! The JAM scripts allow to build unstripped version with '--debug'. Just build and install the bjam.debug to stop bjam from being stripped in compile step. Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-08-09boost: add python3 supportAndreas Müller
* 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>
2015-07-16boost: add dirs flag to boostconfig taskRoss Burton
The boostconfig task expects to run in ${S} so make that explicit. Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-06-01boost: fix build for mipsRobert Yang
Backport 2 patches to fix the build error on mips: mips-poky-linux-g++: error: unrecognized command line option '-m32' https://github.com/boostorg/build/commit/c0634341d9ee2c02d3a55c91dafb988afc066c49 https://github.com/boostorg/build/commit/9576ca216cae888d7efb5da97c009c245c5ba567 Apply the pacthes to both bjam-native and boost, so put the patches to "files" dir. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-27boost: extend libraries with log and randomLukas Bulwahn
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>