0003-host-grpc-only-cpp-plugin.patch 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. From 0f2c73b62bdc612f9d5cdd8e0c765995470d4f8b Mon Sep 17 00:00:00 2001
  2. From: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
  3. Date: Tue, 25 May 2021 14:55:23 +0200
  4. Subject: [PATCH] Add option to restrict building of (host-)grpc to
  5. grpc_cpp_plugin only.
  6. This avoids unnecessary dependencies on big packages like libabseil-cpp and
  7. others.
  8. Upstream: not accepted (see https://github.com/grpc/grpc/issues/25322)
  9. Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
  10. Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
  11. Updated for 1.48.0:
  12. Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
  13. ---
  14. CMakeLists.txt | 39 +++++++++++++++++++++++++++++++++++----
  15. 1 file changed, 35 insertions(+), 4 deletions(-)
  16. diff --git a/CMakeLists.txt b/CMakeLists.txt
  17. index 0dcae6b1aee5..57b3963a43b0 100644
  18. --- a/CMakeLists.txt
  19. +++ b/CMakeLists.txt
  20. @@ -49,12 +49,16 @@ option(gRPC_BUILD_TESTS "Build tests" OFF)
  21. option(gRPC_BUILD_CODEGEN "Build codegen" ON)
  22. option(gRPC_BUILD_CSHARP_EXT "Build C# extensions" ON)
  23. option(gRPC_BACKWARDS_COMPATIBILITY_MODE "Build libraries that are binary compatible across a larger number of OS and libc versions" OFF)
  24. +option(gRPC_BUILD_PLUGIN_SUPPORT_ONLY "Build plugin support only" OFF)
  25. set(gRPC_INSTALL_default ON)
  26. if(NOT CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
  27. # Disable gRPC_INSTALL by default if building as a submodule
  28. set(gRPC_INSTALL_default OFF)
  29. endif()
  30. +if(gRPC_BUILD_PLUGIN_SUPPORT_ONLY)
  31. + set(gRPC_INSTALL_default OFF)
  32. +endif()
  33. set(gRPC_INSTALL ${gRPC_INSTALL_default} CACHE BOOL
  34. "Generate installation target")
  35. @@ -563,6 +567,8 @@ add_custom_target(plugins
  36. DEPENDS ${_gRPC_PLUGIN_LIST}
  37. )
  38. +if (NOT gRPC_BUILD_PLUGIN_SUPPORT_ONLY)
  39. +
  40. add_custom_target(tools_c
  41. DEPENDS
  42. )
  43. @@ -574,6 +580,8 @@ add_custom_target(tools_cxx
  44. add_custom_target(tools
  45. DEPENDS tools_c tools_cxx)
  46. +endif() # gRPC_BUILD_PLUGIN_SUPPORT_ONLY
  47. +
  48. protobuf_generate_grpc_cpp_with_import_path_correction(
  49. src/proto/grpc/channelz/channelz.proto src/proto/grpc/channelz/channelz.proto
  50. )
  51. @@ -1307,6 +1315,7 @@ if(gRPC_BUILD_TESTS)
  52. DEPENDS buildtests_c buildtests_cxx)
  53. endif()
  54. +if (NOT gRPC_BUILD_PLUGIN_SUPPORT_ONLY)
  55. add_library(address_sorting
  56. third_party/address_sorting/address_sorting.c
  57. @@ -1359,6 +1368,8 @@ if(gRPC_INSTALL)
  58. )
  59. endif()
  60. +endif() # gRPC_BUILD_PLUGIN_SUPPORT_ONLY
  61. +
  62. if(gRPC_BUILD_TESTS)
  63. add_library(end2end_tests
  64. @@ -1512,6 +1523,8 @@ target_link_libraries(end2end_tests
  65. endif()
  66. +if(NOT gRPC_BUILD_PLUGIN_SUPPORT_ONLY)
  67. +
  68. add_library(gpr
  69. src/core/lib/gpr/alloc.cc
  70. src/core/lib/gpr/atm.cc
  71. @@ -2504,6 +2517,8 @@ if(gRPC_INSTALL)
  72. )
  73. endif()
  74. +endif() # gRPC_BUILD_PLUGIN_SUPPORT_ONLY
  75. +
  76. if(gRPC_BUILD_TESTS)
  77. add_library(grpc_test_util
  78. @@ -2618,6 +2633,8 @@ endif()
  79. endif()
  80. +if(NOT gRPC_BUILD_PLUGIN_SUPPORT_ONLY)
  81. +
  82. add_library(grpc_unsecure
  83. src/core/ext/filters/census/grpc_context.cc
  84. src/core/ext/filters/channel_idle/channel_idle_filter.cc
  85. @@ -3102,6 +3119,8 @@ if(gRPC_INSTALL)
  86. )
  87. endif()
  88. +endif() # gRPC_BUILD_PLUGIN_SUPPORT_ONLY
  89. +
  90. if(gRPC_BUILD_TESTS)
  91. if(gRPC_BUILD_CODEGEN)
  92. @@ -3185,6 +3204,8 @@ endif()
  93. endif()
  94. +if(NOT gRPC_BUILD_PLUGIN_SUPPORT_ONLY)
  95. +
  96. add_library(grpc++
  97. src/core/ext/transport/binder/client/binder_connector.cc
  98. src/core/ext/transport/binder/client/channel_create.cc
  99. @@ -3635,6 +3656,7 @@ if(gRPC_INSTALL)
  100. )
  101. endif()
  102. +endif() # gRPC_BUILD_PLUGIN_SUPPORT_ONLY
  103. if(gRPC_BUILD_CODEGEN)
  104. add_library(grpc++_reflection
  105. @@ -3889,6 +3911,8 @@ target_link_libraries(grpc++_test_util
  106. endif()
  107. +if(NOT gRPC_BUILD_PLUGIN_SUPPORT_ONLY)
  108. +
  109. add_library(grpc++_unsecure
  110. src/cpp/client/channel_cc.cc
  111. src/cpp/client/client_callback.cc
  112. @@ -4181,6 +4205,7 @@ if(gRPC_INSTALL)
  113. )
  114. endif()
  115. +endif() # gRPC_BUILD_PLUGIN_SUPPORT_ONLY
  116. add_library(grpc_plugin_support
  117. src/compiler/cpp_generator.cc
  118. @@ -4240,7 +4265,7 @@ foreach(_hdr
  119. endforeach()
  120. -if(gRPC_INSTALL)
  121. +if(gRPC_INSTALL OR gRPC_BUILD_PLUGIN_SUPPORT_ONLY)
  122. install(TARGETS grpc_plugin_support EXPORT gRPCTargets
  123. RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
  124. BUNDLE DESTINATION ${gRPC_INSTALL_BINDIR}
  125. @@ -4324,6 +4349,8 @@ endif()
  126. endif()
  127. +if(NOT gRPC_BUILD_PLUGIN_SUPPORT_ONLY)
  128. +
  129. add_library(upb
  130. third_party/upb/third_party/utf8_range/naive.c
  131. third_party/upb/third_party/utf8_range/range2-neon.c
  132. @@ -4393,6 +4420,8 @@ if(gRPC_INSTALL)
  133. )
  134. endif()
  135. +endif() # gRPC_BUILD_PLUGIN_SUPPORT_ONLY
  136. +
  137. if(gRPC_BUILD_TESTS)
  138. @@ -11085,7 +11114,7 @@ target_link_libraries(grpc_completion_queue_test
  139. endif()
  140. -if(gRPC_BUILD_CODEGEN AND gRPC_BUILD_GRPC_CPP_PLUGIN)
  141. +if(gRPC_BUILD_GRPC_CPP_PLUGIN)
  142. add_executable(grpc_cpp_plugin
  143. src/compiler/cpp_plugin.cc
  144. @@ -11115,7 +11144,7 @@ target_link_libraries(grpc_cpp_plugin
  145. -if(gRPC_INSTALL)
  146. +if(gRPC_INSTALL OR gRPC_BUILD_PLUGIN_SUPPORT_ONLY)
  147. install(TARGETS grpc_cpp_plugin EXPORT gRPCTargets
  148. RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
  149. BUNDLE DESTINATION ${gRPC_INSTALL_BINDIR}
  150. @@ -23128,7 +23157,7 @@ endif()
  151. -
  152. +if (NOT gRPC_BUILD_PLUGIN_SUPPORT_ONLY)
  153. if(gRPC_INSTALL)
  154. install(EXPORT gRPCTargets
  155. @@ -23225,3 +23254,5 @@ generate_pkgconfig(
  156. "-lgrpc++_unsecure"
  157. ""
  158. "grpc++_unsecure.pc")
  159. +
  160. +endif() # gRPC_BUILD_PLUGIN_SUPPORT_ONLY
  161. --
  162. 2.43.0