Without this, the host build picks up the site config in
/usr/share/boost-build/site-config.jam which causes a build failure on
Gentoo where a custom optimization value "none" is used.
Fixes#9152.
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Summary: Currently, boost host build doesn't actually compile boost
libraries for the host arch. If there are host tools that would want
to link against boost, it can't right now.
This diff adds support for compiling host boost library as well.
Any packages that need to depend on a host boost library can depend on
CONFIG_boost-host-build-<lib>.
Test Plan: Compiled fbthrift and verified that it works.
used openwrt master using nbg6817
Maintainer: @ClaymorePT
Signed-off-by: Amol Bhave <ambhave@fb.com>
Copy the cmake directory in the InstallDev step.
I am currently trying out actual host build for boost i.e. compiling
boost libaries for host tools. When I do that, that step installs the
boost cmake files in staging_dir/host.
This breaks other packages that use cmake to compile and use boost as a
dependency. This is because, their compilation step now begins using
staging_dir/host version of Boost, rather than the target version of
boost. Cmake gives priority to cmake version of Boost config, over
finding boost headers manually.
This change resolves that problem by installing the BoostConfig.cmake
file in staging_dir/<target> as well.
Compile tested: nbg6817
Signed-off-by: Amol Bhave <ambhave@fb.com>
Boost 1.70.0 broke the apply_visitor functions for lvalue reference
variants.
This imports the patch that fixes this issue from upstream.
Tested this by compiling a library
(https://github.com/facebookincubator/fizz) that works with 1.69 but
breaks with 1.70. And then, importing this patch and trying the
compilation again.
Compile tested: nbg6817
Maintainer: @ClaymorePT
Signed-off-by: Amol Bhave <ambhave@fb.com>
This commit updates the boost package to version 1.70.0 [1] and updates the
Makefile to activate c++17 compile option.
This new Boost version brings two new header-only libraries:
Outcome: [2]
A set of tools for reporting and handling function failures in contexts where
directly using C++ exception handling is unsuitable, from Niall Douglas.
Histogram: [3]
Fast and extensible multi-dimensional histograms with convenient interface
for C++14, from Hans Dembinski.
More information about this release at the usual place [1].
[1]: https://www.boost.org/users/history/version_1_70_0.html
[2]: https://www.boost.org/libs/outcome/
[3]: https://www.boost.org/libs/histogram/
Signed-off-by: Carlos Ferreira <carlosmf.pt@gmail.com>
This commit fixes the bug described in issue #8146 [1], where the
package fails to build if the boost package is selected without
selecting any of the internal non-header-only libraries.
[1]: https://github.com/openwrt/packages/issues/8146
Signed-off-by: Carlos Miguel Ferreira <carlosmf.pt@gmail.com>
Depends on PR #7126
With this change:
eb03aa43b9
boost iostreams supports zstd compression. If the zstd package is built
before boost, then the packaging step complains that libzstd.so is not
packaged.
Build Tested: PR #7876 used to fail CI without this, now it passes.
Signed-off-by: Amol Bhave <ambhave@fb.com>
This package update provides one new library:
-> Safe Numerics: A library for guaranteed correct integer arithmetic for
C++14 and later, from Robert Ramey [1].
Discontinued Libraries
-> Signals (v1) is now removed. Its removal was announced in 1.68 and its
deprecation was announced in 1.54. Boost 1.68 is the last release that
provides this library. Users are encouraged to use Signals2 instead.
The Boost community thanks Douglas Gregor for his work on Signals which
served its users well and which also inspired Signals2 [2].
More info can be found at the usual place [3].
[1] : https://www.boost.org/doc/libs/1_69_0/libs/safe_numerics/doc/html/index.html
[2] : https://www.boost.org/doc/libs/1_69_0/doc/html/signals2.html
[3] : https://www.boost.org/users/history/version_1_69_0.html
Signed-off-by: Carlos Miguel Ferreira <carlosmf.pt@gmail.com>
Boost.Fiber is now disabled for Targets which use mips32 or mips64 cpu type.
This commit fixes issue [1]
[1]: https://github.com/openwrt/packages/issues/6987
Signed-off-by: Carlos Miguel Ferreira <carlosmf.pt@gmail.com>
- Fixed package hyperlink
-> Now using the @SF macro to obtain the best mirror link
-> Added backup link in case Source Forge fails to provide the proper link
- Minor fix to package documentation
-> Help documentation was lacking the contract library info.
Signed-off-by: Carlos Miguel Ferreira <carlosmf.pt@gmail.com>
This package update provides two new libraries
- Contract (compiled library) [1]: Contract programming for C++.
All contract programming features are supported: Subcontracting,
class invariants, postconditions (with old and return values),
preconditions, customizable actions on assertion failure (e.g.,
terminate or throw), optional compilation and checking of
assertions, etc, from Lorenzo Caminiti.
- HOF (header-only library) [2]:
Higher-order functions for C++, from Paul Fultz II.
More info can be found at the usual place [3].
[1]: https://www.boost.org/libs/contract
[2]: https://www.boost.org/libs/hof
[3]: https://www.boost.org/users/history/version_1_67_0.html
Signed-off-by: Carlos Miguel Ferreira <carlosmf.pt@gmail.com>
This release fixes the following issues
[1] - A second run to build Boost was executed, even though
Boost.Python3 was not selected.
[2] - Because wserialization and coroutine2 targets were removed from
Boost building system, the flags "--without-wserialization" and
"--without-coroutine2" no longer work and are now suppressed.
The option coroutine2 just selects the necessary dependencies for
the header-library to work.
The sub-package wserialization just selects the serialization
dependency and packs the wserialization shared object.
[1]: cf67f5f47a (comments)
[2]: https://github.com/openwrt/packages/issues/4974
Signed-off-by: Carlos Miguel Ferreira <carlosmf.pt@gmail.com>
This commit updates the boost libraries to version 1.65.1
This new version is a bug-fix update for Boost 1.65.0, so no new libraries.
As always, more information about this release can be found in [1].
[1]: http://www.boost.org/users/history/version_1_65_1.html
Signed-off-by: Carlos Miguel Ferreira <carlosmf.pt@gmail.com>
This commit updates the boost libraries to version 1.65.0
This new version brings two new libraries:
- Boost.Stacktrace [1]
-> Gather, store, copy and print backtraces, from Antony Polukhin.
- Boost.PolyCollection [2]
-> Fast containers of polymorphic objects, from Joaquín M López Muñoz.
Fixes in this commit:
- Boost.Python for Python 3.6
-> The dynamic library was not being compiled, resulting in an empty package. Fixed.
- Boost.TypeErasure
-> The dynamic library was not available to install. Fixed.
- Boost.Serialization
-> The wserialization dynamic library was being compiled but not available to install. Fixed.
Extras:
- This commit also contains the post-release fixes, which did not make it into the final release [3].
As always, more information about this release, can be found in [4].
[1]: http://www.boost.org/doc/libs/1_65_0/doc/html/stacktrace.html
[2]: http://www.boost.org/doc/libs/1_65_0/doc/html/poly_collection.html
[3]: http://www.boost.org/patches/
[4]: http://www.boost.org/users/history/version_1_65_0.html
Signed-off-by: Carlos Miguel Ferreira <carlosmf.pt@gmail.com>
fix Makefile chmod (644)
replace MD5SUM with HASH
add PKG_MIRROR_HASH when PKG_SOURCE_PROTO:=git
(PKG_SOURCE_PROTO:=svn tarballs are not reproducible for now)
Signed-off-by: Etienne Champetier <champetier.etienne@gmail.com>
Maintainer: @ClaymorePT
Compile tested: Broadcom BCM2708
Run tested: None
Description:
- New header-only library -> Process
-> Process library by Klemens D. Morgenstern, that provides cross
platorm ways to allows you to:
- create child processes
- setup streams for child processes
- communicate with child processes through streams
(synchronously or asynchronously)
- wait for processes to exit (synchronously or asynchronously)
- terminate processes
Information about the 1.64.0 release (updated libraries, bug fixes,
etc), can be found here [1].
[1]: http://www.boost.org/users/history/version_1_64_0.html
Signed-off-by: Carlos Miguel Ferreira <carlosmf.pt@gmail.com>
Update:
- Python 3.6 support fixed. It is now correctly compiled and available.
Fixes:
- disabled context and fiber for unsupported targets
There are several architectures which are not supported by context nor
fiber. Because of this, Boost build was failing targets. This created the
situation where the other boost libs were not being built and consequently,
becoming unavailable at the OpenWRT/LEDE repositories.
To solve this issue, it was necessary to disabled fiber and context for
the incompatible targets.
Boost.Fiber is disabled for:
-> ar7, rb532, brcm63xx.smp, brcm63xx, brcm47xx, brcm47xx.legacy, brcm2708,
au1000, ath25, adm8668 and adm5120.
Boost.Context is disabled for:
-> avr32, octeon and netlogic.
Signed-off-by: Carlos Miguel Ferreira <carlosmf.pt@gmail.com>
This commit fixes an existent regression in boost 1.63 [1].
The regression appears when libc is used for the toolchain.
[1] - https://svn.boost.org/trac/boost/ticket/11756
Signed-off-by: Carlos Miguel Ferreira <carlosmf.pt@gmail.com>
As both LEDE and OpenWrt have STAGING_DIR_HOSTPKG now, we can start to rely
on it. See 73b7f55424 for more information on
STAGING_DIR_HOSTPKG.
STAGING_DIR_HOSTPKG won't actually be changed before the first LEDE release
(it is equivalent to $(STAGING_DIR)/host), so this simple search/replace
cleanup is safe to apply. Doing this cleanup now will be useful for the
Gluon project (an OpenWrt/LEDE based firmware framework) for experimenting
with modifying STAGING_DIR_HOSTPKG before doing this in the LEDE upstream.
Also fixes a typo in the dbus Makefile ("STAGIND_DIR").
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
Maintainer: @ClaymorePT
Compile tested: Broadcom BCM2708
Run tested: None
Description:
This package update contains no new libraries.
Information about the 1.63.0 release (updated libraries, bug fixes, etc), can be found here [1].
[1]: http://www.boost.org/users/history/version_1_63_0.html
Signed-off-by: Carlos Ferreira <carlosmf.pt@gmail.com>
Some parts of boost need at least C++11, activate -std=gnu++14
when possible and otherwise use -std=gnu++11 instated of using the
default which is -std=gnu++98.
This fixes the build for me when I build everything expect
boost-coroutine2 with gcc 5.4.0 on LEDE.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Maintainer: @ClaymorePT
Compile tested: Broadcom BCM2708
Run tested: None
Description:
This package version update brings two new libraries:
Fiber [1] (Currently Broken)
Framework for userland-threads/fibers, from Oliver Kowalke.
QVM [2]
Boost QVM is a generic library for working with quaternions, vectors
and matrices of static size with the emphasis on 2, 3 and 4-dimensional
operations needed in graphics, video games and simulation applications,
from Emil Dotchevski.
More information about the 1.62.0 release (bug fixes, etc), can be found here [3].
[1]: http://www.boost.org/doc/libs/1_62_0/libs/fiber/
[2]: http://www.boost.org/doc/libs/1_62_0/libs/qvm/
[3]: http://www.boost.org/users/history/version_1_62_0.html
Signed-off-by: Carlos M. Ferreira carlosmf.pt@gmail.com
Boost.Context Fix:
- The Boost.Coroutine2 lib requires Boost.Context to be compiled using the
standard C++14. [1]
[1]: https://bugs.archlinux.org/task/48779
Signed-off-by: Carlos M. Ferreira <carlosmf.pt@gmail.com>
Major fixes:
- The "Select Boost Options" was improved:
- In previous versions, it was possible to unselect both Shared and Static
options, so that there would be nothing to be built. This was solved by
creating a choice menu "Compile Boost libraries".
- A new choice menu was also created for Boost Run-time linkage called
"Selects Boost Run-time linkage", which is used to select the C and C++
runtime. This choice menu obeys to the required restrictions by boost
options [1].
- Fixed the invalid combination where boost shared version could be linked
to C and C++ static runtime. This is not allowed by the boost builder.
- Added new menu where a Boost building variant can be chosen from 3 options:
- Release: The optimized version for daily use.
- Debug: The debugging version, for testing purposes.
- Profiling: The profiling version for evaluation purposes.
- Improved options help descriptions.
Minor fixes:
- Makefile Version was bumped from 6 to 8 because the previous update [2] did
not bumped the value acordingly to the submission rules.
- Removed stuff that was not doing anything: "-sBUILD=release"
- Changed builder executable from "bjam" to "b2" which is the correct caller:
- "bjam" is the old name and exists only for compatibility purposes.
[1]: http://www.boost.org/build/doc/html/bbv2/overview/builtins/features.html
[2]: openwrt#2084
Signed-off-by: Carlos M. Ferreira <carlosmf.pt@gmail.com>
Major fixes:
- Due to incompatibility issues with other packages which depend upon boost
libraries being built with system names (without name tags):
- multi-thread support is now active by default.
- boost libraries do not have name tags by default.
- Added "Use tagged names." options
- This option provides access to Single threaded option and Debug option.
- The use of name tags is required to build the debug and single threaded
versions.
Minor fixes (proposed by Thess):
- "Compile Static Libraries" is active by default
- "Use shared version of C and C++ runtimes for shared libraries" is now active
by default
- Several dependency notation fixes
Signed-off-by: Carlos M. Ferreira <carlosmf.pt@gmail.com>
Minor fixes:
- CoRoutine2 selector requires that a GCC v5 compiler or better is selected
- coroutine2 requires C++14
- The Makefile was not alowing the libraries to be compiled with both
statically and shared, at the same time. There are now two seperate options,
allowing to select which version is wanted.
- The Makefile was also not allowing to compile both single thread and multi-
thread versions. Again, two seperate options now exist.
- There is also the option to build another set of libraries with debug support
which is good for development.
- These options are important for those who whish to build an OpenWRT SDK.
Signed-off-by: Carlos M. Ferreira <carlosmf.pt@gmail.com>
Minor Fixes:
- Fixed bug related to Python 3.5 support. [1]
- "--without-python3" was being issued when it should only be
"--without-python".
- "--without-python" is only issued in the event of neither Python 3.5
support neither Python 2.7 support is requested.
- Fixed an old bug related to coroutine2 support (added selector).
- "--without-coroutin2" was not being issued, even when boost-coroutine was
not selected. Because of that, the boost building system was compiling
boost- coroutine and all of its dependencies.
- Added selector for boost-graph-parallel.
References:
[1] - openwrt@8f7e090#commitcomment-14542816
Signed-off-by: Carlos M. Ferreira <carlosmf.pt@gmail.com>
Signed-off-by: Ted Hess <thess@kitschensync.net>
Major Updates
- Added support for Python 3.5.
- Removed the restriction for the target MPC85xx when using uclibc [1].
- No longer required since uclibc was removed from trunk.
- Added option to force static compilation.
- Added option to force linking statically to the C++ standard library and compiler runtime support libraries.
- Added option to disable multithreading support. It can be helpfull for those who wish to fully optimise their code.
- Some boost libraries will require multithreading to be active. For those, this option is active as a requirement.
Minor Updates
- Added -fPIC to CFLags [2].
- python requires independent position code when statically compiling.
References:
[1] - https://github.com/openwrt/packages/issues/1621
[2] - https://github.com/openwrt/packages/issues/1938
Signed-off-by: Carlos M. Ferreira <carlosmf.pt@gmail.com>