Other changes:
- Remove upstream patch 0004-Fix-gettid-naming-conflict.patch
- Remove upstream patch 0005-Rename-gettid-functions.patch
- Add a check for BR2_TOOLCHAIN_GCC_AT_LEAST_5 in grpc.mk. If the
selected toolchain is not at least version 5 or higher and the
optimization level is -Os, set the GRPC_CFLAGS and GRPC_CXXFLAGS
optimizations to -O2. This check prevents the following error:
error: failure memory model cannot be stronger than success memory model for '__atomic_compare_exchange'
Tested with test-pkg, all tests passed:
br-arm-full [1/6]: OK
br-arm-cortex-a9-glibc [2/6]: OK
br-arm-cortex-m4-full [3/6]: SKIPPED
br-x86-64-musl [4/6]: OK
br-arm-full-static [5/6]: SKIPPED
Signed-off-by: Adam Duskett <Aduskett@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
With Microblaze Gcc version < 8.x the build hangs due to gcc bug
85180: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85180. The bug
shows up when building grpc with optimization but not when building
with -O0. To work around this, if BR2_TOOLCHAIN_HAS_GCC_BUG_85180=y we
force using -O0. Doing this let's optimize already present
CFLAGS/CXXFLAGS tweaking by introducing GRPC_CFLAGS and GRPC_CXXFLAGS
variable.
Fixes:
http://autobuild.buildroot.net/results/6f3/6f301904002cdd50dc3a66fe782b04a05b116319/
Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
... so we can drop all config options about it and previous versions.
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Peter Korsgaard <peter@korsgaard.com>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
On Github, a large number of projects name their tag vXYZ (i.e v3.0,
v0.1, etc.). In some packages we do:
<pkg>_VERSION = v0.3
<pkg>_SITE = $(call github foo,bar,$(<pkg>_VERSION))
And in some other packages we do:
<pkg>_VERSION = 0.3
<pkg>_SITE = $(call github foo,bar,v$(<pkg>_VERSION))
I.e in one case we consider the version to be v0.3, in the other case
we consider 0.3 to be the version.
The problem with v0.3 is that when used in conjunction with
release-monitoring.org, it doesn't work very well, because
release-monitoring.org has the concept of "version prefix" and using
that they drop the "v" prefix for the version.
Therefore, a number of packages in Buildroot have a version that
doesn't match with release-monitoring.org because Buildroot has 'v0.3'
and release-monitoring.org has '0.3'.
Since really the version number of 0.3, is makes sense to update our
packages to drop this 'v'.
This commit only addresses the (common) case of github packages where
the prefix is simply 'v'. Other cases will be handled by separate
commits. Also, there are a few cases that couldn't be handled
mechanically that aren't covered by this commit.
Signed-off-by: Victor Huesca <victor.huesca@bootlin.com>
[Arnout: don't change flatbuffers, json-for-modern-cpp, libpagekite,
python-scapy3k, softether]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Bump version. Freshen a patch that had a conflict.
Remove duplicate env setting.
Add comment about the hack being used to get gRPC to use the buildroot
c-ares library. Otherwise it looks like the cmake env settings are out
of date vs what the gRPC build documentation says to use.
Signed-off-by: Trent Piepho <tpiepho@impinj.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
uClibc-ng in non-NPTL configurations doesn't implement
pthread_setname_np(). Unfortunately grpc assumes that as soon as
__GLIBC__ is defined, pthread_setname_np() is available. It is
particularly sad, because grpc build system uses CMake, so it is
trivial to do such a check.
This commit adds a patch that does just this: check for the
availability of pthread_setname_np(), and use it only if
available. The patch has been submitted upstream.
Fixes:
http://autobuild.buildroot.org/results/47991306abbcd80fb8e6baad0bd7490fa74f696c/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
grpc uses atomic or sync built-ins from the compiler, so we need to
add the appropriate dependency. In addition, on some architectures,
linking with libatomic is needed to use the atomic builtins.
Fixes:
http://autobuild.buildroot.org/results/2f208fbfe4e9da94be5b9c030dbd278cb8ba053c/
Signed-off-by: Ryan Barnett <ryan.barnett@rockwellcollins.com>
Reviewed-by: Robert Rose <robertroyrose@gmail.com>
[Thomas:
- add the dependency on sync or atomic builtins in Config.in
- use -DCMAKE_EXE_LINKER_FLAGS instead of
-DCMAKE_C_STANDARD_LIBRARIES, to be consistent with what we do in
some other cmake-based packages
- tweak commit log]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Robert Rose <robertroyrose@gmail.com>
[Thomas:
- add missing Config.in dependencies inherited from
BR2_PACKAGE_PROTOBUF, as well as the corresponding Config.in
comment
- replace spaces by tabs in grpc.mk indentation
- remove superfluous GRPC_SOURCE variable
- improved patch description.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>