grpc: update from 1.8.5 -> 1.14.1

Update gRPC to 1.14.1 and fix cause for issues like
  https://stackoverflow.com/questions/49975541/how-to-port-grpc-helloworldcpp-example-on-yocto

For release notes check https://github.com/grpc/grpc/releases

Signed-off-by: Jens Rehsack <sno@netbsd.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Jens Rehsack 2018-08-28 16:29:02 +02:00 committed by Khem Raj
parent 46aa68deaf
commit 948a85f85f
4 changed files with 46 additions and 79 deletions

View File

@ -14,7 +14,7 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt
index f9cd630..9663934 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -328,6 +328,13 @@ function(protobuf_generate_grpc_cpp)
@@ -170,6 +170,13 @@ function(protobuf_generate_grpc_cpp)
return()
endif()
@ -25,7 +25,7 @@ index f9cd630..9663934 100644
+ set(gRPC_CPP_PLUGIN $<TARGET_FILE:grpc_cpp_plugin>)
+ endif()
+
set(_protobuf_include_path -I . -I ${PROTOBUF_WELLKNOWN_IMPORT_DIR})
set(_protobuf_include_path -I . -I ${_gRPC_PROTOBUF_WELLKNOWN_INCLUDE_DIR})
foreach(FIL ${ARGN})
get_filename_component(ABS_FIL ${FIL} ABSOLUTE)
@@ -345,7 +352,7 @@ function(protobuf_generate_grpc_cpp)
@ -41,7 +41,7 @@ diff --git a/templates/CMakeLists.txt.template b/templates/CMakeLists.txt.templa
index 64daf04..a7e8629 100644
--- a/templates/CMakeLists.txt.template
+++ b/templates/CMakeLists.txt.template
@@ -373,6 +373,13 @@
@@ -209,6 +209,13 @@
return()
endif()
@ -52,7 +52,7 @@ index 64daf04..a7e8629 100644
+ set(gRPC_CPP_PLUGIN $<TARGET_FILE:grpc_cpp_plugin>)
+ endif()
+
set(_protobuf_include_path -I . -I <%text>${PROTOBUF_WELLKNOWN_IMPORT_DIR}</%text>)
set(_protobuf_include_path -I . -I <%text>${_gRPC_PROTOBUF_WELLKNOWN_INCLUDE_DIR}</%text>)
foreach(FIL <%text>${ARGN}</%text>)
get_filename_component(ABS_FIL <%text>${FIL}</%text> ABSOLUTE)
@@ -390,7 +397,7 @@

View File

@ -1,7 +1,7 @@
From 8e9bf962a45a82f1c2eb5858e29fa89a3a60b564 Mon Sep 17 00:00:00 2001
From 2279e30be5796e9b185545543ea54fe68633cbdd Mon Sep 17 00:00:00 2001
From: Alexey Firago <alexey_firago@mentor.com>
Date: Mon, 30 Oct 2017 23:24:49 +0300
Subject: [PATCH 1/4] CMakeLists.txt: Fix libraries installation for Linux
Subject: [PATCH] CMakeLists.txt: Fix libraries installation for Linux
* Set libs versions as in Makefile
@ -9,21 +9,19 @@ Signed-off-by: Alexey Firago <alexey_firago@mentor.com>
%% original patch: 0001-CMakeLists.txt-Fix-libraries-installation-for-Linux.patch
---
CMakeLists.txt | 55 +++++++++++++++++++++++++++++++++++
CMakeLists.txt => CMakeLists.txt.orig | 0
2 files changed, 55 insertions(+)
copy CMakeLists.txt => CMakeLists.txt.orig (100%)
CMakeLists.txt | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 59 insertions(+)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b1a49df..13e64ac 100644
index a59fd818e3..5066f44a32 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -30,6 +30,15 @@ set(PACKAGE_TARNAME "${PACKAGE_NAME}-${PACKAGE_VERSION}")
set(PACKAGE_BUGREPORT "https://github.com/grpc/grpc/issues/")
project(${PACKAGE_NAME} C CXX)
+set (CORE_VERSION_MAJOR "4")
+set (CORE_VERSION "4.0.0")
+set (CORE_VERSION_MAJOR "6")
+set (CORE_VERSION "6.0.0")
+
+set (CPP_VERSION_MAJOR "1")
+set (CPP_VERSION "${PACKAGE_VERSION}")
@ -31,10 +29,21 @@ index b1a49df..13e64ac 100644
+set (CSHARP_VERSION_MAJOR "1")
+set (CSHARP_VERSION "${PACKAGE_VERSION}")
+
set(gRPC_INSTALL_BINDIR "${CMAKE_INSTALL_PREFIX}/bin" CACHE PATH "Installation directory for executables")
set(gRPC_INSTALL_LIBDIR "${CMAKE_INSTALL_PREFIX}/lib" CACHE PATH "Installation directory for libraries")
set(gRPC_INSTALL_INCLUDEDIR "${CMAKE_INSTALL_PREFIX}/include" CACHE PATH "Installation directory for headers")
@@ -841,6 +850,10 @@ if(WIN32 AND MSVC)
set(gRPC_INSTALL_BINDIR "bin" CACHE STRING "Installation directory for executables")
set(gRPC_INSTALL_LIBDIR "lib" CACHE STRING "Installation directory for libraries")
set(gRPC_INSTALL_INCLUDEDIR "include" CACHE STRING "Installation directory for headers")
@@ -702,6 +711,10 @@ if(WIN32 AND MSVC)
endif()
endif()
+if(_gRPC_PLATFORM_LINUX)
+ set_property(TARGET address_sorting PROPERTY VERSION ${CORE_VERSION})
+ set_property(TARGET address_sorting PROPERTY SOVERSION ${CORE_VERSION_MAJOR})
+endif()
target_include_directories(address_sorting
PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
@@ -825,6 +838,10 @@ if(WIN32 AND MSVC)
endif()
endif()
@ -45,7 +54,7 @@ index b1a49df..13e64ac 100644
target_include_directories(gpr
PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
@@ -1221,6 +1234,10 @@ if(WIN32 AND MSVC)
@@ -1259,6 +1276,10 @@ if(WIN32 AND MSVC)
endif()
endif()
@ -56,7 +65,7 @@ index b1a49df..13e64ac 100644
target_include_directories(grpc
PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
@@ -1535,6 +1552,10 @@ if(WIN32 AND MSVC)
@@ -1633,6 +1654,10 @@ if(WIN32 AND MSVC)
endif()
endif()
@ -67,7 +76,7 @@ index b1a49df..13e64ac 100644
target_include_directories(grpc_cronet
PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
@@ -2377,6 +2398,10 @@ if(WIN32 AND MSVC)
@@ -2575,6 +2600,10 @@ if(WIN32 AND MSVC)
endif()
endif()
@ -78,7 +87,7 @@ index b1a49df..13e64ac 100644
target_include_directories(grpc_unsecure
PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
@@ -2592,6 +2617,10 @@ if(WIN32 AND MSVC)
@@ -2791,6 +2820,10 @@ if(WIN32 AND MSVC)
endif()
endif()
@ -89,7 +98,7 @@ index b1a49df..13e64ac 100644
target_include_directories(grpc++
PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
@@ -3078,6 +3107,10 @@ if(WIN32 AND MSVC)
@@ -3357,6 +3390,10 @@ if(WIN32 AND MSVC)
endif()
endif()
@ -100,7 +109,7 @@ index b1a49df..13e64ac 100644
target_include_directories(grpc++_cronet
PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
@@ -3282,6 +3315,11 @@ protobuf_generate_grpc_cpp(
@@ -3630,6 +3667,11 @@ protobuf_generate_grpc_cpp(
src/proto/grpc/status/status.proto
)
@ -112,7 +121,7 @@ index b1a49df..13e64ac 100644
target_include_directories(grpc++_error_details
PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
@@ -3408,6 +3446,11 @@ protobuf_generate_grpc_cpp(
@@ -3762,6 +3804,11 @@ protobuf_generate_grpc_cpp(
src/proto/grpc/reflection/v1alpha/reflection.proto
)
@ -124,7 +133,7 @@ index b1a49df..13e64ac 100644
target_include_directories(grpc++_reflection
PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
@@ -3827,6 +3870,10 @@ if(WIN32 AND MSVC)
@@ -4265,6 +4312,10 @@ if(WIN32 AND MSVC)
endif()
endif()
@ -135,7 +144,7 @@ index b1a49df..13e64ac 100644
target_include_directories(grpc++_unsecure
PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
@@ -4140,6 +4187,10 @@ if(WIN32 AND MSVC)
@@ -4649,6 +4700,10 @@ if(WIN32 AND MSVC)
endif()
endif()
@ -146,7 +155,7 @@ index b1a49df..13e64ac 100644
target_include_directories(grpc_plugin_support
PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
@@ -4649,6 +4700,10 @@ if(WIN32 AND MSVC)
@@ -5184,6 +5239,10 @@ if(WIN32 AND MSVC)
endif()
endif()
@ -157,10 +166,6 @@ index b1a49df..13e64ac 100644
target_include_directories(grpc_csharp_ext
PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
diff --git a/CMakeLists.txt b/CMakeLists.txt.orig
similarity index 100%
copy from CMakeLists.txt
copy to CMakeLists.txt.orig
--
2.16.1
2.17.1

View File

@ -1,42 +0,0 @@
From a498b56ba96948015f0f2784b2ab8296946716ee Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 1 Feb 2018 23:28:17 -0800
Subject: [PATCH 4/4] CMakeLists.txt: Find c-ares in target sysroot alone
Current code lets it look into native sysroot as well
which is then preferred during cross compile and it adds
absolute path to libcares into linker flags
on heterogenous architectures linker complains and build
fails
| /mnt/a/oe/build/tmp/work/cortexa7t2hf-neon-vfpv4-bec-linux-gnueabi/grpc/1.8.5-r0/recipe-sysroot-native/usr/lib/lib
cares.so.2.2.0: file not recognized: File format not recognized
| collect2: error: ld returned 1 exit status
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
CMakeLists.txt | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1d7eef1..058423d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -153,10 +153,8 @@ if("${gRPC_CARES_PROVIDER}" STREQUAL "module")
set(gRPC_INSTALL FALSE)
endif()
elseif("${gRPC_CARES_PROVIDER}" STREQUAL "package")
- find_package(c-ares REQUIRED CONFIG)
- if(TARGET c-ares::cares)
- set(_gRPC_CARES_LIBRARIES c-ares::cares)
- endif()
+ find_package(c-ares REQUIRED)
+ set(_gRPC_CARES_LIBRARIES cares)
set(_gRPC_FIND_CARES "if(NOT c-ares_FOUND)\n find_package(c-ares CONFIG)\nendif()")
endif()
--
2.16.1

View File

@ -10,11 +10,10 @@ DEPENDS = "gflags c-ares protobuf protobuf-native protobuf-c protobuf-c-native o
DEPENDS_append_class-target = " gtest grpc-native "
S = "${WORKDIR}/git"
SRCREV = "db68cb3652cc7697647e9934b5316d98a6ba04d1"
BRANCH = "v1.8.x"
SRCREV = "d8020cb6daa87f1a3bb3b0c299bc081c4a3de1e8"
BRANCH = "v1.14.x"
SRC_URI = "git://github.com/grpc/grpc.git;protocol=https;branch=${BRANCH} \
file://0001-CMakeLists.txt-Fix-libraries-installation-for-Linux.patch \
file://0004-CMakeLists.txt-Find-c-ares-in-target-sysroot-alone.patch \
"
SRC_URI_append_class-target = " file://0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch"
@ -26,8 +25,13 @@ EXTRA_OECMAKE = " \
-DgRPC_SSL_PROVIDER=package \
-DgRPC_PROTOBUF_PROVIDER=package \
-DgRPC_GFLAGS_PROVIDER=package \
-DgRPC_INSTALL=1 \
-DgRPC_INSTALL=ON \
-DCMAKE_CROSSCOMPILING=ON \
-DBUILD_SHARED_LIBS=ON \
"
BBCLASSEXTEND = "native"
BBCLASSEXTEND = "native nativesdk"
SYSROOT_DIRS_BLACKLIST_append_class-target = "${libdir}/cmake/grpc"
FILES_${PN}-dev += "${bindir}"