It turns out that this is also broken on mips64el. Further testing
reveals that
-mips32r2 -mtune=mips32r2 -mabi=32
compiles the PAUSE instruction just fine whereas
-mips64r2 -mtune=mips64r2 -mabi=64
does not. The PAUSE instruction was introduced in version 2.6 of the
MIPS ISA and GCC for some reason does not allow usage of it with MIPS64.
Modify the macro to fix the situation instead of just matching on
octeon, which is not quite correct.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
It turns out there's upstream support for it. A small patch is needed
to fix softfloat support.
Also added patch to fix boost-fiber on octeon+. Failure happens because
the platform is based on an old MIPSr2 standard that lacks the pause
instruction.
It also turns out that MIPS64 builds are done with the wrong ABI.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
This commit updates boost to version 1.75
This release brings three new packages
* JSON parsing, serialization, and DOM in C++11, from Vinnie Falco and
Krystian Stasiowski. [1]
* LEAF: A lightweight error-handling library for C++11, from Emil
Dotchevski. [2]
* PFR: Basic reflection without macro or boilerplate code for user
defined types, from Antony Polukhin. [3]
More info about Boost 1.75.0 can be found at the usual place [4].
[1]: https://www.boost.org/libs/json/
[2]: https://www.boost.org/libs/leaf/
[3]: https://www.boost.org/libs/pfr/
[4]: https://www.boost.org/users/history/version_1_75_0.html
Signed-off-by: Carlos Miguel Ferreira <carlosmf.pt@gmail.com>
1. Add -lstdc++ to LDFLAGS.
2. Add "-Wl,--gc-sections,--as-needed" to LDFLAGS and "-ffunction-sections -fdata-sections -flto" to CFLAGS which will reduce the size by 10% ~ 13%.
3. Only a virtual package will be created if only static libs are built, which will avoid compiliation failures.
4. Other improvements
Signed-off-by: Van Waholtz <vanwaholtz@gmail.com>
This commit updates Boost to version 1.74.0
In this release, there is one new libraries
- STLInterfaces [2]:
A library of CRTP bases to ease the writing of STL views,
iterators, and sequence containers, from Zach Laine.
This update also provides support to build boost with C++20 when using
GCC 10.x
More info about Boost 1.74.0 can be found at the usual place [1].
[1]: https://www.boost.org/users/history/version_1_74_0.html
[2]: https://www.boost.org/libs/stl_interfaces/
Signed-off-by: Carlos Miguel Ferreira <carlosmf.pt@gmail.com>
This commit updates Boost to version 1.73.0
In this release, there are two new libraries
- Nowide [2] - Standard library functions with UTF-8 API on Windows,
from Artyom Beilis.
- Static String [3] - A dynamically resizable string of characters
with compile-time fixed capacity and contiguous embedded storage,
from Vinnie Falco and Krystian Stasiowski.
More info about Boost 1.73.0 can be found at the usual place [1].
[1]: https://www.boost.org/users/history/version_1_73_0.html
[2]: https://www.boost.org/libs/nowide/
[3]: https://www.boost.org/libs/static_string/
Signed-off-by: Carlos Miguel Ferreira <carlosmf.pt@gmail.com>
This commit updates Boost to version 1.72.0
There are no new libraries in this release.
Note:
- This commit also adds a post-release patch to fix an issue
with Boost.Coroutine
More info about Boost 1.72.0 can be found at the usual place [1].
[1]: https://www.boost.org/users/history/version_1_72_0.html
Signed-off-by: Carlos Miguel Ferreira <carlosmf.pt@gmail.com>
The issue was that the pause instruction was emitted through an asm
directive which was not correct for some mips platforms.
Simplified boost-fiber-exclude as a result.
Removed uClibc-ng math patch. It was not correct as it broke float and
long double support (std variants use function overloads). A different
solution was applied upstream. As it's quite annoying to backport, just
wait until a new release comes with that change. ARC as a platform is
barely supported anyways.
Swapped asio patch for the upstream submission, which is unfortunately, in
limbo.
Refreshed remaining patch.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
thread is only used when the C++ mutex header is missing. AFAIK, this is
the case on Windows and not on Linux. Certainly not in OpenWrt.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
The facebook people have been working on removing Boost dependencies from
their projects. This is the current state.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
It seems newer versions of fbthrift require more libraries.
Also added AR7, RB532, and Lantiq ASE to fiber exclusion.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
This commit updates Boost to version 1.71.0 and disables Boost.Context
for arc and mips64 architectures, since either jump_fcontext or
getcontext are undefined for those architectures.
It also fixes a bug were Boost.Fiber was not properly disabled for
mips32 and mips64 architectures.
Boost.Coroutine2 option was removed since it was redundant. By selecting
the Coroutine package, Coroutine2 is also installed.
Boost.Fiber has been disabled for target brcm47xx_generic and brcm47xx_legacy
due to misssing opcode support from instruction set.
Boost 1.71.0 brings a new header-only library
- Boost.Variant2 [1]
-> A never-valueless, strong guarantee implementation of
std::variant, from Peter Dimov.
More info about Boost 1.71.0 can be found at the usual place [2].
[1]: https://www.boost.org/doc/libs/1_71_0/libs/variant2/doc/html/variant2.html
[2]: https://www.boost.org/users/history/version_1_71_0.html
Signed-off-by: Carlos Miguel Ferreira <carlosmf.pt@gmail.com>
Corrected License according to SPDX in PKG_LICENSE
Added PKG_LICENSE_FILES
HTTPS in their website
Reordered some stuff
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
After talking to @jow on IRC, we found two problems. STAGING_DIR_HOST is
designed for tools, not host packages. Changing this to HOSTPKG allows
CMake and pkgconfig to work properly with fbthrift.
The host-libraries should not be modular like this for host packages.
Changed to eliminate them and to only build the needed ones. This can be
changed as conditions change.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
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>