aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar ncteisen <ncteisen@gmail.com>2018-10-04 15:17:50 -0700
committerGravatar ncteisen <ncteisen@gmail.com>2018-10-04 15:17:50 -0700
commitcfe47deca438844140590ed44f23b3b80aa4cc1f (patch)
tree719d641534ab33d12ab0925418c15a031d73dac9
parent8362e7042d4c7d41c756d85b4e64d499ae4e52ed (diff)
parentfbbf4593d69823b1a3d75e910c714a783116648f (diff)
Merge branch 'master' of https://github.com/grpc/grpc into channelz-server-sockets
-rw-r--r--BUILD2
-rw-r--r--CMakeLists.txt1444
-rw-r--r--Makefile10
-rw-r--r--build.yaml2
-rw-r--r--doc/server-reflection.md1
-rw-r--r--gRPC-C++.podspec2
-rw-r--r--include/grpc/impl/codegen/grpc_types.h2
-rw-r--r--include/grpcpp/channel.h14
-rw-r--r--include/grpcpp/create_channel.h21
-rw-r--r--include/grpcpp/create_channel_posix.h17
-rw-r--r--include/grpcpp/impl/codegen/client_interceptor.h44
-rw-r--r--include/grpcpp/impl/codegen/interceptor.h67
-rw-r--r--include/grpcpp/security/credentials.h32
-rw-r--r--include/grpcpp/server.h25
-rw-r--r--src/core/ext/filters/client_channel/http_connect_handshaker.cc1
-rw-r--r--src/core/ext/filters/client_channel/subchannel.cc6
-rw-r--r--src/core/ext/transport/chttp2/client/chttp2_connector.cc2
-rw-r--r--src/core/ext/transport/chttp2/server/chttp2_server.cc8
-rw-r--r--src/core/ext/transport/chttp2/transport/chttp2_transport.cc9
-rw-r--r--src/core/lib/channel/channelz.h9
-rw-r--r--src/core/lib/channel/handshaker_factory.cc5
-rw-r--r--src/core/lib/channel/handshaker_factory.h2
-rw-r--r--src/core/lib/channel/handshaker_registry.cc8
-rw-r--r--src/core/lib/channel/handshaker_registry.h1
-rw-r--r--src/core/lib/http/httpcli_security_connector.cc3
-rw-r--r--src/core/lib/security/security_connector/alts_security_connector.cc12
-rw-r--r--src/core/lib/security/security_connector/security_connector.cc7
-rw-r--r--src/core/lib/security/security_connector/security_connector.h5
-rw-r--r--src/core/lib/security/transport/security_handshaker.cc10
-rw-r--r--src/core/lib/surface/channel.cc8
-rw-r--r--src/core/lib/surface/server.cc6
-rw-r--r--src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc3
-rw-r--r--src/core/tsi/alts/handshaker/alts_tsi_handshaker.h5
-rw-r--r--src/cpp/client/channel_cc.cc10
-rw-r--r--src/cpp/client/create_channel.cc42
-rw-r--r--src/cpp/client/create_channel_internal.cc10
-rw-r--r--src/cpp/client/create_channel_internal.h8
-rw-r--r--src/cpp/client/create_channel_posix.cc28
-rw-r--r--src/cpp/client/cronet_credentials.cc19
-rw-r--r--src/cpp/client/insecure_credentials.cc11
-rw-r--r--src/cpp/client/secure_credentials.cc12
-rw-r--r--src/cpp/client/secure_credentials.h6
-rw-r--r--src/cpp/server/server_cc.cc16
-rw-r--r--src/csharp/experimental/README.md4
-rw-r--r--templates/CMakeLists.txt.template28
-rw-r--r--test/core/handshake/readahead_handshaker_server_ssl.cc1
-rw-r--r--test/core/iomgr/resolve_address_test.cc5
-rw-r--r--test/core/tsi/alts/handshaker/alts_tsi_handshaker_test.cc2
-rw-r--r--test/cpp/client/client_channel_stress_test.cc2
-rw-r--r--test/cpp/microbenchmarks/bm_call_create.cc6
-rw-r--r--test/cpp/microbenchmarks/fullstack_fixtures.h2
-rw-r--r--test/cpp/performance/writes_per_rpc_test.cc2
-rw-r--r--test/cpp/util/BUILD20
-rw-r--r--test/cpp/util/cli_credentials.cc2
-rw-r--r--tools/doxygen/Doxyfile.c++2
-rw-r--r--tools/doxygen/Doxyfile.c++.internal2
-rw-r--r--tools/run_tests/generated/sources_and_headers.json4
57 files changed, 1939 insertions, 98 deletions
diff --git a/BUILD b/BUILD
index 0cd587a274..ff2cf8bbb3 100644
--- a/BUILD
+++ b/BUILD
@@ -1982,6 +1982,7 @@ grpc_cc_library(
"include/grpcpp/impl/codegen/channel_interface.h",
"include/grpcpp/impl/codegen/client_callback.h",
"include/grpcpp/impl/codegen/client_context.h",
+ "include/grpcpp/impl/codegen/client_interceptor.h",
"include/grpcpp/impl/codegen/client_unary_call.h",
"include/grpcpp/impl/codegen/completion_queue.h",
"include/grpcpp/impl/codegen/completion_queue_tag.h",
@@ -1989,6 +1990,7 @@ grpc_cc_library(
"include/grpcpp/impl/codegen/core_codegen_interface.h",
"include/grpcpp/impl/codegen/create_auth_context.h",
"include/grpcpp/impl/codegen/grpc_library.h",
+ "include/grpcpp/impl/codegen/interceptor.h",
"include/grpcpp/impl/codegen/metadata_map.h",
"include/grpcpp/impl/codegen/method_handler_impl.h",
"include/grpcpp/impl/codegen/rpc_method.h",
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b0e2244e75..dcd7adeebe 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -115,6 +115,17 @@ else()
set(_gRPC_PROTOBUF_LIBRARY_NAME "libprotobuf")
endif()
+if (_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC)
+ # C core has C++ source code, but should not depend on libstc++ (for better portability).
+ # We need to use a few tricks to convince cmake to do that.
+ # https://stackoverflow.com/questions/15058403/how-to-stop-cmake-from-linking-against-libstdc
+ set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "")
+ # Exceptions and RTTI must be off to avoid dependency on libstdc++
+ set(_gRPC_CORE_NOSTDCXX_FLAGS -fno-exceptions -fno-rtti)
+else()
+ set(_gRPC_CORE_NOSTDCXX_FLAGS "")
+endif()
+
include(cmake/zlib.cmake)
include(cmake/cares.cmake)
include(cmake/protobuf.cmake)
@@ -710,7 +721,12 @@ target_include_directories(address_sorting
PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
)
-
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(address_sorting PROPERTIES LINKER_LANGUAGE C)
+ # only use the flags for C++ source files
+ target_compile_options(address_sorting PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
target_link_libraries(address_sorting
${_gRPC_BASELIB_LIBRARIES}
${_gRPC_ALLTARGETS_LIBRARIES}
@@ -757,7 +773,12 @@ target_include_directories(alts_test_util
PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
)
-
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(alts_test_util PROPERTIES LINKER_LANGUAGE C)
+ # only use the flags for C++ source files
+ target_compile_options(alts_test_util PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
target_link_libraries(alts_test_util
${_gRPC_SSL_LIBRARIES}
${_gRPC_ALLTARGETS_LIBRARIES}
@@ -833,7 +854,12 @@ target_include_directories(gpr
PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
)
-
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(gpr PROPERTIES LINKER_LANGUAGE C)
+ # only use the flags for C++ source files
+ target_compile_options(gpr PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
target_link_libraries(gpr
${_gRPC_ALLTARGETS_LIBRARIES}
)
@@ -923,7 +949,12 @@ target_include_directories(gpr_test_util
PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
)
-
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(gpr_test_util PROPERTIES LINKER_LANGUAGE C)
+ # only use the flags for C++ source files
+ target_compile_options(gpr_test_util PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
target_link_libraries(gpr_test_util
${_gRPC_ALLTARGETS_LIBRARIES}
gpr
@@ -1273,7 +1304,12 @@ target_include_directories(grpc
PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
)
-
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(grpc PROPERTIES LINKER_LANGUAGE C)
+ # only use the flags for C++ source files
+ target_compile_options(grpc PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
target_link_libraries(grpc
${_gRPC_BASELIB_LIBRARIES}
${_gRPC_SSL_LIBRARIES}
@@ -1650,7 +1686,12 @@ target_include_directories(grpc_cronet
PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
)
-
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(grpc_cronet PROPERTIES LINKER_LANGUAGE C)
+ # only use the flags for C++ source files
+ target_compile_options(grpc_cronet PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
target_link_libraries(grpc_cronet
${_gRPC_BASELIB_LIBRARIES}
${_gRPC_SSL_LIBRARIES}
@@ -1961,7 +2002,12 @@ target_include_directories(grpc_test_util
PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
)
-
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(grpc_test_util PROPERTIES LINKER_LANGUAGE C)
+ # only use the flags for C++ source files
+ target_compile_options(grpc_test_util PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
target_link_libraries(grpc_test_util
${_gRPC_ALLTARGETS_LIBRARIES}
gpr_test_util
@@ -2270,7 +2316,12 @@ target_include_directories(grpc_test_util_unsecure
PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
)
-
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(grpc_test_util_unsecure PROPERTIES LINKER_LANGUAGE C)
+ # only use the flags for C++ source files
+ target_compile_options(grpc_test_util_unsecure PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
target_link_libraries(grpc_test_util_unsecure
${_gRPC_ALLTARGETS_LIBRARIES}
gpr
@@ -2598,7 +2649,12 @@ target_include_directories(grpc_unsecure
PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
)
-
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(grpc_unsecure PROPERTIES LINKER_LANGUAGE C)
+ # only use the flags for C++ source files
+ target_compile_options(grpc_unsecure PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
target_link_libraries(grpc_unsecure
${_gRPC_BASELIB_LIBRARIES}
${_gRPC_ZLIB_LIBRARIES}
@@ -2691,7 +2747,12 @@ target_include_directories(reconnect_server
PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
)
-
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(reconnect_server PROPERTIES LINKER_LANGUAGE C)
+ # only use the flags for C++ source files
+ target_compile_options(reconnect_server PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
target_link_libraries(reconnect_server
${_gRPC_ALLTARGETS_LIBRARIES}
test_tcp_server
@@ -2733,7 +2794,12 @@ target_include_directories(test_tcp_server
PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
)
-
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(test_tcp_server PROPERTIES LINKER_LANGUAGE C)
+ # only use the flags for C++ source files
+ target_compile_options(test_tcp_server PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
target_link_libraries(test_tcp_server
${_gRPC_ALLTARGETS_LIBRARIES}
grpc_test_util
@@ -2815,7 +2881,6 @@ target_include_directories(grpc++
PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
PRIVATE ${_gRPC_PROTO_GENS_DIR}
)
-
target_link_libraries(grpc++
${_gRPC_BASELIB_LIBRARIES}
${_gRPC_SSL_LIBRARIES}
@@ -3010,6 +3075,7 @@ foreach(_hdr
include/grpcpp/impl/codegen/channel_interface.h
include/grpcpp/impl/codegen/client_callback.h
include/grpcpp/impl/codegen/client_context.h
+ include/grpcpp/impl/codegen/client_interceptor.h
include/grpcpp/impl/codegen/client_unary_call.h
include/grpcpp/impl/codegen/completion_queue.h
include/grpcpp/impl/codegen/completion_queue_tag.h
@@ -3017,6 +3083,7 @@ foreach(_hdr
include/grpcpp/impl/codegen/core_codegen_interface.h
include/grpcpp/impl/codegen/create_auth_context.h
include/grpcpp/impl/codegen/grpc_library.h
+ include/grpcpp/impl/codegen/interceptor.h
include/grpcpp/impl/codegen/metadata_map.h
include/grpcpp/impl/codegen/method_handler_impl.h
include/grpcpp/impl/codegen/rpc_method.h
@@ -3099,7 +3166,6 @@ target_include_directories(grpc++_core_stats
PRIVATE third_party/googletest/googlemock
PRIVATE ${_gRPC_PROTO_GENS_DIR}
)
-
target_link_libraries(grpc++_core_stats
${_gRPC_PROTOBUF_LIBRARIES}
${_gRPC_ALLTARGETS_LIBRARIES}
@@ -3385,7 +3451,6 @@ target_include_directories(grpc++_cronet
PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
PRIVATE ${_gRPC_PROTO_GENS_DIR}
)
-
target_link_libraries(grpc++_cronet
${_gRPC_BASELIB_LIBRARIES}
${_gRPC_SSL_LIBRARIES}
@@ -3581,6 +3646,7 @@ foreach(_hdr
include/grpcpp/impl/codegen/channel_interface.h
include/grpcpp/impl/codegen/client_callback.h
include/grpcpp/impl/codegen/client_context.h
+ include/grpcpp/impl/codegen/client_interceptor.h
include/grpcpp/impl/codegen/client_unary_call.h
include/grpcpp/impl/codegen/completion_queue.h
include/grpcpp/impl/codegen/completion_queue_tag.h
@@ -3588,6 +3654,7 @@ foreach(_hdr
include/grpcpp/impl/codegen/core_codegen_interface.h
include/grpcpp/impl/codegen/create_auth_context.h
include/grpcpp/impl/codegen/grpc_library.h
+ include/grpcpp/impl/codegen/interceptor.h
include/grpcpp/impl/codegen/metadata_map.h
include/grpcpp/impl/codegen/method_handler_impl.h
include/grpcpp/impl/codegen/rpc_method.h
@@ -3660,7 +3727,6 @@ target_include_directories(grpc++_error_details
PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
PRIVATE ${_gRPC_PROTO_GENS_DIR}
)
-
target_link_libraries(grpc++_error_details
${_gRPC_BASELIB_LIBRARIES}
${_gRPC_PROTOBUF_LIBRARIES}
@@ -3732,7 +3798,6 @@ target_include_directories(grpc++_proto_reflection_desc_db
PRIVATE third_party/googletest/googlemock
PRIVATE ${_gRPC_PROTO_GENS_DIR}
)
-
target_link_libraries(grpc++_proto_reflection_desc_db
${_gRPC_PROTOBUF_LIBRARIES}
${_gRPC_ALLTARGETS_LIBRARIES}
@@ -3792,7 +3857,6 @@ target_include_directories(grpc++_reflection
PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
PRIVATE ${_gRPC_PROTO_GENS_DIR}
)
-
target_link_libraries(grpc++_reflection
${_gRPC_PROTOBUF_LIBRARIES}
${_gRPC_ALLTARGETS_LIBRARIES}
@@ -3856,7 +3920,6 @@ target_include_directories(grpc++_test_config
PRIVATE third_party/googletest/googlemock
PRIVATE ${_gRPC_PROTO_GENS_DIR}
)
-
target_link_libraries(grpc++_test_config
${_gRPC_PROTOBUF_LIBRARIES}
${_gRPC_ALLTARGETS_LIBRARIES}
@@ -3943,7 +4006,6 @@ target_include_directories(grpc++_test_util
PRIVATE third_party/googletest/googlemock
PRIVATE ${_gRPC_PROTO_GENS_DIR}
)
-
target_link_libraries(grpc++_test_util
${_gRPC_PROTOBUF_LIBRARIES}
${_gRPC_ALLTARGETS_LIBRARIES}
@@ -3993,6 +4055,7 @@ foreach(_hdr
include/grpcpp/impl/codegen/channel_interface.h
include/grpcpp/impl/codegen/client_callback.h
include/grpcpp/impl/codegen/client_context.h
+ include/grpcpp/impl/codegen/client_interceptor.h
include/grpcpp/impl/codegen/client_unary_call.h
include/grpcpp/impl/codegen/completion_queue.h
include/grpcpp/impl/codegen/completion_queue_tag.h
@@ -4000,6 +4063,7 @@ foreach(_hdr
include/grpcpp/impl/codegen/core_codegen_interface.h
include/grpcpp/impl/codegen/create_auth_context.h
include/grpcpp/impl/codegen/grpc_library.h
+ include/grpcpp/impl/codegen/interceptor.h
include/grpcpp/impl/codegen/metadata_map.h
include/grpcpp/impl/codegen/method_handler_impl.h
include/grpcpp/impl/codegen/rpc_method.h
@@ -4123,7 +4187,6 @@ target_include_directories(grpc++_test_util_unsecure
PRIVATE third_party/googletest/googlemock
PRIVATE ${_gRPC_PROTO_GENS_DIR}
)
-
target_link_libraries(grpc++_test_util_unsecure
${_gRPC_PROTOBUF_LIBRARIES}
${_gRPC_ALLTARGETS_LIBRARIES}
@@ -4173,6 +4236,7 @@ foreach(_hdr
include/grpcpp/impl/codegen/channel_interface.h
include/grpcpp/impl/codegen/client_callback.h
include/grpcpp/impl/codegen/client_context.h
+ include/grpcpp/impl/codegen/client_interceptor.h
include/grpcpp/impl/codegen/client_unary_call.h
include/grpcpp/impl/codegen/completion_queue.h
include/grpcpp/impl/codegen/completion_queue_tag.h
@@ -4180,6 +4244,7 @@ foreach(_hdr
include/grpcpp/impl/codegen/core_codegen_interface.h
include/grpcpp/impl/codegen/create_auth_context.h
include/grpcpp/impl/codegen/grpc_library.h
+ include/grpcpp/impl/codegen/interceptor.h
include/grpcpp/impl/codegen/metadata_map.h
include/grpcpp/impl/codegen/method_handler_impl.h
include/grpcpp/impl/codegen/rpc_method.h
@@ -4300,7 +4365,6 @@ target_include_directories(grpc++_unsecure
PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
PRIVATE ${_gRPC_PROTO_GENS_DIR}
)
-
target_link_libraries(grpc++_unsecure
${_gRPC_BASELIB_LIBRARIES}
${_gRPC_PROTOBUF_LIBRARIES}
@@ -4494,6 +4558,7 @@ foreach(_hdr
include/grpcpp/impl/codegen/channel_interface.h
include/grpcpp/impl/codegen/client_callback.h
include/grpcpp/impl/codegen/client_context.h
+ include/grpcpp/impl/codegen/client_interceptor.h
include/grpcpp/impl/codegen/client_unary_call.h
include/grpcpp/impl/codegen/completion_queue.h
include/grpcpp/impl/codegen/completion_queue_tag.h
@@ -4501,6 +4566,7 @@ foreach(_hdr
include/grpcpp/impl/codegen/core_codegen_interface.h
include/grpcpp/impl/codegen/create_auth_context.h
include/grpcpp/impl/codegen/grpc_library.h
+ include/grpcpp/impl/codegen/interceptor.h
include/grpcpp/impl/codegen/metadata_map.h
include/grpcpp/impl/codegen/method_handler_impl.h
include/grpcpp/impl/codegen/rpc_method.h
@@ -4569,7 +4635,6 @@ target_include_directories(grpc_benchmark
PRIVATE third_party/googletest/googlemock
PRIVATE ${_gRPC_PROTO_GENS_DIR}
)
-
target_link_libraries(grpc_benchmark
${_gRPC_PROTOBUF_LIBRARIES}
${_gRPC_ALLTARGETS_LIBRARIES}
@@ -4629,7 +4694,6 @@ target_include_directories(grpc_cli_libs
PRIVATE third_party/googletest/googlemock
PRIVATE ${_gRPC_PROTO_GENS_DIR}
)
-
target_link_libraries(grpc_cli_libs
${_gRPC_PROTOBUF_LIBRARIES}
${_gRPC_ALLTARGETS_LIBRARIES}
@@ -4687,7 +4751,6 @@ target_include_directories(grpc_plugin_support
PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
PRIVATE ${_gRPC_PROTO_GENS_DIR}
)
-
target_link_libraries(grpc_plugin_support
${_gRPC_PROTOBUF_PROTOC_LIBRARIES}
${_gRPC_PROTOBUF_LIBRARIES}
@@ -4753,7 +4816,6 @@ target_include_directories(grpcpp_channelz
PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
PRIVATE ${_gRPC_PROTO_GENS_DIR}
)
-
target_link_libraries(grpcpp_channelz
${_gRPC_PROTOBUF_LIBRARIES}
${_gRPC_ALLTARGETS_LIBRARIES}
@@ -4838,7 +4900,6 @@ target_include_directories(http2_client_main
PRIVATE third_party/googletest/googlemock
PRIVATE ${_gRPC_PROTO_GENS_DIR}
)
-
target_link_libraries(http2_client_main
${_gRPC_PROTOBUF_LIBRARIES}
${_gRPC_ALLTARGETS_LIBRARIES}
@@ -4895,7 +4956,6 @@ target_include_directories(interop_client_helper
PRIVATE third_party/googletest/googlemock
PRIVATE ${_gRPC_PROTO_GENS_DIR}
)
-
target_link_libraries(interop_client_helper
${_gRPC_PROTOBUF_LIBRARIES}
${_gRPC_ALLTARGETS_LIBRARIES}
@@ -4967,7 +5027,6 @@ target_include_directories(interop_client_main
PRIVATE third_party/googletest/googlemock
PRIVATE ${_gRPC_PROTO_GENS_DIR}
)
-
target_link_libraries(interop_client_main
${_gRPC_PROTOBUF_LIBRARIES}
${_gRPC_ALLTARGETS_LIBRARIES}
@@ -5019,7 +5078,6 @@ target_include_directories(interop_server_helper
PRIVATE third_party/googletest/googlemock
PRIVATE ${_gRPC_PROTO_GENS_DIR}
)
-
target_link_libraries(interop_server_helper
${_gRPC_PROTOBUF_LIBRARIES}
${_gRPC_ALLTARGETS_LIBRARIES}
@@ -5089,7 +5147,6 @@ target_include_directories(interop_server_lib
PRIVATE third_party/googletest/googlemock
PRIVATE ${_gRPC_PROTO_GENS_DIR}
)
-
target_link_libraries(interop_server_lib
${_gRPC_PROTOBUF_LIBRARIES}
${_gRPC_ALLTARGETS_LIBRARIES}
@@ -5141,7 +5198,6 @@ target_include_directories(interop_server_main
PRIVATE third_party/googletest/googlemock
PRIVATE ${_gRPC_PROTO_GENS_DIR}
)
-
target_link_libraries(interop_server_main
${_gRPC_PROTOBUF_LIBRARIES}
${_gRPC_ALLTARGETS_LIBRARIES}
@@ -5245,7 +5301,6 @@ target_include_directories(qps
PRIVATE third_party/googletest/googlemock
PRIVATE ${_gRPC_PROTO_GENS_DIR}
)
-
target_link_libraries(qps
${_gRPC_PROTOBUF_LIBRARIES}
${_gRPC_ALLTARGETS_LIBRARIES}
@@ -5289,7 +5344,12 @@ target_include_directories(grpc_csharp_ext
PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
)
-
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(grpc_csharp_ext PROPERTIES LINKER_LANGUAGE C)
+ # only use the flags for C++ source files
+ target_compile_options(grpc_csharp_ext PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
target_link_libraries(grpc_csharp_ext
${_gRPC_ALLTARGETS_LIBRARIES}
grpc
@@ -5337,7 +5397,12 @@ target_include_directories(bad_client_test
PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
)
-
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(bad_client_test PROPERTIES LINKER_LANGUAGE C)
+ # only use the flags for C++ source files
+ target_compile_options(bad_client_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
target_link_libraries(bad_client_test
${_gRPC_ALLTARGETS_LIBRARIES}
grpc_test_util_unsecure
@@ -5378,7 +5443,12 @@ target_include_directories(bad_ssl_test_server
PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
)
-
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(bad_ssl_test_server PROPERTIES LINKER_LANGUAGE C)
+ # only use the flags for C++ source files
+ target_compile_options(bad_ssl_test_server PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
target_link_libraries(bad_ssl_test_server
${_gRPC_ALLTARGETS_LIBRARIES}
grpc_test_util
@@ -5498,7 +5568,12 @@ target_include_directories(end2end_tests
PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
)
-
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(end2end_tests PROPERTIES LINKER_LANGUAGE C)
+ # only use the flags for C++ source files
+ target_compile_options(end2end_tests PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
target_link_libraries(end2end_tests
${_gRPC_SSL_LIBRARIES}
${_gRPC_ALLTARGETS_LIBRARIES}
@@ -5618,7 +5693,12 @@ target_include_directories(end2end_nosec_tests
PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
)
-
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(end2end_nosec_tests PROPERTIES LINKER_LANGUAGE C)
+ # only use the flags for C++ source files
+ target_compile_options(end2end_nosec_tests PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
target_link_libraries(end2end_nosec_tests
${_gRPC_ALLTARGETS_LIBRARIES}
grpc_test_util_unsecure
@@ -5658,6 +5738,12 @@ target_link_libraries(algorithm_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(algorithm_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(algorithm_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -5685,6 +5771,12 @@ target_link_libraries(alloc_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(alloc_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(alloc_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -5714,6 +5806,12 @@ target_link_libraries(alpn_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(alpn_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(alpn_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -5741,6 +5839,12 @@ target_link_libraries(arena_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(arena_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(arena_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -5769,6 +5873,12 @@ target_link_libraries(avl_test
grpc
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(avl_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(avl_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -5799,6 +5909,12 @@ target_link_libraries(bad_server_response_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(bad_server_response_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(bad_server_response_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -5826,6 +5942,12 @@ target_link_libraries(bin_decoder_test
grpc
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(bin_decoder_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(bin_decoder_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -5853,6 +5975,12 @@ target_link_libraries(bin_encoder_test
grpc
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(bin_encoder_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(bin_encoder_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
if(_gRPC_PLATFORM_LINUX)
@@ -5883,6 +6011,12 @@ target_link_libraries(buffer_list_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(buffer_list_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(buffer_list_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -5913,6 +6047,12 @@ target_link_libraries(channel_create_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(channel_create_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(channel_create_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
add_executable(check_epollexclusive
@@ -5939,6 +6079,12 @@ target_link_libraries(check_epollexclusive
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(check_epollexclusive PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(check_epollexclusive PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
if (gRPC_BUILD_TESTS)
add_executable(chttp2_hpack_encoder_test
@@ -5967,6 +6113,12 @@ target_link_libraries(chttp2_hpack_encoder_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(chttp2_hpack_encoder_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(chttp2_hpack_encoder_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -5996,6 +6148,12 @@ target_link_libraries(chttp2_stream_map_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(chttp2_stream_map_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(chttp2_stream_map_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -6025,6 +6183,12 @@ target_link_libraries(chttp2_varint_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(chttp2_varint_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(chttp2_varint_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -6053,6 +6217,12 @@ target_link_libraries(cmdline_test
grpc_test_util
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(cmdline_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(cmdline_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -6082,6 +6252,12 @@ target_link_libraries(combiner_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(combiner_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(combiner_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -6111,6 +6287,12 @@ target_link_libraries(compression_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(compression_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(compression_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -6140,6 +6322,12 @@ target_link_libraries(concurrent_connectivity_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(concurrent_connectivity_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(concurrent_connectivity_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -6169,6 +6357,12 @@ target_link_libraries(connection_refused_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(connection_refused_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(connection_refused_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -6198,6 +6392,12 @@ target_link_libraries(dns_resolver_connectivity_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(dns_resolver_connectivity_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(dns_resolver_connectivity_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -6227,6 +6427,12 @@ target_link_libraries(dns_resolver_cooldown_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(dns_resolver_cooldown_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(dns_resolver_cooldown_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -6256,6 +6462,12 @@ target_link_libraries(dns_resolver_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(dns_resolver_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(dns_resolver_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
@@ -6286,6 +6498,12 @@ target_link_libraries(dualstack_socket_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(dualstack_socket_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(dualstack_socket_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -6316,6 +6534,12 @@ target_link_libraries(endpoint_pair_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(endpoint_pair_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(endpoint_pair_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -6345,6 +6569,12 @@ target_link_libraries(error_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(error_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(error_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
if(_gRPC_PLATFORM_LINUX)
@@ -6375,6 +6605,12 @@ target_link_libraries(ev_epollex_linux_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(ev_epollex_linux_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(ev_epollex_linux_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -6405,6 +6641,12 @@ target_link_libraries(fake_resolver_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(fake_resolver_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(fake_resolver_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
@@ -6435,6 +6677,12 @@ target_link_libraries(fake_transport_security_test
grpc
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(fake_transport_security_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(fake_transport_security_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -6466,6 +6714,12 @@ target_link_libraries(fd_conservation_posix_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(fd_conservation_posix_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(fd_conservation_posix_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -6497,6 +6751,12 @@ target_link_libraries(fd_posix_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(fd_posix_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(fd_posix_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -6527,6 +6787,12 @@ target_link_libraries(fling_client
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(fling_client PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(fling_client PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -6556,6 +6822,12 @@ target_link_libraries(fling_server
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(fling_server PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(fling_server PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
@@ -6586,6 +6858,12 @@ target_link_libraries(fling_stream_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(fling_stream_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(fling_stream_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -6617,6 +6895,12 @@ target_link_libraries(fling_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(fling_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(fling_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -6646,6 +6930,12 @@ target_link_libraries(fork_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(fork_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(fork_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -6677,6 +6967,12 @@ target_link_libraries(goaway_server_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(goaway_server_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(goaway_server_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -6705,6 +7001,12 @@ target_link_libraries(gpr_cpu_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(gpr_cpu_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(gpr_cpu_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -6732,6 +7034,12 @@ target_link_libraries(gpr_env_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(gpr_env_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(gpr_env_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -6759,6 +7067,12 @@ target_link_libraries(gpr_host_port_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(gpr_host_port_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(gpr_host_port_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -6786,6 +7100,12 @@ target_link_libraries(gpr_log_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(gpr_log_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(gpr_log_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -6813,6 +7133,12 @@ target_link_libraries(gpr_manual_constructor_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(gpr_manual_constructor_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(gpr_manual_constructor_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -6840,6 +7166,12 @@ target_link_libraries(gpr_mpscq_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(gpr_mpscq_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(gpr_mpscq_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -6867,6 +7199,12 @@ target_link_libraries(gpr_spinlock_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(gpr_spinlock_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(gpr_spinlock_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -6894,6 +7232,12 @@ target_link_libraries(gpr_string_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(gpr_string_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(gpr_string_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -6921,6 +7265,12 @@ target_link_libraries(gpr_sync_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(gpr_sync_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(gpr_sync_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -6948,6 +7298,12 @@ target_link_libraries(gpr_thd_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(gpr_thd_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(gpr_thd_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -6975,6 +7331,12 @@ target_link_libraries(gpr_time_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(gpr_time_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(gpr_time_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -7002,6 +7364,12 @@ target_link_libraries(gpr_tls_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(gpr_tls_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(gpr_tls_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -7029,6 +7397,12 @@ target_link_libraries(gpr_useful_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(gpr_useful_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(gpr_useful_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -7058,6 +7432,12 @@ target_link_libraries(grpc_auth_context_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(grpc_auth_context_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(grpc_auth_context_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -7087,6 +7467,12 @@ target_link_libraries(grpc_b64_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(grpc_b64_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(grpc_b64_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -7116,6 +7502,12 @@ target_link_libraries(grpc_byte_buffer_reader_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(grpc_byte_buffer_reader_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(grpc_byte_buffer_reader_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -7145,6 +7537,12 @@ target_link_libraries(grpc_channel_args_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(grpc_channel_args_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(grpc_channel_args_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -7174,6 +7572,12 @@ target_link_libraries(grpc_channel_stack_builder_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(grpc_channel_stack_builder_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(grpc_channel_stack_builder_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -7203,6 +7607,12 @@ target_link_libraries(grpc_channel_stack_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(grpc_channel_stack_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(grpc_channel_stack_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -7232,6 +7642,12 @@ target_link_libraries(grpc_completion_queue_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(grpc_completion_queue_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(grpc_completion_queue_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -7261,6 +7677,12 @@ target_link_libraries(grpc_completion_queue_threading_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(grpc_completion_queue_threading_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(grpc_completion_queue_threading_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
add_executable(grpc_create_jwt
@@ -7289,6 +7711,12 @@ target_link_libraries(grpc_create_jwt
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(grpc_create_jwt PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(grpc_create_jwt PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
if (gRPC_BUILD_TESTS)
add_executable(grpc_credentials_test
@@ -7317,6 +7745,12 @@ target_link_libraries(grpc_credentials_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(grpc_credentials_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(grpc_credentials_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -7346,6 +7780,12 @@ target_link_libraries(grpc_fetch_oauth2
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(grpc_fetch_oauth2 PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(grpc_fetch_oauth2 PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -7375,6 +7815,12 @@ target_link_libraries(grpc_ipv6_loopback_available_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(grpc_ipv6_loopback_available_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(grpc_ipv6_loopback_available_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
@@ -7405,6 +7851,12 @@ target_link_libraries(grpc_json_token_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(grpc_json_token_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(grpc_json_token_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -7435,6 +7887,12 @@ target_link_libraries(grpc_jwt_verifier_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(grpc_jwt_verifier_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(grpc_jwt_verifier_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
add_executable(grpc_print_google_default_creds_token
@@ -7462,6 +7920,12 @@ target_link_libraries(grpc_print_google_default_creds_token
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(grpc_print_google_default_creds_token PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(grpc_print_google_default_creds_token PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
if (gRPC_BUILD_TESTS)
add_executable(grpc_security_connector_test
@@ -7490,6 +7954,12 @@ target_link_libraries(grpc_security_connector_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(grpc_security_connector_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(grpc_security_connector_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -7519,6 +7989,12 @@ target_link_libraries(grpc_ssl_credentials_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(grpc_ssl_credentials_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(grpc_ssl_credentials_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
add_executable(grpc_verify_jwt
@@ -7546,6 +8022,12 @@ target_link_libraries(grpc_verify_jwt
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(grpc_verify_jwt PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(grpc_verify_jwt PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
if (gRPC_BUILD_TESTS)
if(_gRPC_PLATFORM_LINUX)
@@ -7576,6 +8058,12 @@ target_link_libraries(handshake_client
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(handshake_client PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(handshake_client PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -7609,6 +8097,12 @@ target_link_libraries(handshake_server
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(handshake_server PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(handshake_server PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -7642,6 +8136,12 @@ target_link_libraries(handshake_server_with_readahead_handshaker
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(handshake_server_with_readahead_handshaker PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(handshake_server_with_readahead_handshaker PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -7674,6 +8174,12 @@ target_link_libraries(handshake_verify_peer_options
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(handshake_verify_peer_options PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(handshake_verify_peer_options PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -7702,6 +8208,12 @@ target_link_libraries(histogram_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(histogram_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(histogram_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -7731,6 +8243,12 @@ target_link_libraries(hpack_parser_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(hpack_parser_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(hpack_parser_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -7760,6 +8278,12 @@ target_link_libraries(hpack_table_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(hpack_table_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(hpack_table_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -7789,6 +8313,12 @@ target_link_libraries(http_parser_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(http_parser_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(http_parser_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -7818,6 +8348,12 @@ target_link_libraries(httpcli_format_request_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(httpcli_format_request_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(httpcli_format_request_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
@@ -7848,6 +8384,12 @@ target_link_libraries(httpcli_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(httpcli_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(httpcli_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -7879,6 +8421,12 @@ target_link_libraries(httpscli_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(httpscli_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(httpscli_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -7909,6 +8457,12 @@ target_link_libraries(init_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(init_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(init_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -7938,6 +8492,12 @@ target_link_libraries(inproc_callback_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(inproc_callback_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(inproc_callback_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -7967,6 +8527,12 @@ target_link_libraries(invalid_call_argument_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(invalid_call_argument_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(invalid_call_argument_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -7996,6 +8562,12 @@ target_link_libraries(json_rewrite
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(json_rewrite PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(json_rewrite PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -8025,6 +8597,12 @@ target_link_libraries(json_rewrite_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(json_rewrite_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(json_rewrite_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -8054,6 +8632,12 @@ target_link_libraries(json_stream_error_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(json_stream_error_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(json_stream_error_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -8083,6 +8667,12 @@ target_link_libraries(json_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(json_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(json_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -8112,6 +8702,12 @@ target_link_libraries(lame_client_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(lame_client_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(lame_client_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -8141,6 +8737,12 @@ target_link_libraries(load_file_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(load_file_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(load_file_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -8170,6 +8772,12 @@ target_link_libraries(memory_profile_client
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(memory_profile_client PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(memory_profile_client PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -8199,6 +8807,12 @@ target_link_libraries(memory_profile_server
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(memory_profile_server PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(memory_profile_server PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
@@ -8229,6 +8843,12 @@ target_link_libraries(memory_profile_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(memory_profile_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(memory_profile_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -8259,6 +8879,12 @@ target_link_libraries(message_compress_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(message_compress_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(message_compress_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -8288,6 +8914,12 @@ target_link_libraries(minimal_stack_is_minimal_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(minimal_stack_is_minimal_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(minimal_stack_is_minimal_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -8317,6 +8949,12 @@ target_link_libraries(multiple_server_queues_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(multiple_server_queues_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(multiple_server_queues_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -8344,6 +8982,12 @@ target_link_libraries(murmur_hash_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(murmur_hash_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(murmur_hash_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -8373,6 +9017,12 @@ target_link_libraries(no_server_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(no_server_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(no_server_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -8402,6 +9052,12 @@ target_link_libraries(num_external_connectivity_watchers_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(num_external_connectivity_watchers_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(num_external_connectivity_watchers_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -8431,6 +9087,12 @@ target_link_libraries(parse_address_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(parse_address_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(parse_address_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -8460,6 +9122,12 @@ target_link_libraries(percent_encoding_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(percent_encoding_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(percent_encoding_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
@@ -8490,6 +9158,12 @@ target_link_libraries(resolve_address_posix_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(resolve_address_posix_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(resolve_address_posix_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -8520,6 +9194,12 @@ target_link_libraries(resolve_address_using_ares_resolver_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(resolve_address_using_ares_resolver_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(resolve_address_using_ares_resolver_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -8549,6 +9229,12 @@ target_link_libraries(resolve_address_using_native_resolver_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(resolve_address_using_native_resolver_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(resolve_address_using_native_resolver_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -8578,6 +9264,12 @@ target_link_libraries(resource_quota_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(resource_quota_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(resource_quota_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -8607,6 +9299,12 @@ target_link_libraries(secure_channel_create_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(secure_channel_create_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(secure_channel_create_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -8636,6 +9334,12 @@ target_link_libraries(secure_endpoint_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(secure_endpoint_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(secure_endpoint_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -8665,6 +9369,12 @@ target_link_libraries(sequential_connectivity_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(sequential_connectivity_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(sequential_connectivity_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -8694,6 +9404,12 @@ target_link_libraries(server_chttp2_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(server_chttp2_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(server_chttp2_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -8723,6 +9439,12 @@ target_link_libraries(server_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(server_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(server_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -8752,6 +9474,12 @@ target_link_libraries(slice_buffer_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(slice_buffer_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(slice_buffer_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -8781,6 +9509,12 @@ target_link_libraries(slice_string_helpers_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(slice_string_helpers_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(slice_string_helpers_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -8810,6 +9544,12 @@ target_link_libraries(slice_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(slice_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(slice_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -8839,6 +9579,12 @@ target_link_libraries(sockaddr_resolver_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(sockaddr_resolver_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(sockaddr_resolver_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -8868,6 +9614,12 @@ target_link_libraries(sockaddr_utils_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(sockaddr_utils_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(sockaddr_utils_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
@@ -8898,6 +9650,12 @@ target_link_libraries(socket_utils_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(socket_utils_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(socket_utils_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -8929,6 +9687,12 @@ target_link_libraries(ssl_transport_security_test
grpc
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(ssl_transport_security_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(ssl_transport_security_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -8959,6 +9723,12 @@ target_link_libraries(status_conversion_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(status_conversion_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(status_conversion_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -8988,6 +9758,12 @@ target_link_libraries(stream_compression_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(stream_compression_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(stream_compression_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -9017,6 +9793,12 @@ target_link_libraries(stream_owned_slice_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(stream_owned_slice_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(stream_owned_slice_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
@@ -9047,6 +9829,12 @@ target_link_libraries(tcp_client_posix_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(tcp_client_posix_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(tcp_client_posix_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -9077,6 +9865,12 @@ target_link_libraries(tcp_client_uv_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(tcp_client_uv_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(tcp_client_uv_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
@@ -9107,6 +9901,12 @@ target_link_libraries(tcp_posix_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(tcp_posix_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(tcp_posix_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -9138,6 +9938,12 @@ target_link_libraries(tcp_server_posix_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(tcp_server_posix_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(tcp_server_posix_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -9168,6 +9974,12 @@ target_link_libraries(tcp_server_uv_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(tcp_server_uv_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(tcp_server_uv_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -9197,6 +10009,12 @@ target_link_libraries(time_averaged_stats_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(time_averaged_stats_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(time_averaged_stats_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -9226,6 +10044,12 @@ target_link_libraries(timeout_encoding_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(timeout_encoding_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(timeout_encoding_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -9255,6 +10079,12 @@ target_link_libraries(timer_heap_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(timer_heap_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(timer_heap_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -9284,6 +10114,12 @@ target_link_libraries(timer_list_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(timer_list_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(timer_list_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -9313,6 +10149,12 @@ target_link_libraries(transport_connectivity_state_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(transport_connectivity_state_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(transport_connectivity_state_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -9342,6 +10184,12 @@ target_link_libraries(transport_metadata_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(transport_metadata_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(transport_metadata_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
@@ -9372,6 +10220,12 @@ target_link_libraries(transport_security_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(transport_security_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(transport_security_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -9403,6 +10257,12 @@ target_link_libraries(udp_server_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(udp_server_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(udp_server_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -9433,6 +10293,12 @@ target_link_libraries(uri_parser_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(uri_parser_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(uri_parser_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
@@ -9463,6 +10329,12 @@ target_link_libraries(wakeup_fd_cv_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(wakeup_fd_cv_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(wakeup_fd_cv_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -9504,6 +10376,7 @@ target_link_libraries(alarm_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -9541,6 +10414,7 @@ target_link_libraries(alts_counter_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -9579,6 +10453,7 @@ target_link_libraries(alts_crypt_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -9616,6 +10491,7 @@ target_link_libraries(alts_crypter_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -9653,6 +10529,7 @@ target_link_libraries(alts_frame_handler_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -9691,6 +10568,7 @@ target_link_libraries(alts_frame_protector_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -9728,6 +10606,7 @@ target_link_libraries(alts_grpc_record_protocol_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -9765,6 +10644,7 @@ target_link_libraries(alts_handshaker_client_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -9802,6 +10682,7 @@ target_link_libraries(alts_handshaker_service_api_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -9839,6 +10720,7 @@ target_link_libraries(alts_iovec_record_protocol_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -9875,6 +10757,7 @@ target_link_libraries(alts_security_connector_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -9912,6 +10795,7 @@ target_link_libraries(alts_tsi_handshaker_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -9949,6 +10833,7 @@ target_link_libraries(alts_tsi_utils_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -9986,6 +10871,7 @@ target_link_libraries(alts_zero_copy_grpc_protector_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -10026,6 +10912,7 @@ target_link_libraries(async_end2end_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -10066,6 +10953,7 @@ target_link_libraries(auth_property_iterator_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -10104,6 +10992,7 @@ target_link_libraries(backoff_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -10144,6 +11033,7 @@ target_link_libraries(bdp_estimator_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
@@ -10188,6 +11078,7 @@ target_link_libraries(bm_arena
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -10233,6 +11124,7 @@ target_link_libraries(bm_call_create
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -10278,6 +11170,7 @@ target_link_libraries(bm_channel
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -10323,6 +11216,7 @@ target_link_libraries(bm_chttp2_hpack
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -10368,6 +11262,7 @@ target_link_libraries(bm_chttp2_transport
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -10413,6 +11308,7 @@ target_link_libraries(bm_closure
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -10458,6 +11354,7 @@ target_link_libraries(bm_cq
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -10503,6 +11400,7 @@ target_link_libraries(bm_cq_multiple_threads
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -10548,6 +11446,7 @@ target_link_libraries(bm_error
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -10593,6 +11492,7 @@ target_link_libraries(bm_fullstack_streaming_ping_pong
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -10638,6 +11538,7 @@ target_link_libraries(bm_fullstack_streaming_pump
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -10683,6 +11584,7 @@ target_link_libraries(bm_fullstack_trickle
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -10728,6 +11630,7 @@ target_link_libraries(bm_fullstack_unary_ping_pong
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -10773,6 +11676,7 @@ target_link_libraries(bm_metadata
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -10818,6 +11722,7 @@ target_link_libraries(bm_pollset
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -10857,6 +11762,7 @@ target_link_libraries(byte_stream_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -10894,6 +11800,7 @@ target_link_libraries(channel_arguments_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -10931,6 +11838,7 @@ target_link_libraries(channel_filter_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -10978,6 +11886,7 @@ target_link_libraries(channel_trace_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -11018,6 +11927,7 @@ target_link_libraries(channelz_registry_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -11066,6 +11976,7 @@ target_link_libraries(channelz_service_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -11113,6 +12024,7 @@ target_link_libraries(channelz_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -11149,6 +12061,7 @@ target_link_libraries(check_gcp_environment_linux_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -11185,6 +12098,7 @@ target_link_libraries(check_gcp_environment_windows_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -11223,6 +12137,7 @@ target_link_libraries(chttp2_settings_timeout_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -11264,6 +12179,7 @@ target_link_libraries(cli_call_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -11304,6 +12220,7 @@ target_link_libraries(client_callback_end2end_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -11351,6 +12268,7 @@ target_link_libraries(client_channel_stress_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
@@ -11392,6 +12310,7 @@ target_link_libraries(client_crash_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -11433,6 +12352,7 @@ target_link_libraries(client_crash_test_server
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -11473,6 +12393,7 @@ target_link_libraries(client_lb_end2end_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -11560,6 +12481,7 @@ target_link_libraries(codegen_test_full
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -11647,6 +12569,7 @@ target_link_libraries(codegen_test_minimal
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -11684,6 +12607,7 @@ target_link_libraries(credentials_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -11723,6 +12647,7 @@ target_link_libraries(cxx_byte_buffer_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -11762,6 +12687,7 @@ target_link_libraries(cxx_slice_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -11798,6 +12724,7 @@ target_link_libraries(cxx_string_ref_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -11837,6 +12764,7 @@ target_link_libraries(cxx_time_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -11877,6 +12805,7 @@ target_link_libraries(end2end_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -11920,6 +12849,7 @@ target_link_libraries(error_details_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -11960,6 +12890,7 @@ target_link_libraries(exception_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -12000,6 +12931,7 @@ target_link_libraries(filter_end2end_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -12040,6 +12972,7 @@ target_link_libraries(generic_end2end_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -12084,6 +13017,7 @@ target_link_libraries(golden_file_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -12120,6 +13054,7 @@ target_link_libraries(grpc_alts_credentials_options_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -12160,6 +13095,7 @@ target_link_libraries(grpc_cli
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_CODEGEN)
@@ -12190,6 +13126,7 @@ target_link_libraries(grpc_cpp_plugin
)
+
if (gRPC_INSTALL)
install(TARGETS grpc_cpp_plugin EXPORT gRPCTargets
RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
@@ -12228,6 +13165,7 @@ target_link_libraries(grpc_csharp_plugin
)
+
if (gRPC_INSTALL)
install(TARGETS grpc_csharp_plugin EXPORT gRPCTargets
RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
@@ -12274,6 +13212,7 @@ target_link_libraries(grpc_linux_system_roots_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_CODEGEN)
@@ -12304,6 +13243,7 @@ target_link_libraries(grpc_node_plugin
)
+
if (gRPC_INSTALL)
install(TARGETS grpc_node_plugin EXPORT gRPCTargets
RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
@@ -12342,6 +13282,7 @@ target_link_libraries(grpc_objective_c_plugin
)
+
if (gRPC_INSTALL)
install(TARGETS grpc_objective_c_plugin EXPORT gRPCTargets
RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
@@ -12380,6 +13321,7 @@ target_link_libraries(grpc_php_plugin
)
+
if (gRPC_INSTALL)
install(TARGETS grpc_php_plugin EXPORT gRPCTargets
RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
@@ -12418,6 +13360,7 @@ target_link_libraries(grpc_python_plugin
)
+
if (gRPC_INSTALL)
install(TARGETS grpc_python_plugin EXPORT gRPCTargets
RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
@@ -12456,6 +13399,7 @@ target_link_libraries(grpc_ruby_plugin
)
+
if (gRPC_INSTALL)
install(TARGETS grpc_ruby_plugin EXPORT gRPCTargets
RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
@@ -12521,6 +13465,7 @@ target_link_libraries(grpc_tool_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -12566,6 +13511,7 @@ target_link_libraries(grpclb_api_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -12613,6 +13559,7 @@ target_link_libraries(grpclb_end2end_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -12652,6 +13599,7 @@ target_link_libraries(h2_ssl_cert_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -12691,6 +13639,7 @@ target_link_libraries(h2_ssl_session_reuse_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -12731,6 +13680,7 @@ target_link_libraries(health_service_end2end_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
@@ -12771,6 +13721,7 @@ target_link_libraries(http2_client
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -12812,6 +13763,7 @@ target_link_libraries(hybrid_end2end_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -12851,6 +13803,7 @@ target_link_libraries(inlined_vector_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
@@ -12895,6 +13848,7 @@ target_link_libraries(inproc_sync_unary_ping_pong_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -12939,6 +13893,7 @@ target_link_libraries(interop_client
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -12984,6 +13939,7 @@ target_link_libraries(interop_server
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -13025,6 +13981,7 @@ target_link_libraries(interop_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -13068,6 +14025,7 @@ target_link_libraries(json_run_localhost
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -13108,6 +14066,7 @@ target_link_libraries(memory_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -13153,6 +14112,7 @@ target_link_libraries(metrics_client
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -13193,6 +14153,7 @@ target_link_libraries(mock_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -13233,6 +14194,7 @@ target_link_libraries(nonblocking_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -13268,6 +14230,7 @@ target_link_libraries(noop-benchmark
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -13307,6 +14270,7 @@ target_link_libraries(orphanable_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -13349,6 +14313,7 @@ target_link_libraries(proto_server_reflection_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -13385,6 +14350,7 @@ target_link_libraries(proto_utils_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
@@ -13428,6 +14394,7 @@ target_link_libraries(qps_interarrival_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -13472,6 +14439,7 @@ target_link_libraries(qps_json_driver
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
@@ -13516,6 +14484,7 @@ target_link_libraries(qps_openloop_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -13560,6 +14529,7 @@ target_link_libraries(qps_worker
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -13600,6 +14570,7 @@ target_link_libraries(raw_end2end_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -13662,6 +14633,7 @@ target_link_libraries(reconnect_interop_client
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -13726,6 +14698,7 @@ target_link_libraries(reconnect_interop_server
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -13765,6 +14738,7 @@ target_link_libraries(ref_counted_ptr_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -13804,6 +14778,7 @@ target_link_libraries(ref_counted_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -13842,6 +14817,7 @@ target_link_libraries(retry_throttle_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -13882,6 +14858,7 @@ target_link_libraries(secure_auth_context_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
@@ -13926,6 +14903,7 @@ target_link_libraries(secure_sync_unary_ping_pong_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -13967,6 +14945,7 @@ target_link_libraries(server_builder_plugin_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -14021,6 +15000,7 @@ target_link_libraries(server_builder_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
if(_gRPC_PLATFORM_POSIX)
@@ -14076,6 +15056,7 @@ target_link_libraries(server_builder_with_socket_mutator_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -14116,6 +15097,7 @@ target_link_libraries(server_context_test_spouse_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
@@ -14157,6 +15139,7 @@ target_link_libraries(server_crash_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -14198,6 +15181,7 @@ target_link_libraries(server_crash_test_client
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -14238,6 +15222,7 @@ target_link_libraries(server_early_return_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -14292,6 +15277,7 @@ target_link_libraries(server_request_call_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -14332,6 +15318,7 @@ target_link_libraries(shutdown_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -14370,6 +15357,7 @@ target_link_libraries(slice_hash_table_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -14408,6 +15396,7 @@ target_link_libraries(slice_weak_hash_table_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -14447,6 +15436,7 @@ target_link_libraries(stats_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -14482,6 +15472,7 @@ target_link_libraries(status_metadata_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -14517,6 +15508,7 @@ target_link_libraries(status_util_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
@@ -14558,6 +15550,7 @@ target_link_libraries(streaming_throughput_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -14631,6 +15624,7 @@ target_link_libraries(stress_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -14669,6 +15663,7 @@ target_link_libraries(thread_manager_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -14709,6 +15704,7 @@ target_link_libraries(thread_stress_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -14749,6 +15745,7 @@ target_link_libraries(transport_pid_controller_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -14786,6 +15783,7 @@ target_link_libraries(transport_security_common_api_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
@@ -14827,6 +15825,7 @@ target_link_libraries(writes_per_rpc_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -14855,6 +15854,7 @@ target_link_libraries(public_headers_must_be_c89
gpr
)
+
endif (gRPC_BUILD_TESTS)
add_executable(gen_hpack_tables
@@ -14882,6 +15882,7 @@ target_link_libraries(gen_hpack_tables
)
+
add_executable(gen_legal_metadata_characters
tools/codegen/core/gen_legal_metadata_characters.cc
)
@@ -14905,6 +15906,7 @@ target_link_libraries(gen_legal_metadata_characters
)
+
add_executable(gen_percent_encoding_tables
tools/codegen/core/gen_percent_encoding_tables.cc
)
@@ -14927,6 +15929,7 @@ target_link_libraries(gen_percent_encoding_tables
${_gRPC_ALLTARGETS_LIBRARIES}
)
+
if (gRPC_BUILD_TESTS)
add_executable(badreq_bad_client_test
@@ -14957,6 +15960,12 @@ target_link_libraries(badreq_bad_client_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(badreq_bad_client_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(badreq_bad_client_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -14988,6 +15997,12 @@ target_link_libraries(connection_prefix_bad_client_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(connection_prefix_bad_client_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(connection_prefix_bad_client_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -15019,6 +16034,12 @@ target_link_libraries(duplicate_header_bad_client_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(duplicate_header_bad_client_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(duplicate_header_bad_client_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -15050,6 +16071,12 @@ target_link_libraries(head_of_line_blocking_bad_client_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(head_of_line_blocking_bad_client_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(head_of_line_blocking_bad_client_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -15081,6 +16108,12 @@ target_link_libraries(headers_bad_client_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(headers_bad_client_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(headers_bad_client_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -15112,6 +16145,12 @@ target_link_libraries(initial_settings_frame_bad_client_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(initial_settings_frame_bad_client_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(initial_settings_frame_bad_client_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -15143,6 +16182,12 @@ target_link_libraries(large_metadata_bad_client_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(large_metadata_bad_client_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(large_metadata_bad_client_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -15174,6 +16219,12 @@ target_link_libraries(server_registered_method_bad_client_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(server_registered_method_bad_client_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(server_registered_method_bad_client_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -15205,6 +16256,12 @@ target_link_libraries(simple_request_bad_client_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(simple_request_bad_client_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(simple_request_bad_client_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -15236,6 +16293,12 @@ target_link_libraries(unknown_frame_bad_client_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(unknown_frame_bad_client_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(unknown_frame_bad_client_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -15267,6 +16330,12 @@ target_link_libraries(window_overflow_bad_client_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(window_overflow_bad_client_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(window_overflow_bad_client_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
@@ -15298,6 +16367,12 @@ target_link_libraries(bad_ssl_cert_server
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(bad_ssl_cert_server PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(bad_ssl_cert_server PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -15329,6 +16404,12 @@ target_link_libraries(bad_ssl_cert_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(bad_ssl_cert_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(bad_ssl_cert_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -15360,6 +16441,12 @@ target_link_libraries(h2_census_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(h2_census_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(h2_census_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -15390,6 +16477,12 @@ target_link_libraries(h2_compress_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(h2_compress_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(h2_compress_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -15420,6 +16513,12 @@ target_link_libraries(h2_fakesec_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(h2_fakesec_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(h2_fakesec_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
@@ -15451,6 +16550,12 @@ target_link_libraries(h2_fd_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(h2_fd_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(h2_fd_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -15482,6 +16587,12 @@ target_link_libraries(h2_full_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(h2_full_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(h2_full_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
if(_gRPC_PLATFORM_LINUX)
@@ -15513,6 +16624,12 @@ target_link_libraries(h2_full+pipe_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(h2_full+pipe_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(h2_full+pipe_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -15544,6 +16661,12 @@ target_link_libraries(h2_full+trace_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(h2_full+trace_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(h2_full+trace_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -15574,6 +16697,12 @@ target_link_libraries(h2_full+workarounds_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(h2_full+workarounds_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(h2_full+workarounds_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -15604,6 +16733,12 @@ target_link_libraries(h2_http_proxy_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(h2_http_proxy_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(h2_http_proxy_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
@@ -15635,6 +16770,12 @@ target_link_libraries(h2_local_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(h2_local_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(h2_local_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -15666,6 +16807,12 @@ target_link_libraries(h2_oauth2_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(h2_oauth2_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(h2_oauth2_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -15696,6 +16843,12 @@ target_link_libraries(h2_proxy_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(h2_proxy_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(h2_proxy_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -15726,6 +16879,12 @@ target_link_libraries(h2_sockpair_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(h2_sockpair_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(h2_sockpair_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -15756,6 +16915,12 @@ target_link_libraries(h2_sockpair+trace_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(h2_sockpair+trace_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(h2_sockpair+trace_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -15786,6 +16951,12 @@ target_link_libraries(h2_sockpair_1byte_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(h2_sockpair_1byte_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(h2_sockpair_1byte_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -15816,6 +16987,12 @@ target_link_libraries(h2_ssl_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(h2_ssl_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(h2_ssl_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -15846,6 +17023,12 @@ target_link_libraries(h2_ssl_proxy_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(h2_ssl_proxy_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(h2_ssl_proxy_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
@@ -15877,6 +17060,12 @@ target_link_libraries(h2_uds_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(h2_uds_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(h2_uds_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -15908,6 +17097,12 @@ target_link_libraries(inproc_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(inproc_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(inproc_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -15938,6 +17133,12 @@ target_link_libraries(h2_census_nosec_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(h2_census_nosec_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(h2_census_nosec_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -15968,6 +17169,12 @@ target_link_libraries(h2_compress_nosec_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(h2_compress_nosec_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(h2_compress_nosec_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
@@ -15999,6 +17206,12 @@ target_link_libraries(h2_fd_nosec_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(h2_fd_nosec_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(h2_fd_nosec_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -16030,6 +17243,12 @@ target_link_libraries(h2_full_nosec_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(h2_full_nosec_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(h2_full_nosec_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
if(_gRPC_PLATFORM_LINUX)
@@ -16061,6 +17280,12 @@ target_link_libraries(h2_full+pipe_nosec_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(h2_full+pipe_nosec_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(h2_full+pipe_nosec_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -16092,6 +17317,12 @@ target_link_libraries(h2_full+trace_nosec_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(h2_full+trace_nosec_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(h2_full+trace_nosec_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -16122,6 +17353,12 @@ target_link_libraries(h2_full+workarounds_nosec_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(h2_full+workarounds_nosec_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(h2_full+workarounds_nosec_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -16152,6 +17389,12 @@ target_link_libraries(h2_http_proxy_nosec_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(h2_http_proxy_nosec_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(h2_http_proxy_nosec_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -16182,6 +17425,12 @@ target_link_libraries(h2_proxy_nosec_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(h2_proxy_nosec_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(h2_proxy_nosec_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -16212,6 +17461,12 @@ target_link_libraries(h2_sockpair_nosec_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(h2_sockpair_nosec_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(h2_sockpair_nosec_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -16242,6 +17497,12 @@ target_link_libraries(h2_sockpair+trace_nosec_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(h2_sockpair+trace_nosec_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(h2_sockpair+trace_nosec_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -16272,6 +17533,12 @@ target_link_libraries(h2_sockpair_1byte_nosec_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(h2_sockpair_1byte_nosec_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(h2_sockpair_1byte_nosec_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
@@ -16303,6 +17570,12 @@ target_link_libraries(h2_uds_nosec_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(h2_uds_nosec_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(h2_uds_nosec_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -16334,6 +17607,12 @@ target_link_libraries(inproc_nosec_test
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(inproc_nosec_test PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(inproc_nosec_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -16375,6 +17654,7 @@ target_link_libraries(resolver_component_test_unsecure
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -16416,6 +17696,7 @@ target_link_libraries(resolver_component_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
@@ -16458,6 +17739,7 @@ target_link_libraries(resolver_component_tests_runner_invoker_unsecure
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -16501,6 +17783,7 @@ target_link_libraries(resolver_component_tests_runner_invoker
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif()
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -16543,6 +17826,7 @@ target_link_libraries(address_sorting_test_unsecure
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -16584,6 +17868,7 @@ target_link_libraries(address_sorting_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -16625,6 +17910,7 @@ target_link_libraries(cancel_ares_query_test
${_gRPC_GFLAGS_LIBRARIES}
)
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -16655,6 +17941,12 @@ target_link_libraries(alts_credentials_fuzzer_one_entry
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(alts_credentials_fuzzer_one_entry PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(alts_credentials_fuzzer_one_entry PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -16685,6 +17977,12 @@ target_link_libraries(api_fuzzer_one_entry
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(api_fuzzer_one_entry PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(api_fuzzer_one_entry PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -16715,6 +18013,12 @@ target_link_libraries(client_fuzzer_one_entry
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(client_fuzzer_one_entry PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(client_fuzzer_one_entry PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -16745,6 +18049,12 @@ target_link_libraries(hpack_parser_fuzzer_test_one_entry
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(hpack_parser_fuzzer_test_one_entry PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(hpack_parser_fuzzer_test_one_entry PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -16775,6 +18085,12 @@ target_link_libraries(http_request_fuzzer_test_one_entry
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(http_request_fuzzer_test_one_entry PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(http_request_fuzzer_test_one_entry PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -16805,6 +18121,12 @@ target_link_libraries(http_response_fuzzer_test_one_entry
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(http_response_fuzzer_test_one_entry PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(http_response_fuzzer_test_one_entry PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -16835,6 +18157,12 @@ target_link_libraries(json_fuzzer_test_one_entry
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(json_fuzzer_test_one_entry PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(json_fuzzer_test_one_entry PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -16865,6 +18193,12 @@ target_link_libraries(nanopb_fuzzer_response_test_one_entry
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(nanopb_fuzzer_response_test_one_entry PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(nanopb_fuzzer_response_test_one_entry PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -16895,6 +18229,12 @@ target_link_libraries(nanopb_fuzzer_serverlist_test_one_entry
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(nanopb_fuzzer_serverlist_test_one_entry PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(nanopb_fuzzer_serverlist_test_one_entry PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -16925,6 +18265,12 @@ target_link_libraries(percent_decode_fuzzer_one_entry
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(percent_decode_fuzzer_one_entry PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(percent_decode_fuzzer_one_entry PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -16955,6 +18301,12 @@ target_link_libraries(percent_encode_fuzzer_one_entry
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(percent_encode_fuzzer_one_entry PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(percent_encode_fuzzer_one_entry PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -16985,6 +18337,12 @@ target_link_libraries(server_fuzzer_one_entry
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(server_fuzzer_one_entry PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(server_fuzzer_one_entry PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -17015,6 +18373,12 @@ target_link_libraries(ssl_server_fuzzer_one_entry
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(ssl_server_fuzzer_one_entry PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(ssl_server_fuzzer_one_entry PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
if (gRPC_BUILD_TESTS)
@@ -17045,6 +18409,12 @@ target_link_libraries(uri_fuzzer_test_one_entry
gpr
)
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(uri_fuzzer_test_one_entry PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(uri_fuzzer_test_one_entry PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
+ endif()
+
endif (gRPC_BUILD_TESTS)
diff --git a/Makefile b/Makefile
index e86a0695be..67635ff8c2 100644
--- a/Makefile
+++ b/Makefile
@@ -5428,6 +5428,7 @@ PUBLIC_HEADERS_CXX += \
include/grpcpp/impl/codegen/channel_interface.h \
include/grpcpp/impl/codegen/client_callback.h \
include/grpcpp/impl/codegen/client_context.h \
+ include/grpcpp/impl/codegen/client_interceptor.h \
include/grpcpp/impl/codegen/client_unary_call.h \
include/grpcpp/impl/codegen/completion_queue.h \
include/grpcpp/impl/codegen/completion_queue_tag.h \
@@ -5435,6 +5436,7 @@ PUBLIC_HEADERS_CXX += \
include/grpcpp/impl/codegen/core_codegen_interface.h \
include/grpcpp/impl/codegen/create_auth_context.h \
include/grpcpp/impl/codegen/grpc_library.h \
+ include/grpcpp/impl/codegen/interceptor.h \
include/grpcpp/impl/codegen/metadata_map.h \
include/grpcpp/impl/codegen/method_handler_impl.h \
include/grpcpp/impl/codegen/rpc_method.h \
@@ -6006,6 +6008,7 @@ PUBLIC_HEADERS_CXX += \
include/grpcpp/impl/codegen/channel_interface.h \
include/grpcpp/impl/codegen/client_callback.h \
include/grpcpp/impl/codegen/client_context.h \
+ include/grpcpp/impl/codegen/client_interceptor.h \
include/grpcpp/impl/codegen/client_unary_call.h \
include/grpcpp/impl/codegen/completion_queue.h \
include/grpcpp/impl/codegen/completion_queue_tag.h \
@@ -6013,6 +6016,7 @@ PUBLIC_HEADERS_CXX += \
include/grpcpp/impl/codegen/core_codegen_interface.h \
include/grpcpp/impl/codegen/create_auth_context.h \
include/grpcpp/impl/codegen/grpc_library.h \
+ include/grpcpp/impl/codegen/interceptor.h \
include/grpcpp/impl/codegen/metadata_map.h \
include/grpcpp/impl/codegen/method_handler_impl.h \
include/grpcpp/impl/codegen/rpc_method.h \
@@ -6398,6 +6402,7 @@ PUBLIC_HEADERS_CXX += \
include/grpcpp/impl/codegen/channel_interface.h \
include/grpcpp/impl/codegen/client_callback.h \
include/grpcpp/impl/codegen/client_context.h \
+ include/grpcpp/impl/codegen/client_interceptor.h \
include/grpcpp/impl/codegen/client_unary_call.h \
include/grpcpp/impl/codegen/completion_queue.h \
include/grpcpp/impl/codegen/completion_queue_tag.h \
@@ -6405,6 +6410,7 @@ PUBLIC_HEADERS_CXX += \
include/grpcpp/impl/codegen/core_codegen_interface.h \
include/grpcpp/impl/codegen/create_auth_context.h \
include/grpcpp/impl/codegen/grpc_library.h \
+ include/grpcpp/impl/codegen/interceptor.h \
include/grpcpp/impl/codegen/metadata_map.h \
include/grpcpp/impl/codegen/method_handler_impl.h \
include/grpcpp/impl/codegen/rpc_method.h \
@@ -6554,6 +6560,7 @@ PUBLIC_HEADERS_CXX += \
include/grpcpp/impl/codegen/channel_interface.h \
include/grpcpp/impl/codegen/client_callback.h \
include/grpcpp/impl/codegen/client_context.h \
+ include/grpcpp/impl/codegen/client_interceptor.h \
include/grpcpp/impl/codegen/client_unary_call.h \
include/grpcpp/impl/codegen/completion_queue.h \
include/grpcpp/impl/codegen/completion_queue_tag.h \
@@ -6561,6 +6568,7 @@ PUBLIC_HEADERS_CXX += \
include/grpcpp/impl/codegen/core_codegen_interface.h \
include/grpcpp/impl/codegen/create_auth_context.h \
include/grpcpp/impl/codegen/grpc_library.h \
+ include/grpcpp/impl/codegen/interceptor.h \
include/grpcpp/impl/codegen/metadata_map.h \
include/grpcpp/impl/codegen/method_handler_impl.h \
include/grpcpp/impl/codegen/rpc_method.h \
@@ -6879,6 +6887,7 @@ PUBLIC_HEADERS_CXX += \
include/grpcpp/impl/codegen/channel_interface.h \
include/grpcpp/impl/codegen/client_callback.h \
include/grpcpp/impl/codegen/client_context.h \
+ include/grpcpp/impl/codegen/client_interceptor.h \
include/grpcpp/impl/codegen/client_unary_call.h \
include/grpcpp/impl/codegen/completion_queue.h \
include/grpcpp/impl/codegen/completion_queue_tag.h \
@@ -6886,6 +6895,7 @@ PUBLIC_HEADERS_CXX += \
include/grpcpp/impl/codegen/core_codegen_interface.h \
include/grpcpp/impl/codegen/create_auth_context.h \
include/grpcpp/impl/codegen/grpc_library.h \
+ include/grpcpp/impl/codegen/interceptor.h \
include/grpcpp/impl/codegen/metadata_map.h \
include/grpcpp/impl/codegen/method_handler_impl.h \
include/grpcpp/impl/codegen/rpc_method.h \
diff --git a/build.yaml b/build.yaml
index 3bc78d9299..6f81bf7afc 100644
--- a/build.yaml
+++ b/build.yaml
@@ -1171,6 +1171,7 @@ filegroups:
- include/grpcpp/impl/codegen/channel_interface.h
- include/grpcpp/impl/codegen/client_callback.h
- include/grpcpp/impl/codegen/client_context.h
+ - include/grpcpp/impl/codegen/client_interceptor.h
- include/grpcpp/impl/codegen/client_unary_call.h
- include/grpcpp/impl/codegen/completion_queue.h
- include/grpcpp/impl/codegen/completion_queue_tag.h
@@ -1178,6 +1179,7 @@ filegroups:
- include/grpcpp/impl/codegen/core_codegen_interface.h
- include/grpcpp/impl/codegen/create_auth_context.h
- include/grpcpp/impl/codegen/grpc_library.h
+ - include/grpcpp/impl/codegen/interceptor.h
- include/grpcpp/impl/codegen/metadata_map.h
- include/grpcpp/impl/codegen/method_handler_impl.h
- include/grpcpp/impl/codegen/rpc_method.h
diff --git a/doc/server-reflection.md b/doc/server-reflection.md
index 3716dc5a21..0cc30a4eb0 100644
--- a/doc/server-reflection.md
+++ b/doc/server-reflection.md
@@ -161,6 +161,7 @@ which FileDescriptorProtos have been sent on a given stream, for a given value
of valid_host, and avoid sending them repeatedly for overlapping requests.
| message_request message | Result |
+| --------------------------- | ----------------------------------------------- |
| files_for_file_name | transitive closure of file name |
| files_for_symbol_name | transitive closure file containing symbol |
| file_containing_extension | transitive closure of file containing a given extension number of a given symbol |
diff --git a/gRPC-C++.podspec b/gRPC-C++.podspec
index b51c14eba9..f2d9a814c3 100644
--- a/gRPC-C++.podspec
+++ b/gRPC-C++.podspec
@@ -132,6 +132,7 @@ Pod::Spec.new do |s|
'include/grpcpp/impl/codegen/channel_interface.h',
'include/grpcpp/impl/codegen/client_callback.h',
'include/grpcpp/impl/codegen/client_context.h',
+ 'include/grpcpp/impl/codegen/client_interceptor.h',
'include/grpcpp/impl/codegen/client_unary_call.h',
'include/grpcpp/impl/codegen/completion_queue.h',
'include/grpcpp/impl/codegen/completion_queue_tag.h',
@@ -139,6 +140,7 @@ Pod::Spec.new do |s|
'include/grpcpp/impl/codegen/core_codegen_interface.h',
'include/grpcpp/impl/codegen/create_auth_context.h',
'include/grpcpp/impl/codegen/grpc_library.h',
+ 'include/grpcpp/impl/codegen/interceptor.h',
'include/grpcpp/impl/codegen/metadata_map.h',
'include/grpcpp/impl/codegen/method_handler_impl.h',
'include/grpcpp/impl/codegen/rpc_method.h',
diff --git a/include/grpc/impl/codegen/grpc_types.h b/include/grpc/impl/codegen/grpc_types.h
index 9ed5b3c1d4..d1f8834d11 100644
--- a/include/grpc/impl/codegen/grpc_types.h
+++ b/include/grpc/impl/codegen/grpc_types.h
@@ -286,7 +286,7 @@ typedef struct {
/** The grpc_socket_factory instance to create and bind sockets. A pointer. */
#define GRPC_ARG_SOCKET_FACTORY "grpc.socket_factory"
/** The maximum number of trace events to keep in the tracer for each channel or
- * subchannel. The default is 10. If set to 0, channel tracing is disabled. */
+ * subchannel. The default is 0. If set to 0, channel tracing is disabled. */
#define GRPC_ARG_MAX_CHANNEL_TRACE_EVENTS_PER_NODE \
"grpc.max_channel_trace_events_per_node"
/** If non-zero, gRPC library will track stats and information at at per channel
diff --git a/include/grpcpp/channel.h b/include/grpcpp/channel.h
index f1dba5b8ad..b7c9e354de 100644
--- a/include/grpcpp/channel.h
+++ b/include/grpcpp/channel.h
@@ -24,6 +24,7 @@
#include <grpc/grpc.h>
#include <grpcpp/impl/call.h>
#include <grpcpp/impl/codegen/channel_interface.h>
+#include <grpcpp/impl/codegen/client_interceptor.h>
#include <grpcpp/impl/codegen/config.h>
#include <grpcpp/impl/codegen/grpc_library.h>
@@ -62,8 +63,14 @@ class Channel final : public ChannelInterface,
friend class internal::BlockingUnaryCallImpl;
friend void experimental::ChannelResetConnectionBackoff(Channel* channel);
friend std::shared_ptr<Channel> CreateChannelInternal(
- const grpc::string& host, grpc_channel* c_channel);
- Channel(const grpc::string& host, grpc_channel* c_channel);
+ const grpc::string& host, grpc_channel* c_channel,
+ std::unique_ptr<std::vector<
+ std::unique_ptr<experimental::ClientInterceptorFactoryInterface>>>
+ interceptor_creators);
+ Channel(const grpc::string& host, grpc_channel* c_channel,
+ std::unique_ptr<std::vector<
+ std::unique_ptr<experimental::ClientInterceptorFactoryInterface>>>
+ interceptor_creators);
internal::Call CreateCall(const internal::RpcMethod& method,
ClientContext* context,
@@ -91,6 +98,9 @@ class Channel final : public ChannelInterface,
// It is _not owned_ by the channel; ownership belongs with its internal
// shutdown callback tag (invoked when the CQ is fully shutdown).
CompletionQueue* callback_cq_ = nullptr;
+
+ std::vector<std::unique_ptr<experimental::ClientInterceptorFactoryInterface>>
+ interceptor_creators_;
};
} // namespace grpc
diff --git a/include/grpcpp/create_channel.h b/include/grpcpp/create_channel.h
index 7a505a7127..43188d09e7 100644
--- a/include/grpcpp/create_channel.h
+++ b/include/grpcpp/create_channel.h
@@ -22,6 +22,7 @@
#include <memory>
#include <grpcpp/channel.h>
+#include <grpcpp/impl/codegen/client_interceptor.h>
#include <grpcpp/security/credentials.h>
#include <grpcpp/support/channel_arguments.h>
#include <grpcpp/support/config.h>
@@ -53,6 +54,26 @@ std::shared_ptr<Channel> CreateCustomChannel(
const std::shared_ptr<ChannelCredentials>& creds,
const ChannelArguments& args);
+namespace experimental {
+/// Create a new \em custom \a Channel pointing to \a target with \a
+/// interceptors being invoked per call.
+///
+/// \warning For advanced use and testing ONLY. Override default channel
+/// arguments only if necessary.
+///
+/// \param target The URI of the endpoint to connect to.
+/// \param creds Credentials to use for the created channel. If it does not
+/// hold an object or is invalid, a lame channel (one on which all operations
+/// fail) is returned.
+/// \param args Options for channel creation.
+std::shared_ptr<Channel> CreateCustomChannelWithInterceptors(
+ const grpc::string& target,
+ const std::shared_ptr<ChannelCredentials>& creds,
+ const ChannelArguments& args,
+ std::unique_ptr<std::vector<
+ std::unique_ptr<experimental::ClientInterceptorFactoryInterface>>>
+ interceptor_creators);
+} // namespace experimental
} // namespace grpc
#endif // GRPCPP_CREATE_CHANNEL_H
diff --git a/include/grpcpp/create_channel_posix.h b/include/grpcpp/create_channel_posix.h
index 9bf5acc45c..808514041b 100644
--- a/include/grpcpp/create_channel_posix.h
+++ b/include/grpcpp/create_channel_posix.h
@@ -45,6 +45,23 @@ std::shared_ptr<Channel> CreateInsecureChannelFromFd(const grpc::string& target,
std::shared_ptr<Channel> CreateCustomInsecureChannelFromFd(
const grpc::string& target, int fd, const ChannelArguments& args);
+namespace experimental {
+
+/// Create a new \a Channel communicating over given file descriptor with custom
+/// channel arguments.
+///
+/// \param target The name of the target.
+/// \param fd The file descriptor representing a socket.
+/// \param args Options for channel creation.
+/// \param interceptor_creators Vector of interceptor factory objects.
+std::shared_ptr<Channel> CreateCustomInsecureChannelWithInterceptorsFromFd(
+ const grpc::string& target, int fd, const ChannelArguments& args,
+ std::unique_ptr<std::vector<
+ std::unique_ptr<experimental::ClientInterceptorFactoryInterface>>>
+ interceptor_creators);
+
+} // namespace experimental
+
#endif // GPR_SUPPORT_CHANNELS_FROM_FD
} // namespace grpc
diff --git a/include/grpcpp/impl/codegen/client_interceptor.h b/include/grpcpp/impl/codegen/client_interceptor.h
new file mode 100644
index 0000000000..f460c5ac0c
--- /dev/null
+++ b/include/grpcpp/impl/codegen/client_interceptor.h
@@ -0,0 +1,44 @@
+/*
+ *
+ * Copyright 2018 gRPC authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef GRPCPP_IMPL_CODEGEN_CLIENT_INTERCEPTOR_H
+#define GRPCPP_IMPL_CODEGEN_CLIENT_INTERCEPTOR_H
+
+#include <grpcpp/impl/codegen/interceptor.h>
+
+namespace grpc {
+namespace experimental {
+class ClientInterceptor {
+ public:
+ virtual ~ClientInterceptor() {}
+
+ virtual void Intercept(InterceptorBatchMethods* methods) = 0;
+};
+
+class ClientRpcInfo {};
+
+class ClientInterceptorFactoryInterface {
+ public:
+ virtual ~ClientInterceptorFactoryInterface() {}
+ virtual ClientInterceptor* CreateClientInterceptor(ClientRpcInfo* info) = 0;
+};
+
+} // namespace experimental
+} // namespace grpc
+
+#endif // GRPCPP_IMPL_CODEGEN_CLIENT_INTERCEPTOR_H
diff --git a/include/grpcpp/impl/codegen/interceptor.h b/include/grpcpp/impl/codegen/interceptor.h
new file mode 100644
index 0000000000..6402a3a946
--- /dev/null
+++ b/include/grpcpp/impl/codegen/interceptor.h
@@ -0,0 +1,67 @@
+/*
+ *
+ * Copyright 2018 gRPC authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef GRPCPP_IMPL_CODEGEN_INTERCEPTOR_H
+#define GRPCPP_IMPL_CODEGEN_INTERCEPTOR_H
+
+namespace grpc {
+namespace experimental {
+class InterceptedMessage {
+ public:
+ template <class M>
+ bool Extract(M* msg); // returns false if definitely invalid extraction
+ template <class M>
+ M* MutableExtract();
+ uint64_t length(); // length on wire
+};
+
+enum class InterceptionHookPoints {
+ /* The first two in this list are for clients and servers */
+ PRE_SEND_INITIAL_METADATA,
+ PRE_SEND_MESSAGE,
+ PRE_SEND_STATUS /* server only */,
+ /* The following three are for hijacked clients only and can only be
+ registered by the global interceptor */
+ PRE_RECV_INITIAL_METADATA,
+ PRE_RECV_MESSAGE,
+ PRE_RECV_STATUS,
+ /* The following two are for all clients and servers */
+ POST_RECV_INITIAL_METADATA,
+ POST_RECV_MESSAGE,
+ POST_RECV_STATUS /* client only */,
+ POST_RECV_CLOSE /* server only */,
+ NUM_INTERCEPTION_HOOKS
+};
+
+class InterceptorBatchMethods {
+ public:
+ virtual ~InterceptorBatchMethods();
+ // Queries to check whether the current batch has an interception hook point
+ // of type \a type
+ virtual bool QueryInterceptionHookPoint(InterceptionHookPoints type) = 0;
+ // Calling this will signal that the interceptor is done intercepting the
+ // current batch of the RPC
+ virtual void Proceed() = 0;
+ // Calling this indicates that the interceptor has hijacked the RPC (only
+ // valid if the batch contains send_initial_metadata on the client side)
+ virtual void Hijack() = 0;
+};
+} // namespace experimental
+} // namespace grpc
+
+#endif // GRPCPP_IMPL_CODEGEN_INTERCEPTOR_H
diff --git a/include/grpcpp/security/credentials.h b/include/grpcpp/security/credentials.h
index bfadc15df5..8dfbdec3e6 100644
--- a/include/grpcpp/security/credentials.h
+++ b/include/grpcpp/security/credentials.h
@@ -24,6 +24,7 @@
#include <vector>
#include <grpc/grpc_security_constants.h>
+#include <grpcpp/impl/codegen/client_interceptor.h>
#include <grpcpp/impl/codegen/grpc_library.h>
#include <grpcpp/security/auth_context.h>
#include <grpcpp/support/status.h>
@@ -38,6 +39,18 @@ class SecureChannelCredentials;
class CallCredentials;
class SecureCallCredentials;
+class ChannelCredentials;
+
+namespace experimental {
+std::shared_ptr<Channel> CreateCustomChannelWithInterceptors(
+ const grpc::string& target,
+ const std::shared_ptr<ChannelCredentials>& creds,
+ const ChannelArguments& args,
+ std::unique_ptr<std::vector<
+ std::unique_ptr<experimental::ClientInterceptorFactoryInterface>>>
+ interceptor_creators);
+} // namespace experimental
+
/// A channel credentials object encapsulates all the state needed by a client
/// to authenticate with a server for a given channel.
/// It can make various assertions, e.g., about the client’s identity, role
@@ -62,8 +75,27 @@ class ChannelCredentials : private GrpcLibraryCodegen {
const std::shared_ptr<ChannelCredentials>& creds,
const ChannelArguments& args);
+ friend std::shared_ptr<Channel>
+ experimental::CreateCustomChannelWithInterceptors(
+ const grpc::string& target,
+ const std::shared_ptr<ChannelCredentials>& creds,
+ const ChannelArguments& args,
+ std::unique_ptr<std::vector<
+ std::unique_ptr<experimental::ClientInterceptorFactoryInterface>>>
+ interceptor_creators);
+
virtual std::shared_ptr<Channel> CreateChannel(
const grpc::string& target, const ChannelArguments& args) = 0;
+
+ // This function should have been a pure virtual function, but it is
+ // implemented as a virtual function so that it does not break API.
+ virtual std::shared_ptr<Channel> CreateChannelWithInterceptors(
+ const grpc::string& target, const ChannelArguments& args,
+ std::unique_ptr<std::vector<
+ std::unique_ptr<experimental::ClientInterceptorFactoryInterface>>>
+ interceptor_creators) {
+ return nullptr;
+ };
};
/// A call credentials object encapsulates the state needed by a client to
diff --git a/include/grpcpp/server.h b/include/grpcpp/server.h
index 72544c0f0b..8d3e856502 100644
--- a/include/grpcpp/server.h
+++ b/include/grpcpp/server.h
@@ -28,6 +28,7 @@
#include <grpc/compression.h>
#include <grpcpp/completion_queue.h>
#include <grpcpp/impl/call.h>
+#include <grpcpp/impl/codegen/client_interceptor.h>
#include <grpcpp/impl/codegen/grpc_library.h>
#include <grpcpp/impl/codegen/server_interface.h>
#include <grpcpp/impl/rpc_service_method.h>
@@ -99,6 +100,30 @@ class Server : public ServerInterface, private GrpcLibraryCodegen {
/// Establish a channel for in-process communication
std::shared_ptr<Channel> InProcessChannel(const ChannelArguments& args);
+ /// NOTE: class experimental_type is not part of the public API of this class.
+ /// TODO(yashykt): Integrate into public API when this is no longer
+ /// experimental.
+ class experimental_type {
+ public:
+ explicit experimental_type(Server* server) : server_(server) {}
+
+ /// Establish a channel for in-process communication with client
+ /// interceptors
+ std::shared_ptr<Channel> InProcessChannelWithInterceptors(
+ const ChannelArguments& args,
+ std::unique_ptr<std::vector<
+ std::unique_ptr<experimental::ClientInterceptorFactoryInterface>>>
+ interceptor_creators);
+
+ private:
+ Server* server_;
+ };
+
+ /// NOTE: The function experimental() is not stable public API. It is a view
+ /// to the experimental components of this class. It may be changed or removed
+ /// at any time.
+ experimental_type experimental() { return experimental_type(this); }
+
protected:
/// Register a service. This call does not take ownership of the service.
/// The service must exist for the lifetime of the Server instance.
diff --git a/src/core/ext/filters/client_channel/http_connect_handshaker.cc b/src/core/ext/filters/client_channel/http_connect_handshaker.cc
index 7ce8da8c00..bfabc68c66 100644
--- a/src/core/ext/filters/client_channel/http_connect_handshaker.cc
+++ b/src/core/ext/filters/client_channel/http_connect_handshaker.cc
@@ -351,6 +351,7 @@ static grpc_handshaker* grpc_http_connect_handshaker_create() {
static void handshaker_factory_add_handshakers(
grpc_handshaker_factory* factory, const grpc_channel_args* args,
+ grpc_pollset_set* interested_parties,
grpc_handshake_manager* handshake_mgr) {
grpc_handshake_manager_add(handshake_mgr,
grpc_http_connect_handshaker_create());
diff --git a/src/core/ext/filters/client_channel/subchannel.cc b/src/core/ext/filters/client_channel/subchannel.cc
index 2847f4bdc1..088c9d6c00 100644
--- a/src/core/ext/filters/client_channel/subchannel.cc
+++ b/src/core/ext/filters/client_channel/subchannel.cc
@@ -388,10 +388,12 @@ grpc_subchannel* grpc_subchannel_create(grpc_connector* connector,
const grpc_arg* arg =
grpc_channel_args_find(c->args, GRPC_ARG_ENABLE_CHANNELZ);
- bool channelz_enabled = grpc_channel_arg_get_bool(arg, false);
+ bool channelz_enabled =
+ grpc_channel_arg_get_bool(arg, GRPC_ENABLE_CHANNELZ_DEFAULT);
arg = grpc_channel_args_find(c->args,
GRPC_ARG_MAX_CHANNEL_TRACE_EVENTS_PER_NODE);
- const grpc_integer_options options = {0, 0, INT_MAX};
+ const grpc_integer_options options = {
+ GRPC_MAX_CHANNEL_TRACE_EVENTS_PER_NODE_DEFAULT, 0, INT_MAX};
size_t channel_tracer_max_nodes =
(size_t)grpc_channel_arg_get_integer(arg, options);
if (channelz_enabled) {
diff --git a/src/core/ext/transport/chttp2/client/chttp2_connector.cc b/src/core/ext/transport/chttp2/client/chttp2_connector.cc
index 0ac84032fd..5229304fa4 100644
--- a/src/core/ext/transport/chttp2/client/chttp2_connector.cc
+++ b/src/core/ext/transport/chttp2/client/chttp2_connector.cc
@@ -160,7 +160,7 @@ static void on_handshake_done(void* arg, grpc_error* error) {
static void start_handshake_locked(chttp2_connector* c) {
c->handshake_mgr = grpc_handshake_manager_create();
grpc_handshakers_add(HANDSHAKER_CLIENT, c->args.channel_args,
- c->handshake_mgr);
+ c->args.interested_parties, c->handshake_mgr);
grpc_endpoint_add_to_pollset_set(c->endpoint, c->args.interested_parties);
grpc_handshake_manager_do_handshake(
c->handshake_mgr, c->args.interested_parties, c->endpoint,
diff --git a/src/core/ext/transport/chttp2/server/chttp2_server.cc b/src/core/ext/transport/chttp2/server/chttp2_server.cc
index 6a98ad494b..1147ad1485 100644
--- a/src/core/ext/transport/chttp2/server/chttp2_server.cc
+++ b/src/core/ext/transport/chttp2/server/chttp2_server.cc
@@ -67,6 +67,7 @@ typedef struct {
grpc_timer timer;
grpc_closure on_timeout;
grpc_closure on_receive_settings;
+ grpc_pollset_set* interested_parties;
} server_connection_state;
static void server_connection_state_unref(
@@ -76,6 +77,9 @@ static void server_connection_state_unref(
GRPC_CHTTP2_UNREF_TRANSPORT(connection_state->transport,
"receive settings timeout");
}
+ grpc_pollset_set_del_pollset(connection_state->interested_parties,
+ connection_state->accepting_pollset);
+ grpc_pollset_set_destroy(connection_state->interested_parties);
gpr_free(connection_state);
}
}
@@ -190,7 +194,11 @@ static void on_accept(void* arg, grpc_endpoint* tcp,
connection_state->accepting_pollset = accepting_pollset;
connection_state->acceptor = acceptor;
connection_state->handshake_mgr = handshake_mgr;
+ connection_state->interested_parties = grpc_pollset_set_create();
+ grpc_pollset_set_add_pollset(connection_state->interested_parties,
+ connection_state->accepting_pollset);
grpc_handshakers_add(HANDSHAKER_SERVER, state->args,
+ connection_state->interested_parties,
connection_state->handshake_mgr);
const grpc_arg* timeout_arg =
grpc_channel_args_find(state->args, GRPC_ARG_SERVER_HANDSHAKE_TIMEOUT_MS);
diff --git a/src/core/ext/transport/chttp2/transport/chttp2_transport.cc b/src/core/ext/transport/chttp2/transport/chttp2_transport.cc
index 776c15138b..8de418b113 100644
--- a/src/core/ext/transport/chttp2/transport/chttp2_transport.cc
+++ b/src/core/ext/transport/chttp2/transport/chttp2_transport.cc
@@ -239,6 +239,7 @@ static bool read_channel_args(grpc_chttp2_transport* t,
const grpc_channel_args* channel_args,
bool is_client) {
bool enable_bdp = true;
+ bool channelz_enabled = GRPC_ENABLE_CHANNELZ_DEFAULT;
size_t i;
int j;
@@ -341,8 +342,8 @@ static bool read_channel_args(grpc_chttp2_transport* t,
}
} else if (0 ==
strcmp(channel_args->args[i].key, GRPC_ARG_ENABLE_CHANNELZ)) {
- t->channelz_socket =
- grpc_core::MakeRefCounted<grpc_core::channelz::SocketNode>();
+ channelz_enabled = grpc_channel_arg_get_bool(
+ &channel_args->args[i], GRPC_ENABLE_CHANNELZ_DEFAULT);
} else {
static const struct {
const char* channel_arg_name;
@@ -393,6 +394,10 @@ static bool read_channel_args(grpc_chttp2_transport* t,
}
}
}
+ if (channelz_enabled) {
+ t->channelz_socket =
+ grpc_core::MakeRefCounted<grpc_core::channelz::SocketNode>();
+ }
return enable_bdp;
}
diff --git a/src/core/lib/channel/channelz.h b/src/core/lib/channel/channelz.h
index 9ae2e56ec8..4b9040c0f1 100644
--- a/src/core/lib/channel/channelz.h
+++ b/src/core/lib/channel/channelz.h
@@ -40,6 +40,15 @@
#define GRPC_ARG_CHANNELZ_CHANNEL_IS_INTERNAL_CHANNEL \
"grpc.channelz_channel_is_internal_channel"
+/** This is the default value for whether or not to enable channelz. If
+ * GRPC_ARG_ENABLE_CHANNELZ is set, it will override this default value. */
+#define GRPC_ENABLE_CHANNELZ_DEFAULT false
+
+/** This is the default value for number of trace events per node. If
+ * GRPC_ARG_MAX_CHANNEL_TRACE_EVENTS_PER_NODE is set, it will override this
+ * default value. */
+#define GRPC_MAX_CHANNEL_TRACE_EVENTS_PER_NODE_DEFAULT 0
+
namespace grpc_core {
// TODO(ncteisen), this only contains the uuids of the children for now,
diff --git a/src/core/lib/channel/handshaker_factory.cc b/src/core/lib/channel/handshaker_factory.cc
index 4fd43635b6..8ade8fe4e2 100644
--- a/src/core/lib/channel/handshaker_factory.cc
+++ b/src/core/lib/channel/handshaker_factory.cc
@@ -24,11 +24,12 @@
void grpc_handshaker_factory_add_handshakers(
grpc_handshaker_factory* handshaker_factory, const grpc_channel_args* args,
+ grpc_pollset_set* interested_parties,
grpc_handshake_manager* handshake_mgr) {
if (handshaker_factory != nullptr) {
GPR_ASSERT(handshaker_factory->vtable != nullptr);
- handshaker_factory->vtable->add_handshakers(handshaker_factory, args,
- handshake_mgr);
+ handshaker_factory->vtable->add_handshakers(
+ handshaker_factory, args, interested_parties, handshake_mgr);
}
}
diff --git a/src/core/lib/channel/handshaker_factory.h b/src/core/lib/channel/handshaker_factory.h
index 3e45fcf20e..e17a678179 100644
--- a/src/core/lib/channel/handshaker_factory.h
+++ b/src/core/lib/channel/handshaker_factory.h
@@ -32,6 +32,7 @@ typedef struct grpc_handshaker_factory grpc_handshaker_factory;
typedef struct {
void (*add_handshakers)(grpc_handshaker_factory* handshaker_factory,
const grpc_channel_args* args,
+ grpc_pollset_set* interested_parties,
grpc_handshake_manager* handshake_mgr);
void (*destroy)(grpc_handshaker_factory* handshaker_factory);
} grpc_handshaker_factory_vtable;
@@ -42,6 +43,7 @@ struct grpc_handshaker_factory {
void grpc_handshaker_factory_add_handshakers(
grpc_handshaker_factory* handshaker_factory, const grpc_channel_args* args,
+ grpc_pollset_set* interested_parties,
grpc_handshake_manager* handshake_mgr);
void grpc_handshaker_factory_destroy(
diff --git a/src/core/lib/channel/handshaker_registry.cc b/src/core/lib/channel/handshaker_registry.cc
index eec3e1b352..fbafc43e79 100644
--- a/src/core/lib/channel/handshaker_registry.cc
+++ b/src/core/lib/channel/handshaker_registry.cc
@@ -51,9 +51,11 @@ static void grpc_handshaker_factory_list_register(
static void grpc_handshaker_factory_list_add_handshakers(
grpc_handshaker_factory_list* list, const grpc_channel_args* args,
+ grpc_pollset_set* interested_parties,
grpc_handshake_manager* handshake_mgr) {
for (size_t i = 0; i < list->num_factories; ++i) {
- grpc_handshaker_factory_add_handshakers(list->list[i], args, handshake_mgr);
+ grpc_handshaker_factory_add_handshakers(list->list[i], args,
+ interested_parties, handshake_mgr);
}
}
@@ -91,7 +93,9 @@ void grpc_handshaker_factory_register(bool at_start,
void grpc_handshakers_add(grpc_handshaker_type handshaker_type,
const grpc_channel_args* args,
+ grpc_pollset_set* interested_parties,
grpc_handshake_manager* handshake_mgr) {
grpc_handshaker_factory_list_add_handshakers(
- &g_handshaker_factory_lists[handshaker_type], args, handshake_mgr);
+ &g_handshaker_factory_lists[handshaker_type], args, interested_parties,
+ handshake_mgr);
}
diff --git a/src/core/lib/channel/handshaker_registry.h b/src/core/lib/channel/handshaker_registry.h
index 82ad9c5b9a..3dd4316de6 100644
--- a/src/core/lib/channel/handshaker_registry.h
+++ b/src/core/lib/channel/handshaker_registry.h
@@ -43,6 +43,7 @@ void grpc_handshaker_factory_register(bool at_start,
void grpc_handshakers_add(grpc_handshaker_type handshaker_type,
const grpc_channel_args* args,
+ grpc_pollset_set* interested_parties,
grpc_handshake_manager* handshake_mgr);
#endif /* GRPC_CORE_LIB_CHANNEL_HANDSHAKER_REGISTRY_H */
diff --git a/src/core/lib/http/httpcli_security_connector.cc b/src/core/lib/http/httpcli_security_connector.cc
index 50078c37a1..98fb7d3937 100644
--- a/src/core/lib/http/httpcli_security_connector.cc
+++ b/src/core/lib/http/httpcli_security_connector.cc
@@ -189,7 +189,8 @@ static void ssl_handshake(void* arg, grpc_endpoint* tcp, const char* host,
grpc_arg channel_arg = grpc_security_connector_to_arg(&sc->base);
grpc_channel_args args = {1, &channel_arg};
c->handshake_mgr = grpc_handshake_manager_create();
- grpc_handshakers_add(HANDSHAKER_CLIENT, &args, c->handshake_mgr);
+ grpc_handshakers_add(HANDSHAKER_CLIENT, &args,
+ nullptr /* interested_parties */, c->handshake_mgr);
grpc_handshake_manager_do_handshake(
c->handshake_mgr, nullptr /* interested_parties */, tcp,
nullptr /* channel_args */, deadline, nullptr /* acceptor */,
diff --git a/src/core/lib/security/security_connector/alts_security_connector.cc b/src/core/lib/security/security_connector/alts_security_connector.cc
index 35a787871a..f157c93171 100644
--- a/src/core/lib/security/security_connector/alts_security_connector.cc
+++ b/src/core/lib/security/security_connector/alts_security_connector.cc
@@ -70,9 +70,9 @@ static void alts_channel_add_handshakers(
auto c = reinterpret_cast<grpc_alts_channel_security_connector*>(sc);
grpc_alts_credentials* creds =
reinterpret_cast<grpc_alts_credentials*>(c->base.channel_creds);
- GPR_ASSERT(alts_tsi_handshaker_create(creds->options, c->target_name,
- creds->handshaker_service_url, true,
- &handshaker) == TSI_OK);
+ GPR_ASSERT(alts_tsi_handshaker_create(
+ creds->options, c->target_name, creds->handshaker_service_url,
+ true, sc->base.interested_parties, &handshaker) == TSI_OK);
grpc_handshake_manager_add(handshake_manager, grpc_security_handshaker_create(
handshaker, &sc->base));
}
@@ -84,9 +84,9 @@ static void alts_server_add_handshakers(
auto c = reinterpret_cast<grpc_alts_server_security_connector*>(sc);
grpc_alts_server_credentials* creds =
reinterpret_cast<grpc_alts_server_credentials*>(c->base.server_creds);
- GPR_ASSERT(alts_tsi_handshaker_create(creds->options, nullptr,
- creds->handshaker_service_url, false,
- &handshaker) == TSI_OK);
+ GPR_ASSERT(alts_tsi_handshaker_create(
+ creds->options, nullptr, creds->handshaker_service_url, false,
+ sc->base.interested_parties, &handshaker) == TSI_OK);
grpc_handshake_manager_add(handshake_manager, grpc_security_handshaker_create(
handshaker, &sc->base));
}
diff --git a/src/core/lib/security/security_connector/security_connector.cc b/src/core/lib/security/security_connector/security_connector.cc
index 6246613e7b..f4490582a3 100644
--- a/src/core/lib/security/security_connector/security_connector.cc
+++ b/src/core/lib/security/security_connector/security_connector.cc
@@ -156,6 +156,13 @@ int grpc_security_connector_cmp(grpc_security_connector* sc,
return sc->vtable->cmp(sc, other);
}
+void grpc_security_connector_set_interested_parties(
+ grpc_security_connector* sc, grpc_pollset_set* interested_parties) {
+ if (sc != nullptr) {
+ sc->interested_parties = interested_parties;
+ }
+}
+
int grpc_channel_security_connector_cmp(grpc_channel_security_connector* sc1,
grpc_channel_security_connector* sc2) {
GPR_ASSERT(sc1->channel_creds != nullptr);
diff --git a/src/core/lib/security/security_connector/security_connector.h b/src/core/lib/security/security_connector/security_connector.h
index 67a506b576..f0172594ad 100644
--- a/src/core/lib/security/security_connector/security_connector.h
+++ b/src/core/lib/security/security_connector/security_connector.h
@@ -63,6 +63,7 @@ struct grpc_security_connector {
const grpc_security_connector_vtable* vtable;
gpr_refcount refcount;
const char* url_scheme;
+ grpc_pollset_set* interested_parties;
};
/* Refcounting. */
@@ -106,6 +107,10 @@ grpc_security_connector* grpc_security_connector_from_arg(const grpc_arg* arg);
grpc_security_connector* grpc_security_connector_find_in_args(
const grpc_channel_args* args);
+/* Util to set the interested_parties whose ownership is not transferred. */
+void grpc_security_connector_set_interested_parties(
+ grpc_security_connector* sc, grpc_pollset_set* interested_parties);
+
/* --- channel_security_connector object. ---
A channel security connector object represents a way to configure the
diff --git a/src/core/lib/security/transport/security_handshaker.cc b/src/core/lib/security/transport/security_handshaker.cc
index d76d582638..f3bdf573b3 100644
--- a/src/core/lib/security/transport/security_handshaker.cc
+++ b/src/core/lib/security/transport/security_handshaker.cc
@@ -475,20 +475,30 @@ static grpc_handshaker* fail_handshaker_create() {
static void client_handshaker_factory_add_handshakers(
grpc_handshaker_factory* handshaker_factory, const grpc_channel_args* args,
+ grpc_pollset_set* interested_parties,
grpc_handshake_manager* handshake_mgr) {
grpc_channel_security_connector* security_connector =
reinterpret_cast<grpc_channel_security_connector*>(
grpc_security_connector_find_in_args(args));
+ if (security_connector != nullptr) {
+ grpc_security_connector_set_interested_parties(&security_connector->base,
+ interested_parties);
+ }
grpc_channel_security_connector_add_handshakers(security_connector,
handshake_mgr);
}
static void server_handshaker_factory_add_handshakers(
grpc_handshaker_factory* hf, const grpc_channel_args* args,
+ grpc_pollset_set* interested_parties,
grpc_handshake_manager* handshake_mgr) {
grpc_server_security_connector* security_connector =
reinterpret_cast<grpc_server_security_connector*>(
grpc_security_connector_find_in_args(args));
+ if (security_connector != nullptr) {
+ grpc_security_connector_set_interested_parties(&security_connector->base,
+ interested_parties);
+ }
grpc_server_security_connector_add_handshakers(security_connector,
handshake_mgr);
}
diff --git a/src/core/lib/surface/channel.cc b/src/core/lib/surface/channel.cc
index 054fe105c3..4996c3f177 100644
--- a/src/core/lib/surface/channel.cc
+++ b/src/core/lib/surface/channel.cc
@@ -103,7 +103,7 @@ grpc_channel* grpc_channel_create_with_builder(
channel->target = target;
channel->is_client = grpc_channel_stack_type_is_client(channel_stack_type);
size_t channel_tracer_max_nodes = 0; // default to off
- bool channelz_enabled = false;
+ bool channelz_enabled = GRPC_ENABLE_CHANNELZ_DEFAULT;
bool internal_channel = false;
// this creates the default ChannelNode. Different types of channels may
// override this to ensure a correct ChannelNode is created.
@@ -144,13 +144,15 @@ grpc_channel* grpc_channel_create_with_builder(
GRPC_ARG_MAX_CHANNEL_TRACE_EVENTS_PER_NODE)) {
GPR_ASSERT(channel_tracer_max_nodes == 0);
// max_nodes defaults to 0 (which is off), clamped between 0 and INT_MAX
- const grpc_integer_options options = {0, 0, INT_MAX};
+ const grpc_integer_options options = {
+ GRPC_MAX_CHANNEL_TRACE_EVENTS_PER_NODE_DEFAULT, 0, INT_MAX};
channel_tracer_max_nodes =
(size_t)grpc_channel_arg_get_integer(&args->args[i], options);
} else if (0 == strcmp(args->args[i].key, GRPC_ARG_ENABLE_CHANNELZ)) {
// channelz will not be enabled by default until all concerns in
// https://github.com/grpc/grpc/issues/15986 are addressed.
- channelz_enabled = grpc_channel_arg_get_bool(&args->args[i], false);
+ channelz_enabled = grpc_channel_arg_get_bool(
+ &args->args[i], GRPC_ENABLE_CHANNELZ_DEFAULT);
} else if (0 == strcmp(args->args[i].key,
GRPC_ARG_CHANNELZ_CHANNEL_NODE_CREATION_FUNC)) {
GPR_ASSERT(args->args[i].type == GRPC_ARG_POINTER);
diff --git a/src/core/lib/surface/server.cc b/src/core/lib/surface/server.cc
index 54f921b0c2..5482319f79 100644
--- a/src/core/lib/surface/server.cc
+++ b/src/core/lib/surface/server.cc
@@ -1009,11 +1009,11 @@ grpc_server* grpc_server_create(const grpc_channel_args* args, void* reserved) {
server->channel_args = grpc_channel_args_copy(args);
const grpc_arg* arg = grpc_channel_args_find(args, GRPC_ARG_ENABLE_CHANNELZ);
- if (grpc_channel_arg_get_bool(arg, false)) {
+ if (grpc_channel_arg_get_bool(arg, GRPC_ENABLE_CHANNELZ_DEFAULT)) {
arg = grpc_channel_args_find(args,
GRPC_ARG_MAX_CHANNEL_TRACE_EVENTS_PER_NODE);
- size_t trace_events_per_node =
- grpc_channel_arg_get_integer(arg, {0, 0, INT_MAX});
+ size_t trace_events_per_node = grpc_channel_arg_get_integer(
+ arg, {GRPC_MAX_CHANNEL_TRACE_EVENTS_PER_NODE_DEFAULT, 0, INT_MAX});
server->channelz_server =
grpc_core::MakeRefCounted<grpc_core::channelz::ServerNode>(
server, trace_events_per_node);
diff --git a/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc b/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc
index 34608a3de1..dfdd659b87 100644
--- a/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc
+++ b/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc
@@ -347,7 +347,8 @@ static void init_shared_resources(const char* handshaker_service_url) {
tsi_result alts_tsi_handshaker_create(
const grpc_alts_credentials_options* options, const char* target_name,
- const char* handshaker_service_url, bool is_client, tsi_handshaker** self) {
+ const char* handshaker_service_url, bool is_client,
+ grpc_pollset_set* interested_parties, tsi_handshaker** self) {
if (handshaker_service_url == nullptr || self == nullptr ||
options == nullptr || (is_client && target_name == nullptr)) {
gpr_log(GPR_ERROR, "Invalid arguments to alts_tsi_handshaker_create()");
diff --git a/src/core/tsi/alts/handshaker/alts_tsi_handshaker.h b/src/core/tsi/alts/handshaker/alts_tsi_handshaker.h
index 227b30ce53..48ce69b1da 100644
--- a/src/core/tsi/alts/handshaker/alts_tsi_handshaker.h
+++ b/src/core/tsi/alts/handshaker/alts_tsi_handshaker.h
@@ -23,6 +23,7 @@
#include <grpc/grpc.h>
+#include "src/core/lib/iomgr/pollset_set.h"
#include "src/core/lib/security/credentials/alts/grpc_alts_credentials_options.h"
#include "src/core/tsi/alts_transport_security.h"
#include "src/core/tsi/transport_security.h"
@@ -51,6 +52,7 @@ typedef struct alts_tsi_handshaker alts_tsi_handshaker;
* "host:port".
* - is_client: boolean value indicating if the handshaker is used at the client
* (is_client = true) or server (is_client = false) side.
+ * - interested_parties: set of pollsets interested in this connection.
* - self: address of ALTS TSI handshaker instance to be returned from the
* method.
*
@@ -58,7 +60,8 @@ typedef struct alts_tsi_handshaker alts_tsi_handshaker;
*/
tsi_result alts_tsi_handshaker_create(
const grpc_alts_credentials_options* options, const char* target_name,
- const char* handshaker_service_url, bool is_client, tsi_handshaker** self);
+ const char* handshaker_service_url, bool is_client,
+ grpc_pollset_set* interested_parties, tsi_handshaker** self);
/**
* This method handles handshaker response returned from ALTS handshaker
diff --git a/src/cpp/client/channel_cc.cc b/src/cpp/client/channel_cc.cc
index 31c02893b1..2cab41b3f5 100644
--- a/src/cpp/client/channel_cc.cc
+++ b/src/cpp/client/channel_cc.cc
@@ -51,8 +51,16 @@
namespace grpc {
static internal::GrpcLibraryInitializer g_gli_initializer;
-Channel::Channel(const grpc::string& host, grpc_channel* channel)
+Channel::Channel(
+ const grpc::string& host, grpc_channel* channel,
+ std::unique_ptr<std::vector<
+ std::unique_ptr<experimental::ClientInterceptorFactoryInterface>>>
+ interceptor_creators)
: host_(host), c_channel_(channel) {
+ auto* vector = interceptor_creators.release();
+ if (vector != nullptr) {
+ interceptor_creators_ = std::move(*vector);
+ }
g_gli_initializer.summon();
}
diff --git a/src/cpp/client/create_channel.cc b/src/cpp/client/create_channel.cc
index 67a46ce0e1..efdff6c265 100644
--- a/src/cpp/client/create_channel.cc
+++ b/src/cpp/client/create_channel.cc
@@ -39,11 +39,43 @@ std::shared_ptr<Channel> CreateCustomChannel(
const std::shared_ptr<ChannelCredentials>& creds,
const ChannelArguments& args) {
GrpcLibraryCodegen init_lib; // We need to call init in case of a bad creds.
- return creds ? creds->CreateChannel(target, args)
- : CreateChannelInternal(
- "", grpc_lame_client_channel_create(
- nullptr, GRPC_STATUS_INVALID_ARGUMENT,
- "Invalid credentials."));
+ return creds
+ ? creds->CreateChannel(target, args)
+ : CreateChannelInternal("",
+ grpc_lame_client_channel_create(
+ nullptr, GRPC_STATUS_INVALID_ARGUMENT,
+ "Invalid credentials."),
+ nullptr);
}
+namespace experimental {
+/// Create a new \em custom \a Channel pointing to \a target with \a
+/// interceptors being invoked per call.
+///
+/// \warning For advanced use and testing ONLY. Override default channel
+/// arguments only if necessary.
+///
+/// \param target The URI of the endpoint to connect to.
+/// \param creds Credentials to use for the created channel. If it does not
+/// hold an object or is invalid, a lame channel (one on which all operations
+/// fail) is returned.
+/// \param args Options for channel creation.
+std::shared_ptr<Channel> CreateCustomChannelWithInterceptors(
+ const grpc::string& target,
+ const std::shared_ptr<ChannelCredentials>& creds,
+ const ChannelArguments& args,
+ std::unique_ptr<std::vector<
+ std::unique_ptr<experimental::ClientInterceptorFactoryInterface>>>
+ interceptor_creators) {
+ return creds
+ ? creds->CreateChannelWithInterceptors(
+ target, args, std::move(interceptor_creators))
+ : CreateChannelInternal("",
+ grpc_lame_client_channel_create(
+ nullptr, GRPC_STATUS_INVALID_ARGUMENT,
+ "Invalid credentials."),
+ nullptr);
+}
+} // namespace experimental
+
} // namespace grpc
diff --git a/src/cpp/client/create_channel_internal.cc b/src/cpp/client/create_channel_internal.cc
index aa96edfcff..313d682aae 100644
--- a/src/cpp/client/create_channel_internal.cc
+++ b/src/cpp/client/create_channel_internal.cc
@@ -24,8 +24,12 @@ struct grpc_channel;
namespace grpc {
-std::shared_ptr<Channel> CreateChannelInternal(const grpc::string& host,
- grpc_channel* c_channel) {
- return std::shared_ptr<Channel>(new Channel(host, c_channel));
+std::shared_ptr<Channel> CreateChannelInternal(
+ const grpc::string& host, grpc_channel* c_channel,
+ std::unique_ptr<std::vector<
+ std::unique_ptr<experimental::ClientInterceptorFactoryInterface>>>
+ interceptor_creators) {
+ return std::shared_ptr<Channel>(
+ new Channel(host, c_channel, std::move(interceptor_creators)));
}
} // namespace grpc
diff --git a/src/cpp/client/create_channel_internal.h b/src/cpp/client/create_channel_internal.h
index 86e8167277..512fc22866 100644
--- a/src/cpp/client/create_channel_internal.h
+++ b/src/cpp/client/create_channel_internal.h
@@ -21,6 +21,7 @@
#include <memory>
+#include <grpcpp/impl/codegen/client_interceptor.h>
#include <grpcpp/support/config.h>
struct grpc_channel;
@@ -28,8 +29,11 @@ struct grpc_channel;
namespace grpc {
class Channel;
-std::shared_ptr<Channel> CreateChannelInternal(const grpc::string& host,
- grpc_channel* c_channel);
+std::shared_ptr<Channel> CreateChannelInternal(
+ const grpc::string& host, grpc_channel* c_channel,
+ std::unique_ptr<std::vector<
+ std::unique_ptr<experimental::ClientInterceptorFactoryInterface>>>
+ interceptor_creators);
} // namespace grpc
diff --git a/src/cpp/client/create_channel_posix.cc b/src/cpp/client/create_channel_posix.cc
index f9285c9b28..8d775e7a87 100644
--- a/src/cpp/client/create_channel_posix.cc
+++ b/src/cpp/client/create_channel_posix.cc
@@ -33,7 +33,8 @@ std::shared_ptr<Channel> CreateInsecureChannelFromFd(const grpc::string& target,
internal::GrpcLibrary init_lib;
init_lib.init();
return CreateChannelInternal(
- "", grpc_insecure_channel_create_from_fd(target.c_str(), fd, nullptr));
+ "", grpc_insecure_channel_create_from_fd(target.c_str(), fd, nullptr),
+ nullptr);
}
std::shared_ptr<Channel> CreateCustomInsecureChannelFromFd(
@@ -42,10 +43,31 @@ std::shared_ptr<Channel> CreateCustomInsecureChannelFromFd(
init_lib.init();
grpc_channel_args channel_args;
args.SetChannelArgs(&channel_args);
- return CreateChannelInternal("", grpc_insecure_channel_create_from_fd(
- target.c_str(), fd, &channel_args));
+ return CreateChannelInternal(
+ "",
+ grpc_insecure_channel_create_from_fd(target.c_str(), fd, &channel_args),
+ nullptr);
+}
+
+namespace experimental {
+
+std::shared_ptr<Channel> CreateCustomInsecureChannelWithInterceptorsFromFd(
+ const grpc::string& target, int fd, const ChannelArguments& args,
+ std::unique_ptr<std::vector<
+ std::unique_ptr<experimental::ClientInterceptorFactoryInterface>>>
+ interceptor_creators) {
+ internal::GrpcLibrary init_lib;
+ init_lib.init();
+ grpc_channel_args channel_args;
+ args.SetChannelArgs(&channel_args);
+ return CreateChannelInternal(
+ "",
+ grpc_insecure_channel_create_from_fd(target.c_str(), fd, &channel_args),
+ std::move(interceptor_creators));
}
+} // namespace experimental
+
#endif // GPR_SUPPORT_CHANNELS_FROM_FD
} // namespace grpc
diff --git a/src/cpp/client/cronet_credentials.cc b/src/cpp/client/cronet_credentials.cc
index 5c65ad05ea..09a76b428c 100644
--- a/src/cpp/client/cronet_credentials.cc
+++ b/src/cpp/client/cronet_credentials.cc
@@ -31,16 +31,25 @@ class CronetChannelCredentialsImpl final : public ChannelCredentials {
std::shared_ptr<grpc::Channel> CreateChannel(
const string& target, const grpc::ChannelArguments& args) override {
- grpc_channel_args channel_args;
- args.SetChannelArgs(&channel_args);
- return CreateChannelInternal(
- "", grpc_cronet_secure_channel_create(engine_, target.c_str(),
- &channel_args, nullptr));
+ return CreateChannelWithInterceptors(target, args, nullptr);
}
SecureChannelCredentials* AsSecureCredentials() override { return nullptr; }
private:
+ std::shared_ptr<grpc::Channel> CreateChannelWithInterceptors(
+ const string& target, const grpc::ChannelArguments& args,
+ std::unique_ptr<std::vector<
+ std::unique_ptr<experimental::ClientInterceptorFactoryInterface>>>
+ interceptor_creators) override {
+ grpc_channel_args channel_args;
+ args.SetChannelArgs(&channel_args);
+ return CreateChannelInternal(
+ "",
+ grpc_cronet_secure_channel_create(engine_, target.c_str(),
+ &channel_args, nullptr),
+ std::move(interceptor_creators));
+ }
void* engine_;
};
diff --git a/src/cpp/client/insecure_credentials.cc b/src/cpp/client/insecure_credentials.cc
index 04dc5c0bcc..b816e0c59a 100644
--- a/src/cpp/client/insecure_credentials.cc
+++ b/src/cpp/client/insecure_credentials.cc
@@ -32,11 +32,20 @@ class InsecureChannelCredentialsImpl final : public ChannelCredentials {
public:
std::shared_ptr<grpc::Channel> CreateChannel(
const string& target, const grpc::ChannelArguments& args) override {
+ return CreateChannelWithInterceptors(target, args, nullptr);
+ }
+
+ std::shared_ptr<grpc::Channel> CreateChannelWithInterceptors(
+ const string& target, const grpc::ChannelArguments& args,
+ std::unique_ptr<std::vector<
+ std::unique_ptr<experimental::ClientInterceptorFactoryInterface>>>
+ interceptor_creators) override {
grpc_channel_args channel_args;
args.SetChannelArgs(&channel_args);
return CreateChannelInternal(
"",
- grpc_insecure_channel_create(target.c_str(), &channel_args, nullptr));
+ grpc_insecure_channel_create(target.c_str(), &channel_args, nullptr),
+ std::move(interceptor_creators));
}
SecureChannelCredentials* AsSecureCredentials() override { return nullptr; }
diff --git a/src/cpp/client/secure_credentials.cc b/src/cpp/client/secure_credentials.cc
index e48fbeb86d..d1cd78e755 100644
--- a/src/cpp/client/secure_credentials.cc
+++ b/src/cpp/client/secure_credentials.cc
@@ -36,12 +36,22 @@ SecureChannelCredentials::SecureChannelCredentials(
std::shared_ptr<grpc::Channel> SecureChannelCredentials::CreateChannel(
const string& target, const grpc::ChannelArguments& args) {
+ return CreateChannelWithInterceptors(target, args, nullptr);
+}
+
+std::shared_ptr<grpc::Channel>
+SecureChannelCredentials::CreateChannelWithInterceptors(
+ const string& target, const grpc::ChannelArguments& args,
+ std::unique_ptr<std::vector<
+ std::unique_ptr<experimental::ClientInterceptorFactoryInterface>>>
+ interceptor_creators) {
grpc_channel_args channel_args;
args.SetChannelArgs(&channel_args);
return CreateChannelInternal(
args.GetSslTargetNameOverride(),
grpc_secure_channel_create(c_creds_, target.c_str(), &channel_args,
- nullptr));
+ nullptr),
+ std::move(interceptor_creators));
}
SecureCallCredentials::SecureCallCredentials(grpc_call_credentials* c_creds)
diff --git a/src/cpp/client/secure_credentials.h b/src/cpp/client/secure_credentials.h
index 85cb54227c..bfb6e17ee9 100644
--- a/src/cpp/client/secure_credentials.h
+++ b/src/cpp/client/secure_credentials.h
@@ -36,9 +36,15 @@ class SecureChannelCredentials final : public ChannelCredentials {
std::shared_ptr<grpc::Channel> CreateChannel(
const string& target, const grpc::ChannelArguments& args) override;
+
SecureChannelCredentials* AsSecureCredentials() override { return this; }
private:
+ std::shared_ptr<grpc::Channel> CreateChannelWithInterceptors(
+ const string& target, const grpc::ChannelArguments& args,
+ std::unique_ptr<std::vector<
+ std::unique_ptr<experimental::ClientInterceptorFactoryInterface>>>
+ interceptor_creators) override;
grpc_channel_credentials* const c_creds_;
};
diff --git a/src/cpp/server/server_cc.cc b/src/cpp/server/server_cc.cc
index 36f7eb81f9..7c764f4bce 100644
--- a/src/cpp/server/server_cc.cc
+++ b/src/cpp/server/server_cc.cc
@@ -473,7 +473,21 @@ std::shared_ptr<Channel> Server::InProcessChannel(
const ChannelArguments& args) {
grpc_channel_args channel_args = args.c_channel_args();
return CreateChannelInternal(
- "inproc", grpc_inproc_channel_create(server_, &channel_args, nullptr));
+ "inproc", grpc_inproc_channel_create(server_, &channel_args, nullptr),
+ nullptr);
+}
+
+std::shared_ptr<Channel>
+Server::experimental_type::InProcessChannelWithInterceptors(
+ const ChannelArguments& args,
+ std::unique_ptr<std::vector<
+ std::unique_ptr<experimental::ClientInterceptorFactoryInterface>>>
+ interceptor_creators) {
+ grpc_channel_args channel_args = args.c_channel_args();
+ return CreateChannelInternal(
+ "inproc",
+ grpc_inproc_channel_create(server_->server_, &channel_args, nullptr),
+ std::move(interceptor_creators));
}
static grpc_server_register_method_payload_handling PayloadHandlingForMethod(
diff --git a/src/csharp/experimental/README.md b/src/csharp/experimental/README.md
index bd53cbcd35..64515075ce 100644
--- a/src/csharp/experimental/README.md
+++ b/src/csharp/experimental/README.md
@@ -22,10 +22,14 @@ gRPC C# now has experimental support for Unity. Please try using gRPC with
Unity and provide feedback!
How to test gRPC in a Unity project
+
1. Create a Unity project that targets .NET 4.x (Edit -> Project Settings -> Editor -> Scripting Runtime Version). gRPC uses APIs that are only available in .NET4.5+ so this is a requirement.
+
2. Download the latest development build of `grpc_unity_package.VERSION.zip` from
[daily builds](https://packages.grpc.io/)
+
3. Extract the `.zip` file in the `Assets` directory in your Unity project
+
4. Unity IDE will pick up all the bundled files and add them to project automatically.
You should be able to use gRPC and Protobuf in your scripts from now on.
diff --git a/templates/CMakeLists.txt.template b/templates/CMakeLists.txt.template
index 2a514ed7b6..aec1624acd 100644
--- a/templates/CMakeLists.txt.template
+++ b/templates/CMakeLists.txt.template
@@ -164,6 +164,17 @@
set(_gRPC_PROTOBUF_LIBRARY_NAME "libprotobuf")
endif()
+ if (_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC)
+ # C core has C++ source code, but should not depend on libstc++ (for better portability).
+ # We need to use a few tricks to convince cmake to do that.
+ # https://stackoverflow.com/questions/15058403/how-to-stop-cmake-from-linking-against-libstdc
+ set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "")
+ # Exceptions and RTTI must be off to avoid dependency on libstdc++
+ set(_gRPC_CORE_NOSTDCXX_FLAGS -fno-exceptions -fno-rtti)
+ else()
+ set(_gRPC_CORE_NOSTDCXX_FLAGS "")
+ endif()
+
include(cmake/zlib.cmake)
include(cmake/cares.cmake)
include(cmake/protobuf.cmake)
@@ -403,7 +414,14 @@
PRIVATE <%text>${_gRPC_PROTO_GENS_DIR}</%text>
% endif
)
-
+ % if lib.language in ['c', 'csharp']:
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(${lib.name} PROPERTIES LINKER_LANGUAGE C)
+ # only use the flags for C++ source files
+ target_compile_options(${lib.name} PRIVATE <%text>$<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}></%text>)
+ endif()
+ % endif
% if len(get_deps(lib)) > 0:
target_link_libraries(${lib.name}
% for dep in get_deps(lib):
@@ -492,6 +510,14 @@
${dep}
% endfor
)
+
+ % if tgt.language in ['c', 'csharp']:
+ # avoid dependency on libstdc++
+ if (_gRPC_CORE_NOSTDCXX_FLAGS)
+ set_target_properties(${tgt.name} PROPERTIES LINKER_LANGUAGE C)
+ target_compile_options(${tgt.name} PRIVATE <%text>$<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}></%text>)
+ endif()
+ % endif
% endif
</%def>
diff --git a/test/core/handshake/readahead_handshaker_server_ssl.cc b/test/core/handshake/readahead_handshaker_server_ssl.cc
index 97e9c20ee4..14d96b5d89 100644
--- a/test/core/handshake/readahead_handshaker_server_ssl.cc
+++ b/test/core/handshake/readahead_handshaker_server_ssl.cc
@@ -75,6 +75,7 @@ static grpc_handshaker* readahead_handshaker_create() {
static void readahead_handshaker_factory_add_handshakers(
grpc_handshaker_factory* hf, const grpc_channel_args* args,
+ grpc_pollset_set* interested_parties,
grpc_handshake_manager* handshake_mgr) {
grpc_handshake_manager_add(handshake_mgr, readahead_handshaker_create());
}
diff --git a/test/core/iomgr/resolve_address_test.cc b/test/core/iomgr/resolve_address_test.cc
index 52e4840c7c..8d69bab5b1 100644
--- a/test/core/iomgr/resolve_address_test.cc
+++ b/test/core/iomgr/resolve_address_test.cc
@@ -251,7 +251,10 @@ int main(int argc, char** argv) {
gpr_cmdline* cl = gpr_cmdline_create("resolve address test");
gpr_cmdline_add_string(cl, "resolver", "Resolver type (ares or native)",
&resolver_type);
- gpr_cmdline_parse(cl, argc, argv);
+ // In case that there are more than one argument on the command line,
+ // --resolver will always be the first one, so only parse the first argument
+ // (other arguments may be unknown to cl)
+ gpr_cmdline_parse(cl, argc > 2 ? 2 : argc, argv);
const char* cur_resolver = gpr_getenv("GRPC_DNS_RESOLVER");
if (cur_resolver != nullptr && strlen(cur_resolver) != 0) {
gpr_log(GPR_INFO, "Warning: overriding resolver setting of %s",
diff --git a/test/core/tsi/alts/handshaker/alts_tsi_handshaker_test.cc b/test/core/tsi/alts/handshaker/alts_tsi_handshaker_test.cc
index 85a58114ba..e9eb7e175f 100644
--- a/test/core/tsi/alts/handshaker/alts_tsi_handshaker_test.cc
+++ b/test/core/tsi/alts/handshaker/alts_tsi_handshaker_test.cc
@@ -421,7 +421,7 @@ static tsi_handshaker* create_test_handshaker(bool used_for_success_test,
alts_mock_handshaker_client_create(used_for_success_test);
grpc_alts_credentials_options* options =
grpc_alts_credentials_client_options_create();
- alts_tsi_handshaker_create(options, "target_name", "lame", is_client,
+ alts_tsi_handshaker_create(options, "target_name", "lame", is_client, nullptr,
&handshaker);
alts_tsi_handshaker* alts_handshaker =
reinterpret_cast<alts_tsi_handshaker*>(handshaker);
diff --git a/test/cpp/client/client_channel_stress_test.cc b/test/cpp/client/client_channel_stress_test.cc
index 826907ae4e..976eeb6aea 100644
--- a/test/cpp/client/client_channel_stress_test.cc
+++ b/test/cpp/client/client_channel_stress_test.cc
@@ -245,7 +245,7 @@ class ClientChannelStressTest {
EchoResponse response;
{
std::lock_guard<std::mutex> lock(stub_mutex_);
- stub_->Echo(&context, request, &response);
+ Status status = stub_->Echo(&context, request, &response);
}
}
gpr_log(GPR_INFO, "Finish sending requests.");
diff --git a/test/cpp/microbenchmarks/bm_call_create.cc b/test/cpp/microbenchmarks/bm_call_create.cc
index 9516b2e3e2..389b888084 100644
--- a/test/cpp/microbenchmarks/bm_call_create.cc
+++ b/test/cpp/microbenchmarks/bm_call_create.cc
@@ -133,8 +133,10 @@ static void BM_LameChannelCallCreateCpp(benchmark::State& state) {
TrackCounters track_counters;
auto stub =
grpc::testing::EchoTestService::NewStub(grpc::CreateChannelInternal(
- "", grpc_lame_client_channel_create(
- "localhost:1234", GRPC_STATUS_UNAUTHENTICATED, "blah")));
+ "",
+ grpc_lame_client_channel_create("localhost:1234",
+ GRPC_STATUS_UNAUTHENTICATED, "blah"),
+ nullptr));
grpc::CompletionQueue cq;
grpc::testing::EchoRequest send_request;
grpc::testing::EchoResponse recv_response;
diff --git a/test/cpp/microbenchmarks/fullstack_fixtures.h b/test/cpp/microbenchmarks/fullstack_fixtures.h
index d390ae08f6..7188a2a28a 100644
--- a/test/cpp/microbenchmarks/fullstack_fixtures.h
+++ b/test/cpp/microbenchmarks/fullstack_fixtures.h
@@ -218,7 +218,7 @@ class EndpointPairFixture : public BaseFixture {
"target", &c_args, GRPC_CLIENT_DIRECT_CHANNEL, client_transport_);
grpc_chttp2_transport_start_reading(client_transport_, nullptr, nullptr);
- channel_ = CreateChannelInternal("", channel);
+ channel_ = CreateChannelInternal("", channel, nullptr);
}
}
diff --git a/test/cpp/performance/writes_per_rpc_test.cc b/test/cpp/performance/writes_per_rpc_test.cc
index 0ea3181f7e..7b51260e5b 100644
--- a/test/cpp/performance/writes_per_rpc_test.cc
+++ b/test/cpp/performance/writes_per_rpc_test.cc
@@ -118,7 +118,7 @@ class EndpointPairFixture {
"target", &c_args, GRPC_CLIENT_DIRECT_CHANNEL, transport);
grpc_chttp2_transport_start_reading(transport, nullptr, nullptr);
- channel_ = CreateChannelInternal("", channel);
+ channel_ = CreateChannelInternal("", channel, nullptr);
}
}
diff --git a/test/cpp/util/BUILD b/test/cpp/util/BUILD
index 477862a0ee..c8d4333ef0 100644
--- a/test/cpp/util/BUILD
+++ b/test/cpp/util/BUILD
@@ -117,11 +117,10 @@ grpc_cc_library(
)
grpc_cc_library(
- name = "grpc_cli_libs",
+ name = "grpc_cli_utils",
srcs = [
"cli_call.cc",
"cli_credentials.cc",
- "grpc_tool.cc",
"proto_file_parser.cc",
"service_describer.cc",
],
@@ -129,7 +128,6 @@ grpc_cc_library(
"cli_call.h",
"cli_credentials.h",
"config_grpc_cli.h",
- "grpc_tool.h",
"proto_file_parser.h",
"service_describer.h",
],
@@ -146,6 +144,22 @@ grpc_cc_library(
)
grpc_cc_library(
+ name = "grpc_cli_libs",
+ srcs = [
+ "grpc_tool.cc",
+ ],
+ hdrs = [
+ "grpc_tool.h",
+ ],
+ external_deps = [
+ "gflags",
+ ],
+ deps = [
+ ":grpc_cli_utils",
+ ],
+)
+
+grpc_cc_library(
name = "metrics_server_lib",
srcs = [
"metrics_server.cc",
diff --git a/test/cpp/util/cli_credentials.cc b/test/cpp/util/cli_credentials.cc
index 1125b2d945..91acc904aa 100644
--- a/test/cpp/util/cli_credentials.cc
+++ b/test/cpp/util/cli_credentials.cc
@@ -151,7 +151,7 @@ std::shared_ptr<grpc::CallCredentials> CliCredentials::GetCallCredentials()
if (IsAccessToken(FLAGS_call_creds)) {
return grpc::AccessTokenCredentials(AccessToken(FLAGS_call_creds));
}
- if (FLAGS_call_creds.compare("none") != 0) {
+ if (FLAGS_call_creds.compare("none") == 0) {
// Nothing to do; creds, if any, are baked into the channel.
return std::shared_ptr<grpc::CallCredentials>();
}
diff --git a/tools/doxygen/Doxyfile.c++ b/tools/doxygen/Doxyfile.c++
index 3b7fd1fa8e..97599be443 100644
--- a/tools/doxygen/Doxyfile.c++
+++ b/tools/doxygen/Doxyfile.c++
@@ -949,6 +949,7 @@ include/grpcpp/impl/codegen/callback_common.h \
include/grpcpp/impl/codegen/channel_interface.h \
include/grpcpp/impl/codegen/client_callback.h \
include/grpcpp/impl/codegen/client_context.h \
+include/grpcpp/impl/codegen/client_interceptor.h \
include/grpcpp/impl/codegen/client_unary_call.h \
include/grpcpp/impl/codegen/completion_queue.h \
include/grpcpp/impl/codegen/completion_queue_tag.h \
@@ -958,6 +959,7 @@ include/grpcpp/impl/codegen/core_codegen.h \
include/grpcpp/impl/codegen/core_codegen_interface.h \
include/grpcpp/impl/codegen/create_auth_context.h \
include/grpcpp/impl/codegen/grpc_library.h \
+include/grpcpp/impl/codegen/interceptor.h \
include/grpcpp/impl/codegen/metadata_map.h \
include/grpcpp/impl/codegen/method_handler_impl.h \
include/grpcpp/impl/codegen/proto_buffer_reader.h \
diff --git a/tools/doxygen/Doxyfile.c++.internal b/tools/doxygen/Doxyfile.c++.internal
index c1bcdfd3d0..c852b29fce 100644
--- a/tools/doxygen/Doxyfile.c++.internal
+++ b/tools/doxygen/Doxyfile.c++.internal
@@ -950,6 +950,7 @@ include/grpcpp/impl/codegen/callback_common.h \
include/grpcpp/impl/codegen/channel_interface.h \
include/grpcpp/impl/codegen/client_callback.h \
include/grpcpp/impl/codegen/client_context.h \
+include/grpcpp/impl/codegen/client_interceptor.h \
include/grpcpp/impl/codegen/client_unary_call.h \
include/grpcpp/impl/codegen/completion_queue.h \
include/grpcpp/impl/codegen/completion_queue_tag.h \
@@ -960,6 +961,7 @@ include/grpcpp/impl/codegen/core_codegen.h \
include/grpcpp/impl/codegen/core_codegen_interface.h \
include/grpcpp/impl/codegen/create_auth_context.h \
include/grpcpp/impl/codegen/grpc_library.h \
+include/grpcpp/impl/codegen/interceptor.h \
include/grpcpp/impl/codegen/metadata_map.h \
include/grpcpp/impl/codegen/method_handler_impl.h \
include/grpcpp/impl/codegen/proto_buffer_reader.h \
diff --git a/tools/run_tests/generated/sources_and_headers.json b/tools/run_tests/generated/sources_and_headers.json
index 3df0ff58dc..8749593ed5 100644
--- a/tools/run_tests/generated/sources_and_headers.json
+++ b/tools/run_tests/generated/sources_and_headers.json
@@ -11071,6 +11071,7 @@
"include/grpcpp/impl/codegen/channel_interface.h",
"include/grpcpp/impl/codegen/client_callback.h",
"include/grpcpp/impl/codegen/client_context.h",
+ "include/grpcpp/impl/codegen/client_interceptor.h",
"include/grpcpp/impl/codegen/client_unary_call.h",
"include/grpcpp/impl/codegen/completion_queue.h",
"include/grpcpp/impl/codegen/completion_queue_tag.h",
@@ -11078,6 +11079,7 @@
"include/grpcpp/impl/codegen/core_codegen_interface.h",
"include/grpcpp/impl/codegen/create_auth_context.h",
"include/grpcpp/impl/codegen/grpc_library.h",
+ "include/grpcpp/impl/codegen/interceptor.h",
"include/grpcpp/impl/codegen/metadata_map.h",
"include/grpcpp/impl/codegen/method_handler_impl.h",
"include/grpcpp/impl/codegen/rpc_method.h",
@@ -11139,6 +11141,7 @@
"include/grpcpp/impl/codegen/channel_interface.h",
"include/grpcpp/impl/codegen/client_callback.h",
"include/grpcpp/impl/codegen/client_context.h",
+ "include/grpcpp/impl/codegen/client_interceptor.h",
"include/grpcpp/impl/codegen/client_unary_call.h",
"include/grpcpp/impl/codegen/completion_queue.h",
"include/grpcpp/impl/codegen/completion_queue_tag.h",
@@ -11146,6 +11149,7 @@
"include/grpcpp/impl/codegen/core_codegen_interface.h",
"include/grpcpp/impl/codegen/create_auth_context.h",
"include/grpcpp/impl/codegen/grpc_library.h",
+ "include/grpcpp/impl/codegen/interceptor.h",
"include/grpcpp/impl/codegen/metadata_map.h",
"include/grpcpp/impl/codegen/method_handler_impl.h",
"include/grpcpp/impl/codegen/rpc_method.h",