0002-Add-option-to-restrict-building-of-host-grpc-to-grpc.patch 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. From 6aab068a6bd92e215b61eaab61062bf1d97bc065 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 | 36 +++++++++++++++++++++++++++++++-----
  15. 1 file changed, 31 insertions(+), 5 deletions(-)
  16. diff --git a/CMakeLists.txt b/CMakeLists.txt
  17. index 2565dc5c84..94f8fd3e93 100644
  18. --- a/CMakeLists.txt
  19. +++ b/CMakeLists.txt
  20. @@ -50,12 +50,16 @@ set(gRPC_BUILD_MSVC_MP_COUNT 0 CACHE STRING "The maximum number of processes for
  21. option(gRPC_BUILD_TESTS "Build tests" OFF)
  22. option(gRPC_BUILD_CODEGEN "Build codegen" ON)
  23. option(gRPC_DOWNLOAD_ARCHIVES "Download archives for empty 3rd party directories" ON)
  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. @@ -662,6 +666,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. @@ -673,6 +679,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. @@ -1660,7 +1668,7 @@ if(gRPC_BUILD_TESTS)
  52. DEPENDS buildtests_c buildtests_cxx)
  53. endif()
  54. -
  55. +if (NOT gRPC_BUILD_PLUGIN_SUPPORT_ONLY)
  56. add_library(address_sorting
  57. third_party/address_sorting/address_sorting.c
  58. @@ -2855,6 +2863,8 @@ if(gRPC_INSTALL)
  59. )
  60. endif()
  61. +endif() # gRPC_BUILD_PLUGIN_SUPPORT_ONLY
  62. +
  63. if(gRPC_BUILD_TESTS)
  64. add_library(grpc_test_util
  65. @@ -2987,6 +2997,8 @@ endif()
  66. endif()
  67. +if(NOT gRPC_BUILD_PLUGIN_SUPPORT_ONLY)
  68. +
  69. add_library(grpc_unsecure
  70. src/core/channelz/channel_trace.cc
  71. src/core/channelz/channelz.cc
  72. @@ -3547,6 +3559,8 @@ if(gRPC_INSTALL)
  73. )
  74. endif()
  75. +endif() # gRPC_BUILD_PLUGIN_SUPPORT_ONLY
  76. +
  77. if(gRPC_BUILD_TESTS)
  78. add_library(gtest
  79. @@ -3621,6 +3635,8 @@ target_link_libraries(gtest
  80. endif()
  81. +if(NOT gRPC_BUILD_PLUGIN_SUPPORT_ONLY)
  82. +
  83. add_library(upb_base_lib
  84. third_party/upb/upb/base/status.c
  85. )
  86. @@ -4108,6 +4124,8 @@ if(gRPC_INSTALL)
  87. )
  88. endif()
  89. +endif() # gRPC_BUILD_PLUGIN_SUPPORT_ONLY
  90. +
  91. if(gRPC_BUILD_TESTS)
  92. if(gRPC_BUILD_CODEGEN)
  93. @@ -4193,6 +4211,8 @@ endif()
  94. endif()
  95. +if(NOT gRPC_BUILD_PLUGIN_SUPPORT_ONLY)
  96. +
  97. add_library(grpc++
  98. src/core/ext/transport/binder/client/binder_connector.cc
  99. src/core/ext/transport/binder/client/channel_create.cc
  100. @@ -4684,6 +4704,7 @@ if(gRPC_INSTALL)
  101. )
  102. endif()
  103. +endif() # gRPC_BUILD_PLUGIN_SUPPORT_ONLY
  104. if(gRPC_BUILD_CODEGEN)
  105. add_library(grpc++_reflection ${_gRPC_STATIC_WIN32}
  106. @@ -4967,6 +4988,8 @@ target_link_libraries(grpc++_test_util
  107. endif()
  108. +if(NOT gRPC_BUILD_PLUGIN_SUPPORT_ONLY)
  109. +
  110. add_library(grpc++_unsecure
  111. src/cpp/client/call_credentials.cc
  112. src/cpp/client/channel_cc.cc
  113. @@ -5707,6 +5730,7 @@ if(gRPC_INSTALL)
  114. )
  115. endif()
  116. +endif() # gRPC_BUILD_PLUGIN_SUPPORT_ONLY
  117. add_library(grpc_plugin_support
  118. src/compiler/cpp_generator.cc
  119. @@ -5769,7 +5793,7 @@ foreach(_hdr
  120. endforeach()
  121. -if(gRPC_INSTALL)
  122. +if(gRPC_INSTALL OR gRPC_BUILD_PLUGIN_SUPPORT_ONLY)
  123. install(TARGETS grpc_plugin_support EXPORT gRPCTargets
  124. RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
  125. BUNDLE DESTINATION ${gRPC_INSTALL_BINDIR}
  126. @@ -16520,7 +16544,7 @@ target_link_libraries(grpc_completion_queue_test
  127. endif()
  128. -if(gRPC_BUILD_CODEGEN AND gRPC_BUILD_GRPC_CPP_PLUGIN)
  129. +if(gRPC_BUILD_GRPC_CPP_PLUGIN)
  130. add_executable(grpc_cpp_plugin
  131. src/compiler/cpp_plugin.cc
  132. @@ -16548,7 +16572,7 @@ target_link_libraries(grpc_cpp_plugin
  133. -if(gRPC_INSTALL)
  134. +if(gRPC_INSTALL OR gRPC_BUILD_PLUGIN_SUPPORT_ONLY)
  135. install(TARGETS grpc_cpp_plugin EXPORT gRPCPluginTargets
  136. RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
  137. BUNDLE DESTINATION ${gRPC_INSTALL_BINDIR}
  138. @@ -37968,7 +37992,7 @@ endif()
  139. -
  140. +if (NOT gRPC_BUILD_PLUGIN_SUPPORT_ONLY)
  141. if(gRPC_INSTALL)
  142. install(EXPORT gRPCTargets
  143. @@ -38089,3 +38113,5 @@ generate_pkgconfig(
  144. "-lgrpcpp_otel_plugin"
  145. "-laddress_sorting -lupb_textformat_lib -lupb_json_lib -lupb_wire_lib -lupb_message_lib -lutf8_range_lib -lupb_mini_descriptor_lib -lupb_mem_lib -lupb_base_lib"
  146. "grpcpp_otel_plugin.pc")
  147. +
  148. +endif() # gRPC_BUILD_PLUGIN_SUPPORT_ONLY
  149. \ No newline at end of file
  150. --
  151. 2.34.1