Files
meta-openembedded/meta-networking/recipes-devtools/grpc/grpc_1.24.3.bb
Khem Raj f7a7a2aafe grpc: Link with libatomic on clang/x86
clang does delegate the atomic<double> calls to libatomic on x86 where
as gcc tries to use intrinsics, its debatable who is right, but it does
seem that clang is safe in case pointer is unaligned

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-11-18 17:17:11 -08:00

54 lines
2.2 KiB
BlitzBasic

DESCRIPTION = "A high performance, open source, general-purpose RPC framework. \
Provides gRPC libraries for multiple languages written on top of shared C core library \
(C++, Node.js, Python, Ruby, Objective-C, PHP, C#)"
HOMEPAGE = "https://github.com/grpc/grpc"
SECTION = "libs"
LICENSE = "Apache-2"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
DEPENDS = "gflags c-ares protobuf protobuf-native protobuf-c protobuf-c-native openssl libnsl2"
DEPENDS_append_class-target = " googletest grpc-native "
DEPENDS_append_class-nativesdk = " grpc-native "
S = "${WORKDIR}/git"
SRCREV_grpc = "2de2e8dd8921e1f7d043e01faf7fe8a291fbb072"
SRCREV_upb = "9effcbcb27f0a665f9f345030188c0b291e32482"
BRANCH = "v1.24.x"
SRC_URI = "git://github.com/grpc/grpc.git;protocol=https;name=grpc;branch=${BRANCH} \
git://github.com/protocolbuffers/upb;name=upb;destsuffix=git/third_party/upb \
file://0001-CMakeLists.txt-Fix-libraries-installation-for-Linux.patch \
"
SRC_URI_append_class-target = " file://0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch \
"
SRC_URI_append_class-nativesdk = " file://0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch"
# Fixes build with older compilers 4.8 especially on ubuntu 14.04
CXXFLAGS_append_class-native = " -Wl,--no-as-needed"
inherit cmake pkgconfig
EXTRA_OECMAKE = " \
-DgRPC_CARES_PROVIDER=package \
-DgRPC_ZLIB_PROVIDER=package \
-DgRPC_SSL_PROVIDER=package \
-DgRPC_PROTOBUF_PROVIDER=package \
-DgRPC_GFLAGS_PROVIDER=package \
-DgRPC_INSTALL=ON \
-DCMAKE_CROSSCOMPILING=ON \
-DBUILD_SHARED_LIBS=ON \
"
do_configure_prepend_mipsarch() {
sed -i -e "s/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} rt m pthread)/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} atomic rt m pthread)/g" ${S}/CMakeLists.txt
}
do_configure_prepend_toolchain-clang_x86() {
sed -i -e "s/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} rt m pthread)/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} atomic rt m pthread)/g" ${S}/CMakeLists.txt
}
BBCLASSEXTEND = "native nativesdk"
SYSROOT_DIRS_BLACKLIST_append_class-target = "${libdir}/cmake/grpc"
FILES_${PN}-dev += "${bindir}"