Merge remote-tracking branch 'origin/master' into reduce_log

pull/37633/head
Alexander Polcyn 1 month ago
commit ca58824fdd
  1. 30
      .clang-format
  2. 294
      BUILD
  3. 6
      BUILDING.md
  4. 4
      BoringSSL-Package.swift
  5. 2547
      CMakeLists.txt
  6. 104
      Makefile
  7. 1
      PYTHON-MANIFEST.in
  8. 215
      Package.swift
  9. 12
      WORKSPACE
  10. 2
      _metadata.py
  11. 10
      bazel/BUILD
  12. 93
      bazel/_logging_threshold_test_main.py
  13. 54
      bazel/_single_module_tester.py
  14. 34
      bazel/experiments.bzl
  15. 3
      bazel/grpc_build_system.bzl
  16. 74
      bazel/grpc_deps.bzl
  17. 7
      bazel/grpc_extra_deps.bzl
  18. 73
      bazel/logging_threshold_test.bzl
  19. 19
      bazel/rules_go.patch
  20. 1
      black.toml
  21. 2485
      build_autogenerated.yaml
  22. 2
      build_config.rb
  23. 15
      build_handwritten.yaml
  24. 5
      cmake/protobuf.cmake
  25. 110
      config.m4
  26. 110
      config.w32
  27. 3
      doc/g_stands_for.md
  28. 2
      doc/grpc_xds_features.md
  29. 8
      doc/naming.md
  30. 24
      examples/android/binder/java/io/grpc/binder/cpp/README.md
  31. 25
      examples/android/binder/java/io/grpc/binder/cpp/exampleclient/AndroidManifest.xml
  32. 51
      examples/android/binder/java/io/grpc/binder/cpp/exampleclient/BUILD
  33. 15
      examples/android/binder/java/io/grpc/binder/cpp/exampleclient/ButtonPressHandler.java
  34. 26
      examples/android/binder/java/io/grpc/binder/cpp/exampleclient/MainActivity.java
  35. 73
      examples/android/binder/java/io/grpc/binder/cpp/exampleclient/native.cc
  36. 24
      examples/android/binder/java/io/grpc/binder/cpp/exampleclient/res/layout/activity_main.xml
  37. 5
      examples/android/binder/java/io/grpc/binder/cpp/exampleclient/res/values/strings.xml
  38. 21
      examples/android/binder/java/io/grpc/binder/cpp/exampleserver/AndroidManifest.xml
  39. 10
      examples/android/binder/java/io/grpc/binder/cpp/exampleserver/AndroidManifest_endpoint.xml
  40. 61
      examples/android/binder/java/io/grpc/binder/cpp/exampleserver/BUILD
  41. 13
      examples/android/binder/java/io/grpc/binder/cpp/exampleserver/ButtonPressHandler.java
  42. 26
      examples/android/binder/java/io/grpc/binder/cpp/exampleserver/ExportedEndpointService.java
  43. 27
      examples/android/binder/java/io/grpc/binder/cpp/exampleserver/MainActivity.java
  44. 83
      examples/android/binder/java/io/grpc/binder/cpp/exampleserver/native.cc
  45. 24
      examples/android/binder/java/io/grpc/binder/cpp/exampleserver/res/layout/activity_main.xml
  46. 5
      examples/android/binder/java/io/grpc/binder/cpp/exampleserver/res/values/strings.xml
  47. 2
      examples/android/helloworld/app/CMakeLists.txt
  48. 2
      examples/cpp/auth/CMakeLists.txt
  49. 4
      examples/cpp/auth/ssl_client.cc
  50. 4
      examples/cpp/auth/ssl_server.cc
  51. 2
      examples/cpp/cancellation/CMakeLists.txt
  52. 4
      examples/cpp/cancellation/client.cc
  53. 4
      examples/cpp/cancellation/server.cc
  54. 2
      examples/cpp/cmake/common.cmake
  55. 2
      examples/cpp/compression/CMakeLists.txt
  56. 4
      examples/cpp/compression/greeter_client.cc
  57. 4
      examples/cpp/compression/greeter_server.cc
  58. 7
      examples/cpp/csm/csm_greeter_client.cc
  59. 17
      examples/cpp/csm/csm_greeter_server.cc
  60. 2
      examples/cpp/csm/observability/BUILD
  61. 2
      examples/cpp/csm/observability/Dockerfile.server
  62. 7
      examples/cpp/csm/observability/csm_greeter_client.cc
  63. 19
      examples/cpp/csm/observability/csm_greeter_server.cc
  64. 2
      examples/cpp/deadline/CMakeLists.txt
  65. 4
      examples/cpp/deadline/client.cc
  66. 4
      examples/cpp/deadline/server.cc
  67. 4
      examples/cpp/debugging/crashing_greeter_client.cc
  68. 10
      examples/cpp/debugging/greeter_callback_server_admin.cc
  69. 2
      examples/cpp/error_details/CMakeLists.txt
  70. 5
      examples/cpp/error_details/greeter_client.cc
  71. 9
      examples/cpp/error_details/greeter_server.cc
  72. 2
      examples/cpp/error_handling/CMakeLists.txt
  73. 4
      examples/cpp/error_handling/greeter_client.cc
  74. 8
      examples/cpp/error_handling/greeter_server.cc
  75. 27
      examples/cpp/flow_control/BUILD
  76. 3
      examples/cpp/flow_control/CMakeLists.txt
  77. 126
      examples/cpp/flow_control/client_flow_control_client.cc
  78. 111
      examples/cpp/flow_control/client_flow_control_server.cc
  79. 8
      examples/cpp/flow_control/server_flow_control_client.cc
  80. 10
      examples/cpp/flow_control/server_flow_control_server.cc
  81. 6
      examples/cpp/gcp_observability/helloworld/greeter_client.cc
  82. 10
      examples/cpp/gcp_observability/helloworld/greeter_server.cc
  83. 2
      examples/cpp/generic_api/CMakeLists.txt
  84. 6
      examples/cpp/generic_api/greeter_client.cc
  85. 6
      examples/cpp/generic_api/greeter_server.cc
  86. 2
      examples/cpp/health/CMakeLists.txt
  87. 5
      examples/cpp/health/health_client.cc
  88. 8
      examples/cpp/health/health_server.cc
  89. 2
      examples/cpp/helloworld/CMakeLists.txt
  90. 15
      examples/cpp/helloworld/cmake_externalproject/CMakeLists.txt
  91. 4
      examples/cpp/helloworld/greeter_async_client.cc
  92. 4
      examples/cpp/helloworld/greeter_async_client2.cc
  93. 4
      examples/cpp/helloworld/greeter_async_server.cc
  94. 4
      examples/cpp/helloworld/greeter_callback_client.cc
  95. 8
      examples/cpp/helloworld/greeter_callback_server.cc
  96. 4
      examples/cpp/helloworld/greeter_client.cc
  97. 8
      examples/cpp/helloworld/greeter_server.cc
  98. 4
      examples/cpp/helloworld/xds_greeter_client.cc
  99. 12
      examples/cpp/helloworld/xds_greeter_server.cc
  100. 2
      examples/cpp/interceptors/CMakeLists.txt
  101. Some files were not shown because too many files have changed in this diff Show More

@ -8,36 +8,6 @@ IncludeCategories:
# ruby.h is even more first if it's included
- Regex: '^<ruby/ruby.h>'
Priority: -200
# Some platforms (namely msys) need wchar to be included BEFORE
# anything else, especially strsafe.h.
- Regex: '^<wchar.h>'
Priority: 5
# use priority 100+ for grpc headers so they sort last
# 'system' headers - include things that have " in the names to make them
# stand out and get fixed
- Regex: '^(<|")grpc'
Priority: 100
# similary using include/ to get system headers should stand out and get
# fixed
- Regex: '^"include/'
Priority: 100
# source headers go last
- Regex: '^"(src|test)/'
Priority: 101
# not-grpc headers follow
# first, non system headers that are included like <> - these are all
# local carveouts, and get sorted below c++ but before non grpc "" files
- Regex: '^<(openssl/|uv\.h|ares\.h|address_sorting/|gmock/|gtest/|zlib|zconf|benchmark/|google/)'
Priority: 30
# first C system headers - they have a . in the filename
- Regex: '^<.*\.'
Priority: 10
# then C++ system headers - no ., the only thing that will match now
- Regex: '^<'
Priority: 20
# finally other "" includes go between system headers and our headers
- Regex: '^"'
Priority: 40
---
Language: ObjC
BasedOnStyle: Google

294
BUILD

@ -74,17 +74,6 @@ config_setting(
flag_values = {":disable_grpc_rls": "true"},
)
# When gRPC is build as shared library, binder transport code might still
# get included even when user's code does not depend on it. In that case
# --define=grpc_no_binder=true can be used to disable binder transport
# related code to reduce binary size.
# For users using build system other than bazel, they can define
# GRPC_NO_BINDER to achieve the same effect.
config_setting(
name = "grpc_no_binder_define",
values = {"define": "grpc_no_binder=true"},
)
config_setting(
name = "android",
values = {"crosstool_top": "//external:android/crosstool"},
@ -135,15 +124,6 @@ selects.config_setting_group(
],
)
selects.config_setting_group(
name = "grpc_no_binder",
match_any = [
":grpc_no_binder_define",
# We do not need binder on ios.
":ios",
],
)
selects.config_setting_group(
name = "grpc_no_rls",
match_any = [
@ -227,11 +207,11 @@ config_setting(
python_config_settings()
# This should be updated along with build_handwritten.yaml
g_stands_for = "gesundheit" # @unused
g_stands_for = "groovy" # @unused
core_version = "43.0.0" # @unused
core_version = "44.0.0" # @unused
version = "1.67.0-dev" # @unused
version = "1.68.0-dev" # @unused
GPR_PUBLIC_HDRS = [
"include/grpc/support/alloc.h",
@ -571,6 +551,7 @@ grpc_cc_library(
external_deps = [
"absl/base:core_headers",
"absl/log:log",
"absl/time:time",
],
language = "c++",
public_hdrs = GRPC_PUBLIC_HDRS,
@ -623,6 +604,7 @@ GRPC_XDS_TARGETS = [
"//src/core:grpc_resolver_c2p",
"//src/core:grpc_xds_server_config_fetcher",
"//src/core:grpc_stateful_session_filter",
"//src/core:xds_http_proxy_mapper",
# Not xDS-specific but currently only used by xDS.
"//src/core:channel_creds_registry_init",
@ -642,6 +624,7 @@ grpc_cc_library(
external_deps = [
"absl/base:core_headers",
"absl/log:log",
"absl/time:time",
],
language = "c++",
public_hdrs = GRPC_PUBLIC_HDRS,
@ -681,7 +664,7 @@ grpc_cc_library(
"server",
"sockaddr_utils",
"tsi_base",
"uri_parser",
"uri",
"//src/core:channel_args",
"//src/core:channel_init",
"//src/core:channel_stack_type",
@ -719,50 +702,50 @@ grpc_cc_library(
grpc_cc_library(
name = "gpr",
srcs = [
"//src/core:lib/gprpp/crash.cc",
"//src/core:lib/gprpp/fork.cc",
"//src/core:lib/gprpp/host_port.cc",
"//src/core:lib/gprpp/mpscq.cc",
"//src/core:lib/gprpp/posix/stat.cc",
"//src/core:lib/gprpp/posix/thd.cc",
"//src/core:lib/gprpp/time_util.cc",
"//src/core:lib/gprpp/windows/stat.cc",
"//src/core:lib/gprpp/windows/thd.cc",
"//src/core:util/alloc.cc",
"//src/core:util/crash.cc",
"//src/core:util/fork.cc",
"//src/core:util/gpr_time.cc",
"//src/core:util/host_port.cc",
"//src/core:util/iphone/cpu.cc",
"//src/core:util/linux/cpu.cc",
"//src/core:util/log.cc",
"//src/core:util/mpscq.cc",
"//src/core:util/msys/tmpfile.cc",
"//src/core:util/posix/cpu.cc",
"//src/core:util/posix/stat.cc",
"//src/core:util/posix/string.cc",
"//src/core:util/posix/sync.cc",
"//src/core:util/posix/thd.cc",
"//src/core:util/posix/time.cc",
"//src/core:util/posix/tmpfile.cc",
"//src/core:util/string.cc",
"//src/core:util/sync.cc",
"//src/core:util/sync_abseil.cc",
"//src/core:util/time.cc",
"//src/core:util/time_precise.cc",
"//src/core:util/time_util.cc",
"//src/core:util/windows/cpu.cc",
"//src/core:util/windows/stat.cc",
"//src/core:util/windows/string.cc",
"//src/core:util/windows/string_util.cc",
"//src/core:util/windows/sync.cc",
"//src/core:util/windows/thd.cc",
"//src/core:util/windows/time.cc",
"//src/core:util/windows/tmpfile.cc",
],
hdrs = [
"//src/core:lib/gprpp/crash.h",
"//src/core:lib/gprpp/fork.h",
"//src/core:lib/gprpp/host_port.h",
"//src/core:lib/gprpp/memory.h",
"//src/core:lib/gprpp/mpscq.h",
"//src/core:lib/gprpp/stat.h",
"//src/core:lib/gprpp/sync.h",
"//src/core:lib/gprpp/thd.h",
"//src/core:lib/gprpp/time_util.h",
"//src/core:util/alloc.h",
"//src/core:util/crash.h",
"//src/core:util/fork.h",
"//src/core:util/host_port.h",
"//src/core:util/memory.h",
"//src/core:util/mpscq.h",
"//src/core:util/stat.h",
"//src/core:util/string.h",
"//src/core:util/sync.h",
"//src/core:util/thd.h",
"//src/core:util/time_precise.h",
"//src/core:util/time_util.h",
"//src/core:util/tmpfile.h",
],
external_deps = [
@ -820,7 +803,7 @@ grpc_cc_library(
grpc_cc_library(
name = "cpp_impl_of",
hdrs = ["//src/core:lib/gprpp/cpp_impl_of.h"],
hdrs = ["//src/core:util/cpp_impl_of.h"],
language = "c++",
)
@ -853,7 +836,6 @@ grpc_cc_library(
"//src/core:grpc_lb_policy_weighted_target",
"//src/core:grpc_channel_idle_filter",
"//src/core:grpc_message_size_filter",
"//src/core:grpc_resolver_binder",
"grpc_resolver_dns_ares",
"grpc_resolver_fake",
"//src/core:grpc_resolver_dns_native",
@ -892,6 +874,7 @@ grpc_cc_library(
"absl/log:log",
"absl/log:absl_check",
"absl/log:absl_log",
"absl/status:statusor",
"absl/strings:cord",
"absl/synchronization",
"protobuf_headers",
@ -938,12 +921,6 @@ grpc_cc_library(
"grpc++_xds_server",
],
},
{
"grpc_no_binder": [],
"//conditions:default": [
"grpc++_binder",
],
},
],
tags = ["nofixdeps"],
visibility = ["@grpc:public"],
@ -1074,112 +1051,6 @@ grpc_cc_library(
],
)
grpc_cc_library(
name = "grpc++_binder",
srcs = [
"//src/core:ext/transport/binder/client/binder_connector.cc",
"//src/core:ext/transport/binder/client/channel_create.cc",
"//src/core:ext/transport/binder/client/channel_create_impl.cc",
"//src/core:ext/transport/binder/client/connection_id_generator.cc",
"//src/core:ext/transport/binder/client/endpoint_binder_pool.cc",
"//src/core:ext/transport/binder/client/jni_utils.cc",
"//src/core:ext/transport/binder/client/security_policy_setting.cc",
"//src/core:ext/transport/binder/security_policy/binder_security_policy.cc",
"//src/core:ext/transport/binder/server/binder_server.cc",
"//src/core:ext/transport/binder/server/binder_server_credentials.cc",
"//src/core:ext/transport/binder/transport/binder_transport.cc",
"//src/core:ext/transport/binder/utils/ndk_binder.cc",
"//src/core:ext/transport/binder/utils/transport_stream_receiver_impl.cc",
"//src/core:ext/transport/binder/wire_format/binder_android.cc",
"//src/core:ext/transport/binder/wire_format/binder_constants.cc",
"//src/core:ext/transport/binder/wire_format/transaction.cc",
"//src/core:ext/transport/binder/wire_format/wire_reader_impl.cc",
"//src/core:ext/transport/binder/wire_format/wire_writer.cc",
],
hdrs = [
"//src/core:ext/transport/binder/client/binder_connector.h",
"//src/core:ext/transport/binder/client/channel_create_impl.h",
"//src/core:ext/transport/binder/client/connection_id_generator.h",
"//src/core:ext/transport/binder/client/endpoint_binder_pool.h",
"//src/core:ext/transport/binder/client/jni_utils.h",
"//src/core:ext/transport/binder/client/security_policy_setting.h",
"//src/core:ext/transport/binder/server/binder_server.h",
"//src/core:ext/transport/binder/transport/binder_stream.h",
"//src/core:ext/transport/binder/transport/binder_transport.h",
"//src/core:ext/transport/binder/utils/binder_auto_utils.h",
"//src/core:ext/transport/binder/utils/ndk_binder.h",
"//src/core:ext/transport/binder/utils/transport_stream_receiver.h",
"//src/core:ext/transport/binder/utils/transport_stream_receiver_impl.h",
"//src/core:ext/transport/binder/wire_format/binder.h",
"//src/core:ext/transport/binder/wire_format/binder_android.h",
"//src/core:ext/transport/binder/wire_format/binder_constants.h",
"//src/core:ext/transport/binder/wire_format/transaction.h",
"//src/core:ext/transport/binder/wire_format/wire_reader.h",
"//src/core:ext/transport/binder/wire_format/wire_reader_impl.h",
"//src/core:ext/transport/binder/wire_format/wire_writer.h",
],
defines = select({
"grpc_no_binder": ["GRPC_NO_BINDER"],
"//conditions:default": [],
}),
external_deps = [
"absl/base:core_headers",
"absl/cleanup",
"absl/container:flat_hash_map",
"absl/functional:any_invocable",
"absl/hash",
"absl/log:check",
"absl/log:log",
"absl/memory",
"absl/meta:type_traits",
"absl/status",
"absl/status:statusor",
"absl/strings",
"absl/synchronization",
"absl/time",
"absl/types:variant",
],
language = "c++",
public_hdrs = [
"include/grpcpp/security/binder_security_policy.h",
"include/grpcpp/create_channel_binder.h",
"include/grpcpp/security/binder_credentials.h",
],
tags = ["nofixdeps"],
deps = [
"channel",
"channel_create",
"config",
"debug_location",
"exec_ctx",
"gpr",
"gpr_platform",
"grpc",
"grpc++_base",
"grpc_base",
"grpc_client_channel",
"grpc_public_hdrs",
"orphanable",
"ref_counted_ptr",
"server",
"//src/core:arena",
"//src/core:channel_args",
"//src/core:channel_args_preconditioning",
"//src/core:channel_stack_type",
"//src/core:default_event_engine",
"//src/core:error_utils",
"//src/core:iomgr_fwd",
"//src/core:iomgr_port",
"//src/core:metadata_batch",
"//src/core:notification",
"//src/core:slice",
"//src/core:slice_refcount",
"//src/core:status_helper",
"//src/core:subchannel_connector",
"//src/core:transport_fwd",
],
)
grpc_cc_library(
name = "grpc++_xds_client",
srcs = [
@ -1245,6 +1116,7 @@ grpc_cc_library(
"absl/log:log",
"absl/log:absl_check",
"absl/log:absl_log",
"absl/status:statusor",
"absl/strings",
"absl/synchronization",
],
@ -1392,7 +1264,7 @@ grpc_cc_library(
"parse_address",
"ref_counted_ptr",
"sockaddr_utils",
"uri_parser",
"uri",
"//src/core:channel_args",
"//src/core:connectivity_state",
"//src/core:json",
@ -1507,9 +1379,6 @@ grpc_cc_library(
"//src/core:lib/iomgr/ev_posix.cc",
"//src/core:lib/iomgr/fork_posix.cc",
"//src/core:lib/iomgr/fork_windows.cc",
"//src/core:lib/iomgr/gethostname_fallback.cc",
"//src/core:lib/iomgr/gethostname_host_name_max.cc",
"//src/core:lib/iomgr/gethostname_sysconf.cc",
"//src/core:lib/iomgr/iocp_windows.cc",
"//src/core:lib/iomgr/iomgr.cc",
"//src/core:lib/iomgr/iomgr_posix.cc",
@ -1548,6 +1417,9 @@ grpc_cc_library(
"//src/core:lib/iomgr/wakeup_fd_nospecial.cc",
"//src/core:lib/iomgr/wakeup_fd_pipe.cc",
"//src/core:lib/iomgr/wakeup_fd_posix.cc",
"//src/core:util/gethostname_fallback.cc",
"//src/core:util/gethostname_host_name_max.cc",
"//src/core:util/gethostname_sysconf.cc",
] +
# TODO(vigneshbabu): remove these
# These headers used to be vended by this target, but they have to be
@ -1568,7 +1440,6 @@ grpc_cc_library(
"//src/core:lib/iomgr/ev_epoll1_linux.h",
"//src/core:lib/iomgr/ev_poll_posix.h",
"//src/core:lib/iomgr/ev_posix.h",
"//src/core:lib/iomgr/gethostname.h",
"//src/core:lib/iomgr/iocp_windows.h",
"//src/core:lib/iomgr/iomgr.h",
"//src/core:lib/iomgr/lockfree_event.h",
@ -1599,6 +1470,7 @@ grpc_cc_library(
"//src/core:lib/iomgr/vsock.h",
"//src/core:lib/iomgr/wakeup_fd_pipe.h",
"//src/core:lib/iomgr/wakeup_fd_posix.h",
"//src/core:util/gethostname.h",
] +
# TODO(vigneshbabu): remove these
# These headers used to be vended by this target, but they have to be
@ -2039,6 +1911,7 @@ grpc_cc_library(
"//src/core:arena_promise",
"//src/core:atomic_utils",
"//src/core:bitset",
"//src/core:blackboard",
"//src/core:call_destination",
"//src/core:call_filters",
"//src/core:call_final_info",
@ -2489,6 +2362,7 @@ grpc_cc_library(
"//src/core:grpc_backend_metric_provider",
"//src/core:grpc_crl_provider",
"//src/core:grpc_service_config",
"//src/core:grpc_tls_credentials",
"//src/core:grpc_transport_chttp2_server",
"//src/core:grpc_transport_inproc",
"//src/core:json",
@ -2955,6 +2829,18 @@ grpc_cc_library(
],
)
grpc_cc_library(
name = "generic_stub",
hdrs = [
"include/grpcpp/generic/generic_stub.h",
],
language = "c++",
visibility = ["@grpc:public"],
deps = [
"generic_stub_internal",
],
)
grpc_cc_library(
name = "generic_stub_callback",
hdrs = [
@ -2967,6 +2853,18 @@ grpc_cc_library(
],
)
grpc_cc_library(
name = "async_generic_service",
hdrs = [
"include/grpcpp/generic/async_generic_service.h",
],
language = "c++",
visibility = ["@grpc:public"],
deps = [
"grpc++_public_hdrs",
],
)
grpc_cc_library(
name = "callback_generic_service",
hdrs = [
@ -2982,10 +2880,10 @@ grpc_cc_library(
grpc_cc_library(
name = "work_serializer",
srcs = [
"//src/core:lib/gprpp/work_serializer.cc",
"//src/core:util/work_serializer.cc",
],
hdrs = [
"//src/core:lib/gprpp/work_serializer.h",
"//src/core:util/work_serializer.h",
],
external_deps = [
"absl/base:core_headers",
@ -3114,7 +3012,7 @@ grpc_cc_library(
name = "debug_location",
external_deps = ["absl/strings"],
language = "c++",
public_hdrs = ["//src/core:lib/gprpp/debug_location.h"],
public_hdrs = ["//src/core:util/debug_location.h"],
visibility = ["@grpc:debug_location"],
deps = ["gpr_platform"],
)
@ -3122,7 +3020,7 @@ grpc_cc_library(
grpc_cc_library(
name = "orphanable",
language = "c++",
public_hdrs = ["//src/core:lib/gprpp/orphanable.h"],
public_hdrs = ["//src/core:util/orphanable.h"],
visibility = [
"@grpc:client_channel",
"@grpc:xds_client_core",
@ -3159,7 +3057,7 @@ grpc_cc_library(
name = "ref_counted_ptr",
external_deps = ["absl/hash"],
language = "c++",
public_hdrs = ["//src/core:lib/gprpp/ref_counted_ptr.h"],
public_hdrs = ["//src/core:util/ref_counted_ptr.h"],
visibility = ["@grpc:ref_counted_ptr"],
deps = [
"debug_location",
@ -3306,7 +3204,7 @@ grpc_cc_library(
visibility = ["@grpc:alt_grpc_base_legacy"],
deps = [
"gpr",
"uri_parser",
"uri",
"//src/core:grpc_sockaddr",
"//src/core:iomgr_port",
"//src/core:resolved_address",
@ -3398,12 +3296,12 @@ grpc_cc_library(
)
grpc_cc_library(
name = "uri_parser",
name = "uri",
srcs = [
"//src/core:lib/uri/uri_parser.cc",
"//src/core:util/uri.cc",
],
hdrs = [
"//src/core:lib/uri/uri_parser.h",
"//src/core:util/uri.h",
],
external_deps = [
"absl/log:check",
@ -3420,12 +3318,12 @@ grpc_cc_library(
name = "parse_address",
srcs = [
"//src/core:lib/address_utils/parse_address.cc",
"//src/core:lib/iomgr/grpc_if_nametoindex_posix.cc",
"//src/core:lib/iomgr/grpc_if_nametoindex_unsupported.cc",
"//src/core:util/grpc_if_nametoindex_posix.cc",
"//src/core:util/grpc_if_nametoindex_unsupported.cc",
],
hdrs = [
"//src/core:lib/address_utils/parse_address.h",
"//src/core:lib/iomgr/grpc_if_nametoindex.h",
"//src/core:util/grpc_if_nametoindex.h",
],
external_deps = [
"absl/log:check",
@ -3437,7 +3335,7 @@ grpc_cc_library(
visibility = ["@grpc:alt_grpc_base_legacy"],
deps = [
"gpr",
"uri_parser",
"uri",
"//src/core:error",
"//src/core:grpc_sockaddr",
"//src/core:iomgr_port",
@ -3449,10 +3347,10 @@ grpc_cc_library(
grpc_cc_library(
name = "backoff",
srcs = [
"//src/core:lib/backoff/backoff.cc",
"//src/core:util/backoff.cc",
],
hdrs = [
"//src/core:lib/backoff/backoff.h",
"//src/core:util/backoff.h",
],
external_deps = ["absl/random"],
language = "c++",
@ -3612,7 +3510,7 @@ grpc_cc_library(
"orphanable",
"ref_counted_ptr",
"server_address",
"uri_parser",
"uri",
"//src/core:channel_args",
"//src/core:grpc_service_config",
"//src/core:iomgr_fwd",
@ -3770,11 +3668,12 @@ grpc_cc_library(
"ref_counted_ptr",
"sockaddr_utils",
"stats",
"uri_parser",
"uri",
"work_serializer",
"//src/core:arena",
"//src/core:arena_promise",
"//src/core:backend_metric_parser",
"//src/core:blackboard",
"//src/core:call_destination",
"//src/core:call_filters",
"//src/core:call_spine",
@ -3893,7 +3792,7 @@ grpc_cc_library(
"parse_address",
"ref_counted_ptr",
"sockaddr_utils",
"uri_parser",
"uri",
"//src/core:channel_args",
"//src/core:closure",
"//src/core:error",
@ -3952,7 +3851,7 @@ grpc_cc_library(
"ref_counted_ptr",
"resource_quota_api",
"sockaddr_utils",
"uri_parser",
"uri",
"//src/core:channel_args",
"//src/core:channel_args_preconditioning",
"//src/core:closure",
@ -4082,7 +3981,7 @@ grpc_cc_library(
"orphanable",
"promise",
"ref_counted_ptr",
"uri_parser",
"uri",
"//src/core:arena_promise",
"//src/core:closure",
"//src/core:error",
@ -4355,6 +4254,7 @@ grpc_cc_library(
"//src/core:experiments",
"//src/core:grpc_message_size_filter",
"//src/core:latch",
"//src/core:latent_see",
"//src/core:map",
"//src/core:metadata_batch",
"//src/core:percent_encoding",
@ -4390,17 +4290,18 @@ grpc_cc_library(
grpc_cc_library(
name = "xds_client",
srcs = [
"//src/core:xds/xds_client/lrs_client.cc",
"//src/core:xds/xds_client/xds_api.cc",
"//src/core:xds/xds_client/xds_bootstrap.cc",
"//src/core:xds/xds_client/xds_client.cc",
"//src/core:xds/xds_client/xds_client_stats.cc",
],
hdrs = [
"//src/core:xds/xds_client/lrs_client.h",
"//src/core:xds/xds_client/xds_api.h",
"//src/core:xds/xds_client/xds_bootstrap.h",
"//src/core:xds/xds_client/xds_channel_args.h",
"//src/core:xds/xds_client/xds_client.h",
"//src/core:xds/xds_client/xds_client_stats.h",
"//src/core:xds/xds_client/xds_locality.h",
"//src/core:xds/xds_client/xds_metrics.h",
"//src/core:xds/xds_client/xds_resource_type.h",
"//src/core:xds/xds_client/xds_resource_type_impl.h",
@ -4451,17 +4352,20 @@ grpc_cc_library(
"protobuf_struct_upb",
"protobuf_timestamp_upb",
"ref_counted_ptr",
"uri_parser",
"uri",
"work_serializer",
"//src/core:default_event_engine",
"//src/core:dual_ref_counted",
"//src/core:env",
"//src/core:grpc_backend_metric_data",
"//src/core:json",
"//src/core:per_cpu",
"//src/core:ref_counted",
"//src/core:ref_counted_string",
"//src/core:time",
"//src/core:upb_utils",
"//src/core:useful",
"//src/core:xds_backend_metric_propagation",
],
)
@ -4512,7 +4416,7 @@ grpc_cc_library(
"grpc_resolver",
"orphanable",
"ref_counted_ptr",
"uri_parser",
"uri",
"work_serializer",
"//src/core:channel_args",
"//src/core:notification",
@ -4751,6 +4655,7 @@ grpc_cc_library(
name = "grpc_transport_chttp2",
srcs = [
"//src/core:ext/transport/chttp2/transport/bin_decoder.cc",
"//src/core:ext/transport/chttp2/transport/call_tracer_wrapper.cc",
"//src/core:ext/transport/chttp2/transport/chttp2_transport.cc",
"//src/core:ext/transport/chttp2/transport/frame_data.cc",
"//src/core:ext/transport/chttp2/transport/frame_goaway.cc",
@ -4764,6 +4669,7 @@ grpc_cc_library(
],
hdrs = [
"//src/core:ext/transport/chttp2/transport/bin_decoder.h",
"//src/core:ext/transport/chttp2/transport/call_tracer_wrapper.h",
"//src/core:ext/transport/chttp2/transport/chttp2_transport.h",
"//src/core:ext/transport/chttp2/transport/frame_data.h",
"//src/core:ext/transport/chttp2/transport/frame_goaway.h",
@ -4772,6 +4678,7 @@ grpc_cc_library(
"//src/core:ext/transport/chttp2/transport/frame_settings.h",
"//src/core:ext/transport/chttp2/transport/frame_window_update.h",
"//src/core:ext/transport/chttp2/transport/internal.h",
"//src/core:ext/transport/chttp2/transport/stream_lists.h",
],
external_deps = [
"absl/base:core_headers",
@ -4954,6 +4861,11 @@ grpc_upb_proto_library(
deps = ["@envoy_api//envoy/config/core/v3:pkg"],
)
grpc_upb_proto_reflection_library(
name = "envoy_config_core_upbdefs",
deps = ["@envoy_api//envoy/config/core/v3:pkg"],
)
grpc_upb_proto_library(
name = "envoy_config_endpoint_upb",
deps = ["@envoy_api//envoy/config/endpoint/v3:pkg"],
@ -5109,6 +5021,16 @@ grpc_upb_proto_reflection_library(
deps = ["@envoy_api//envoy/extensions/transport_sockets/tls/v3:pkg"],
)
grpc_upb_proto_library(
name = "envoy_extensions_transport_sockets_http_11_proxy_upb",
deps = ["@envoy_api//envoy/extensions/transport_sockets/http_11_proxy/v3:pkg"],
)
grpc_upb_proto_reflection_library(
name = "envoy_extensions_transport_sockets_http_11_proxy_upbdefs",
deps = ["@envoy_api//envoy/extensions/transport_sockets/http_11_proxy/v3:pkg"],
)
grpc_upb_proto_library(
name = "envoy_extensions_upstreams_http_upb",
deps = ["@envoy_api//envoy/extensions/upstreams/http/v3:pkg"],

@ -55,7 +55,7 @@ installed by `brew` is being used:
## Windows
To prepare for cmake + Microsoft Visual C++ compiler build
- Install Visual Studio 2019 or later (Visual C++ compiler will be used).
- Install Visual Studio 2022 or later (Visual C++ compiler will be used).
- Install [Git](https://git-scm.com/).
- Install [CMake](https://cmake.org/download/).
- Install [nasm](https://www.nasm.us/) and add it to `PATH` (`choco install nasm`) - *required by boringssl*
@ -132,7 +132,7 @@ $ make
If you want to build shared libraries (`.so` files), run `cmake` with `-DBUILD_SHARED_LIBS=ON`.
### Windows, Using Visual Studio 2019 or later
### Windows, Using Visual Studio 2022 or later
When using the "Visual Studio" generator,
cmake will generate a solution (`grpc.sln`) that contains a VS project for
@ -143,7 +143,7 @@ you will be able to browse and build the code.
> @rem Run from grpc directory after cloning the repo with --recursive or updating submodules.
> md .build
> cd .build
> cmake .. -G "Visual Studio 16 2019"
> cmake .. -G "Visual Studio 17 2022"
> cmake --build . --config Release
```

@ -142,6 +142,8 @@ let package = Package(
"src/crypto/kyber/kyber.c",
"src/crypto/lhash/lhash.c",
"src/crypto/mem.c",
"src/crypto/mldsa/mldsa.c",
"src/crypto/mlkem/mlkem.cc",
"src/crypto/obj/obj.c",
"src/crypto/obj/obj_xref.c",
"src/crypto/pem/pem_all.c",
@ -162,12 +164,14 @@ let package = Package(
"src/crypto/poly1305/poly1305_vec.c",
"src/crypto/pool/pool.c",
"src/crypto/rand_extra/deterministic.c",
"src/crypto/rand_extra/fork_detect.c",
"src/crypto/rand_extra/forkunsafe.c",
"src/crypto/rand_extra/getentropy.c",
"src/crypto/rand_extra/ios.c",
"src/crypto/rand_extra/passive.c",
"src/crypto/rand_extra/rand_extra.c",
"src/crypto/rand_extra/trusty.c",
"src/crypto/rand_extra/urandom.c",
"src/crypto/rand_extra/windows.c",
"src/crypto/rc4/rc4.c",
"src/crypto/refcount.c",

2547
CMakeLists.txt generated

File diff suppressed because it is too large Load Diff

104
Makefile generated

@ -367,8 +367,8 @@ E = @echo
Q = @
endif
CORE_VERSION = 43.0.0
CPP_VERSION = 1.67.0-dev
CORE_VERSION = 44.0.0
CPP_VERSION = 1.68.0-dev
CPPFLAGS_NO_ARCH += $(addprefix -I, $(INCLUDES)) $(addprefix -D, $(DEFINES))
CPPFLAGS += $(CPPFLAGS_NO_ARCH) $(ARCH_FLAGS)
@ -404,7 +404,7 @@ SHARED_EXT_CORE = dll
SHARED_EXT_CPP = dll
SHARED_PREFIX =
SHARED_VERSION_CORE = -43
SHARED_VERSION_CORE = -44
SHARED_VERSION_CPP = -1
else ifeq ($(SYSTEM),Darwin)
EXECUTABLE_SUFFIX =
@ -711,6 +711,7 @@ LIBGRPC_SRC = \
src/core/ext/transport/chttp2/server/chttp2_server.cc \
src/core/ext/transport/chttp2/transport/bin_decoder.cc \
src/core/ext/transport/chttp2/transport/bin_encoder.cc \
src/core/ext/transport/chttp2/transport/call_tracer_wrapper.cc \
src/core/ext/transport/chttp2/transport/chttp2_transport.cc \
src/core/ext/transport/chttp2/transport/decode_huff.cc \
src/core/ext/transport/chttp2/transport/flow_control.cc \
@ -817,6 +818,7 @@ LIBGRPC_SRC = \
src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb_minitable.c \
src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb_minitable.c \
src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb_minitable.c \
src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb_minitable.c \
src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/cert.upb_minitable.c \
src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb_minitable.c \
src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb_minitable.c \
@ -978,6 +980,7 @@ LIBGRPC_SRC = \
src/core/ext/upbdefs-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c \
src/core/ext/upbdefs-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c \
src/core/ext/upbdefs-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c \
src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upbdefs.c \
src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c \
src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c \
src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c \
@ -1057,19 +1060,19 @@ LIBGRPC_SRC = \
src/core/ext/upbdefs-gen/xds/type/v3/cel.upbdefs.c \
src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.c \
src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.c \
src/core/filter/blackboard.cc \
src/core/handshaker/endpoint_info/endpoint_info_handshaker.cc \
src/core/handshaker/handshaker.cc \
src/core/handshaker/handshaker_registry.cc \
src/core/handshaker/http_connect/http_connect_handshaker.cc \
src/core/handshaker/http_connect/http_proxy_mapper.cc \
src/core/handshaker/http_connect/xds_http_proxy_mapper.cc \
src/core/handshaker/proxy_mapper_registry.cc \
src/core/handshaker/security/secure_endpoint.cc \
src/core/handshaker/security/security_handshaker.cc \
src/core/handshaker/tcp_connect/tcp_connect_handshaker.cc \
src/core/lib/address_utils/parse_address.cc \
src/core/lib/address_utils/sockaddr_utils.cc \
src/core/lib/backoff/backoff.cc \
src/core/lib/backoff/random_early_detection.cc \
src/core/lib/channel/channel_args.cc \
src/core/lib/channel/channel_args_preconditioning.cc \
src/core/lib/channel/channel_stack.cc \
@ -1085,7 +1088,6 @@ LIBGRPC_SRC = \
src/core/lib/config/config_vars_non_generated.cc \
src/core/lib/config/core_configuration.cc \
src/core/lib/config/load_config.cc \
src/core/lib/debug/event_log.cc \
src/core/lib/debug/trace.cc \
src/core/lib/debug/trace_flags.cc \
src/core/lib/event_engine/ares_resolver.cc \
@ -1137,34 +1139,6 @@ LIBGRPC_SRC = \
src/core/lib/event_engine/work_queue/basic_work_queue.cc \
src/core/lib/experiments/config.cc \
src/core/lib/experiments/experiments.cc \
src/core/lib/gprpp/crash.cc \
src/core/lib/gprpp/dump_args.cc \
src/core/lib/gprpp/examine_stack.cc \
src/core/lib/gprpp/fork.cc \
src/core/lib/gprpp/glob.cc \
src/core/lib/gprpp/host_port.cc \
src/core/lib/gprpp/linux/env.cc \
src/core/lib/gprpp/load_file.cc \
src/core/lib/gprpp/mpscq.cc \
src/core/lib/gprpp/per_cpu.cc \
src/core/lib/gprpp/posix/directory_reader.cc \
src/core/lib/gprpp/posix/env.cc \
src/core/lib/gprpp/posix/stat.cc \
src/core/lib/gprpp/posix/thd.cc \
src/core/lib/gprpp/ref_counted_string.cc \
src/core/lib/gprpp/status_helper.cc \
src/core/lib/gprpp/strerror.cc \
src/core/lib/gprpp/tchar.cc \
src/core/lib/gprpp/time.cc \
src/core/lib/gprpp/time_averaged_stats.cc \
src/core/lib/gprpp/time_util.cc \
src/core/lib/gprpp/uuid_v4.cc \
src/core/lib/gprpp/validation_errors.cc \
src/core/lib/gprpp/windows/directory_reader.cc \
src/core/lib/gprpp/windows/env.cc \
src/core/lib/gprpp/windows/stat.cc \
src/core/lib/gprpp/windows/thd.cc \
src/core/lib/gprpp/work_serializer.cc \
src/core/lib/iomgr/buffer_list.cc \
src/core/lib/iomgr/call_combiner.cc \
src/core/lib/iomgr/cfstream_handle.cc \
@ -1188,11 +1162,6 @@ LIBGRPC_SRC = \
src/core/lib/iomgr/executor.cc \
src/core/lib/iomgr/fork_posix.cc \
src/core/lib/iomgr/fork_windows.cc \
src/core/lib/iomgr/gethostname_fallback.cc \
src/core/lib/iomgr/gethostname_host_name_max.cc \
src/core/lib/iomgr/gethostname_sysconf.cc \
src/core/lib/iomgr/grpc_if_nametoindex_posix.cc \
src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc \
src/core/lib/iomgr/internal_errqueue.cc \
src/core/lib/iomgr/iocp_windows.cc \
src/core/lib/iomgr/iomgr.cc \
@ -1241,7 +1210,6 @@ LIBGRPC_SRC = \
src/core/lib/iomgr/wakeup_fd_nospecial.cc \
src/core/lib/iomgr/wakeup_fd_pipe.cc \
src/core/lib/iomgr/wakeup_fd_posix.cc \
src/core/lib/matchers/matchers.cc \
src/core/lib/promise/activity.cc \
src/core/lib/promise/party.cc \
src/core/lib/promise/sleep.cc \
@ -1361,7 +1329,6 @@ LIBGRPC_SRC = \
src/core/lib/transport/timeout_encoding.cc \
src/core/lib/transport/transport.cc \
src/core/lib/transport/transport_op_string.cc \
src/core/lib/uri/uri_parser.cc \
src/core/load_balancing/address_filtering.cc \
src/core/load_balancing/backend_metric_parser.cc \
src/core/load_balancing/child_policy_handler.cc \
@ -1391,7 +1358,6 @@ LIBGRPC_SRC = \
src/core/load_balancing/xds/xds_wrr_locality.cc \
src/core/plugin_registry/grpc_plugin_registry.cc \
src/core/plugin_registry/grpc_plugin_registry_extra.cc \
src/core/resolver/binder/binder_resolver.cc \
src/core/resolver/dns/c_ares/dns_resolver_ares.cc \
src/core/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc \
src/core/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc \
@ -1456,7 +1422,21 @@ LIBGRPC_SRC = \
src/core/tsi/transport_security_grpc.cc \
src/core/util/alloc.cc \
src/core/util/atm.cc \
src/core/util/backoff.cc \
src/core/util/crash.cc \
src/core/util/dump_args.cc \
src/core/util/event_log.cc \
src/core/util/examine_stack.cc \
src/core/util/fork.cc \
src/core/util/gcp_metadata_query.cc \
src/core/util/gethostname_fallback.cc \
src/core/util/gethostname_host_name_max.cc \
src/core/util/gethostname_sysconf.cc \
src/core/util/glob.cc \
src/core/util/gpr_time.cc \
src/core/util/grpc_if_nametoindex_posix.cc \
src/core/util/grpc_if_nametoindex_unsupported.cc \
src/core/util/host_port.cc \
src/core/util/http_client/format_request.cc \
src/core/util/http_client/httpcli.cc \
src/core/util/http_client/httpcli_security_connector.cc \
@ -1468,24 +1448,48 @@ LIBGRPC_SRC = \
src/core/util/json/json_writer.cc \
src/core/util/latent_see.cc \
src/core/util/linux/cpu.cc \
src/core/util/linux/env.cc \
src/core/util/load_file.cc \
src/core/util/log.cc \
src/core/util/matchers.cc \
src/core/util/mpscq.cc \
src/core/util/msys/tmpfile.cc \
src/core/util/per_cpu.cc \
src/core/util/posix/cpu.cc \
src/core/util/posix/directory_reader.cc \
src/core/util/posix/env.cc \
src/core/util/posix/stat.cc \
src/core/util/posix/string.cc \
src/core/util/posix/sync.cc \
src/core/util/posix/thd.cc \
src/core/util/posix/time.cc \
src/core/util/posix/tmpfile.cc \
src/core/util/random_early_detection.cc \
src/core/util/ref_counted_string.cc \
src/core/util/status_helper.cc \
src/core/util/strerror.cc \
src/core/util/string.cc \
src/core/util/sync.cc \
src/core/util/sync_abseil.cc \
src/core/util/tchar.cc \
src/core/util/time.cc \
src/core/util/time_averaged_stats.cc \
src/core/util/time_precise.cc \
src/core/util/time_util.cc \
src/core/util/uri.cc \
src/core/util/uuid_v4.cc \
src/core/util/validation_errors.cc \
src/core/util/windows/cpu.cc \
src/core/util/windows/directory_reader.cc \
src/core/util/windows/env.cc \
src/core/util/windows/stat.cc \
src/core/util/windows/string.cc \
src/core/util/windows/string_util.cc \
src/core/util/windows/sync.cc \
src/core/util/windows/thd.cc \
src/core/util/windows/time.cc \
src/core/util/windows/tmpfile.cc \
src/core/util/work_serializer.cc \
src/core/xds/grpc/certificate_provider_store.cc \
src/core/xds/grpc/file_watcher_certificate_provider_factory.cc \
src/core/xds/grpc/xds_audit_logger_registry.cc \
@ -1515,10 +1519,11 @@ LIBGRPC_SRC = \
src/core/xds/grpc/xds_routing.cc \
src/core/xds/grpc/xds_server_grpc.cc \
src/core/xds/grpc/xds_transport_grpc.cc \
src/core/xds/xds_client/lrs_client.cc \
src/core/xds/xds_client/xds_api.cc \
src/core/xds/xds_client/xds_backend_metric_propagation.cc \
src/core/xds/xds_client/xds_bootstrap.cc \
src/core/xds/xds_client/xds_client.cc \
src/core/xds/xds_client/xds_client_stats.cc \
third_party/abseil-cpp/absl/base/internal/cycleclock.cc \
third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc \
third_party/abseil-cpp/absl/base/internal/raw_logging.cc \
@ -1542,9 +1547,12 @@ LIBGRPC_SRC = \
third_party/abseil-cpp/absl/crc/internal/crc_non_temporal_memcpy.cc \
third_party/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc \
third_party/abseil-cpp/absl/debugging/internal/address_is_readable.cc \
third_party/abseil-cpp/absl/debugging/internal/decode_rust_punycode.cc \
third_party/abseil-cpp/absl/debugging/internal/demangle.cc \
third_party/abseil-cpp/absl/debugging/internal/demangle_rust.cc \
third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc \
third_party/abseil-cpp/absl/debugging/internal/examine_stack.cc \
third_party/abseil-cpp/absl/debugging/internal/utf8_for_code_point.cc \
third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc \
third_party/abseil-cpp/absl/debugging/stacktrace.cc \
third_party/abseil-cpp/absl/debugging/symbolize.cc \
@ -1700,6 +1708,7 @@ LIBGRPC_SRC = \
third_party/upb/upb/message/internal/message.c \
third_party/upb/upb/message/map.c \
third_party/upb/upb/message/map_sorter.c \
third_party/upb/upb/message/merge.c \
third_party/upb/upb/message/message.c \
third_party/upb/upb/mini_descriptor/build_enum.c \
third_party/upb/upb/mini_descriptor/decode.c \
@ -1727,6 +1736,7 @@ LIBGRPC_SRC = \
third_party/upb/upb/reflection/oneof_def.c \
third_party/upb/upb/reflection/service_def.c \
third_party/upb/upb/text/encode.c \
third_party/upb/upb/text/internal/encode.c \
third_party/upb/upb/wire/decode.c \
third_party/upb/upb/wire/encode.c \
third_party/upb/upb/wire/eps_copy_input_stream.c \
@ -1848,8 +1858,8 @@ $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $(LIBGRPC_
ifeq ($(SYSTEM),Darwin)
$(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_OBJS) $(LIBDIR)/$(CONFIG)/libcares.a $(OPENSSL_MERGE_LIBS) $(ZLIB_MERGE_LIBS) $(LDLIBS_SECURE) $(LDLIBS)
else
$(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc.so.43 -o $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_OBJS) $(LIBDIR)/$(CONFIG)/libcares.a $(OPENSSL_MERGE_LIBS) $(ZLIB_MERGE_LIBS) $(LDLIBS_SECURE) $(LDLIBS)
$(Q) ln -sf $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).so.43
$(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc.so.44 -o $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_OBJS) $(LIBDIR)/$(CONFIG)/libcares.a $(OPENSSL_MERGE_LIBS) $(ZLIB_MERGE_LIBS) $(LDLIBS_SECURE) $(LDLIBS)
$(Q) ln -sf $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).so.44
$(Q) ln -sf $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).so
endif
endif
@ -1984,6 +1994,8 @@ LIBBORINGSSL_SRC = \
third_party/boringssl-with-bazel/src/crypto/kyber/kyber.c \
third_party/boringssl-with-bazel/src/crypto/lhash/lhash.c \
third_party/boringssl-with-bazel/src/crypto/mem.c \
third_party/boringssl-with-bazel/src/crypto/mldsa/mldsa.c \
third_party/boringssl-with-bazel/src/crypto/mlkem/mlkem.cc \
third_party/boringssl-with-bazel/src/crypto/obj/obj.c \
third_party/boringssl-with-bazel/src/crypto/obj/obj_xref.c \
third_party/boringssl-with-bazel/src/crypto/pem/pem_all.c \
@ -2004,12 +2016,14 @@ LIBBORINGSSL_SRC = \
third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_vec.c \
third_party/boringssl-with-bazel/src/crypto/pool/pool.c \
third_party/boringssl-with-bazel/src/crypto/rand_extra/deterministic.c \
third_party/boringssl-with-bazel/src/crypto/rand_extra/fork_detect.c \
third_party/boringssl-with-bazel/src/crypto/rand_extra/forkunsafe.c \
third_party/boringssl-with-bazel/src/crypto/rand_extra/getentropy.c \
third_party/boringssl-with-bazel/src/crypto/rand_extra/ios.c \
third_party/boringssl-with-bazel/src/crypto/rand_extra/passive.c \
third_party/boringssl-with-bazel/src/crypto/rand_extra/rand_extra.c \
third_party/boringssl-with-bazel/src/crypto/rand_extra/trusty.c \
third_party/boringssl-with-bazel/src/crypto/rand_extra/urandom.c \
third_party/boringssl-with-bazel/src/crypto/rand_extra/windows.c \
third_party/boringssl-with-bazel/src/crypto/rc4/rc4.c \
third_party/boringssl-with-bazel/src/crypto/refcount.c \

@ -17,6 +17,7 @@ include src/python/grpcio/_parallel_compile_patch.py
include src/python/grpcio/_spawn_patch.py
include src/python/grpcio/commands.py
include src/python/grpcio/grpc_version.py
include src/python/grpcio/python_version.py
include src/python/grpcio/grpc_core_dependencies.py
include src/python/grpcio/precompiled.py
include src/python/grpcio/support.py

215
Package.swift generated

@ -210,6 +210,8 @@ let package = Package(
"src/core/ext/transport/chttp2/transport/bin_decoder.h",
"src/core/ext/transport/chttp2/transport/bin_encoder.cc",
"src/core/ext/transport/chttp2/transport/bin_encoder.h",
"src/core/ext/transport/chttp2/transport/call_tracer_wrapper.cc",
"src/core/ext/transport/chttp2/transport/call_tracer_wrapper.h",
"src/core/ext/transport/chttp2/transport/chttp2_transport.cc",
"src/core/ext/transport/chttp2/transport/chttp2_transport.h",
"src/core/ext/transport/chttp2/transport/context_list_entry.h",
@ -256,6 +258,7 @@ let package = Package(
"src/core/ext/transport/chttp2/transport/ping_rate_policy.cc",
"src/core/ext/transport/chttp2/transport/ping_rate_policy.h",
"src/core/ext/transport/chttp2/transport/stream_lists.cc",
"src/core/ext/transport/chttp2/transport/stream_lists.h",
"src/core/ext/transport/chttp2/transport/varint.cc",
"src/core/ext/transport/chttp2/transport/varint.h",
"src/core/ext/transport/chttp2/transport/write_size_policy.cc",
@ -502,6 +505,9 @@ let package = Package(
"src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h",
"src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb_minitable.c",
"src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb_minitable.h",
"src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb.h",
"src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb_minitable.c",
"src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb_minitable.h",
"src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/cert.upb.h",
"src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/cert.upb_minitable.c",
"src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/cert.upb_minitable.h",
@ -911,6 +917,8 @@ let package = Package(
"src/core/ext/upbdefs-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h",
"src/core/ext/upbdefs-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c",
"src/core/ext/upbdefs-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h",
"src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upbdefs.c",
"src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upbdefs.h",
"src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c",
"src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h",
"src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c",
@ -1069,6 +1077,8 @@ let package = Package(
"src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.h",
"src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.c",
"src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.h",
"src/core/filter/blackboard.cc",
"src/core/filter/blackboard.h",
"src/core/handshaker/endpoint_info/endpoint_info_handshaker.cc",
"src/core/handshaker/endpoint_info/endpoint_info_handshaker.h",
"src/core/handshaker/handshaker.cc",
@ -1080,6 +1090,8 @@ let package = Package(
"src/core/handshaker/http_connect/http_connect_handshaker.h",
"src/core/handshaker/http_connect/http_proxy_mapper.cc",
"src/core/handshaker/http_connect/http_proxy_mapper.h",
"src/core/handshaker/http_connect/xds_http_proxy_mapper.cc",
"src/core/handshaker/http_connect/xds_http_proxy_mapper.h",
"src/core/handshaker/proxy_mapper.h",
"src/core/handshaker/proxy_mapper_registry.cc",
"src/core/handshaker/proxy_mapper_registry.h",
@ -1093,11 +1105,6 @@ let package = Package(
"src/core/lib/address_utils/parse_address.h",
"src/core/lib/address_utils/sockaddr_utils.cc",
"src/core/lib/address_utils/sockaddr_utils.h",
"src/core/lib/avl/avl.h",
"src/core/lib/backoff/backoff.cc",
"src/core/lib/backoff/backoff.h",
"src/core/lib/backoff/random_early_detection.cc",
"src/core/lib/backoff/random_early_detection.h",
"src/core/lib/channel/call_finalization.h",
"src/core/lib/channel/channel_args.cc",
"src/core/lib/channel/channel_args.h",
@ -1128,8 +1135,6 @@ let package = Package(
"src/core/lib/config/core_configuration.h",
"src/core/lib/config/load_config.cc",
"src/core/lib/config/load_config.h",
"src/core/lib/debug/event_log.cc",
"src/core/lib/debug/event_log.h",
"src/core/lib/debug/trace.cc",
"src/core/lib/debug/trace.h",
"src/core/lib/debug/trace_flags.cc",
@ -1250,83 +1255,6 @@ let package = Package(
"src/core/lib/experiments/config.h",
"src/core/lib/experiments/experiments.cc",
"src/core/lib/experiments/experiments.h",
"src/core/lib/gprpp/atomic_utils.h",
"src/core/lib/gprpp/bitset.h",
"src/core/lib/gprpp/chunked_vector.h",
"src/core/lib/gprpp/construct_destruct.h",
"src/core/lib/gprpp/cpp_impl_of.h",
"src/core/lib/gprpp/crash.cc",
"src/core/lib/gprpp/crash.h",
"src/core/lib/gprpp/debug_location.h",
"src/core/lib/gprpp/directory_reader.h",
"src/core/lib/gprpp/down_cast.h",
"src/core/lib/gprpp/dual_ref_counted.h",
"src/core/lib/gprpp/dump_args.cc",
"src/core/lib/gprpp/dump_args.h",
"src/core/lib/gprpp/env.h",
"src/core/lib/gprpp/examine_stack.cc",
"src/core/lib/gprpp/examine_stack.h",
"src/core/lib/gprpp/fork.cc",
"src/core/lib/gprpp/fork.h",
"src/core/lib/gprpp/glob.cc",
"src/core/lib/gprpp/glob.h",
"src/core/lib/gprpp/host_port.cc",
"src/core/lib/gprpp/host_port.h",
"src/core/lib/gprpp/if_list.h",
"src/core/lib/gprpp/linux/env.cc",
"src/core/lib/gprpp/load_file.cc",
"src/core/lib/gprpp/load_file.h",
"src/core/lib/gprpp/manual_constructor.h",
"src/core/lib/gprpp/match.h",
"src/core/lib/gprpp/memory.h",
"src/core/lib/gprpp/mpscq.cc",
"src/core/lib/gprpp/mpscq.h",
"src/core/lib/gprpp/no_destruct.h",
"src/core/lib/gprpp/notification.h",
"src/core/lib/gprpp/orphanable.h",
"src/core/lib/gprpp/overload.h",
"src/core/lib/gprpp/packed_table.h",
"src/core/lib/gprpp/per_cpu.cc",
"src/core/lib/gprpp/per_cpu.h",
"src/core/lib/gprpp/posix/directory_reader.cc",
"src/core/lib/gprpp/posix/env.cc",
"src/core/lib/gprpp/posix/stat.cc",
"src/core/lib/gprpp/posix/thd.cc",
"src/core/lib/gprpp/ref_counted.h",
"src/core/lib/gprpp/ref_counted_ptr.h",
"src/core/lib/gprpp/ref_counted_string.cc",
"src/core/lib/gprpp/ref_counted_string.h",
"src/core/lib/gprpp/single_set_ptr.h",
"src/core/lib/gprpp/sorted_pack.h",
"src/core/lib/gprpp/stat.h",
"src/core/lib/gprpp/status_helper.cc",
"src/core/lib/gprpp/status_helper.h",
"src/core/lib/gprpp/strerror.cc",
"src/core/lib/gprpp/strerror.h",
"src/core/lib/gprpp/sync.h",
"src/core/lib/gprpp/table.h",
"src/core/lib/gprpp/tchar.cc",
"src/core/lib/gprpp/tchar.h",
"src/core/lib/gprpp/thd.h",
"src/core/lib/gprpp/time.cc",
"src/core/lib/gprpp/time.h",
"src/core/lib/gprpp/time_averaged_stats.cc",
"src/core/lib/gprpp/time_averaged_stats.h",
"src/core/lib/gprpp/time_util.cc",
"src/core/lib/gprpp/time_util.h",
"src/core/lib/gprpp/type_list.h",
"src/core/lib/gprpp/unique_type_name.h",
"src/core/lib/gprpp/uuid_v4.cc",
"src/core/lib/gprpp/uuid_v4.h",
"src/core/lib/gprpp/validation_errors.cc",
"src/core/lib/gprpp/validation_errors.h",
"src/core/lib/gprpp/windows/directory_reader.cc",
"src/core/lib/gprpp/windows/env.cc",
"src/core/lib/gprpp/windows/stat.cc",
"src/core/lib/gprpp/windows/thd.cc",
"src/core/lib/gprpp/work_serializer.cc",
"src/core/lib/gprpp/work_serializer.h",
"src/core/lib/gprpp/xxhash_inline.h",
"src/core/lib/iomgr/block_annotate.h",
"src/core/lib/iomgr/buffer_list.cc",
"src/core/lib/iomgr/buffer_list.h",
@ -1371,13 +1299,6 @@ let package = Package(
"src/core/lib/iomgr/executor.h",
"src/core/lib/iomgr/fork_posix.cc",
"src/core/lib/iomgr/fork_windows.cc",
"src/core/lib/iomgr/gethostname.h",
"src/core/lib/iomgr/gethostname_fallback.cc",
"src/core/lib/iomgr/gethostname_host_name_max.cc",
"src/core/lib/iomgr/gethostname_sysconf.cc",
"src/core/lib/iomgr/grpc_if_nametoindex.h",
"src/core/lib/iomgr/grpc_if_nametoindex_posix.cc",
"src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc",
"src/core/lib/iomgr/internal_errqueue.cc",
"src/core/lib/iomgr/internal_errqueue.h",
"src/core/lib/iomgr/iocp_windows.cc",
@ -1468,8 +1389,6 @@ let package = Package(
"src/core/lib/iomgr/wakeup_fd_pipe.h",
"src/core/lib/iomgr/wakeup_fd_posix.cc",
"src/core/lib/iomgr/wakeup_fd_posix.h",
"src/core/lib/matchers/matchers.cc",
"src/core/lib/matchers/matchers.h",
"src/core/lib/promise/activity.cc",
"src/core/lib/promise/activity.h",
"src/core/lib/promise/all_ok.h",
@ -1734,8 +1653,6 @@ let package = Package(
"src/core/lib/transport/transport.h",
"src/core/lib/transport/transport_fwd.h",
"src/core/lib/transport/transport_op_string.cc",
"src/core/lib/uri/uri_parser.cc",
"src/core/lib/uri/uri_parser.h",
"src/core/load_balancing/address_filtering.cc",
"src/core/load_balancing/address_filtering.h",
"src/core/load_balancing/backend_metric_data.h",
@ -1792,7 +1709,6 @@ let package = Package(
"src/core/load_balancing/xds/xds_wrr_locality.cc",
"src/core/plugin_registry/grpc_plugin_registry.cc",
"src/core/plugin_registry/grpc_plugin_registry_extra.cc",
"src/core/resolver/binder/binder_resolver.cc",
"src/core/resolver/dns/c_ares/dns_resolver_ares.cc",
"src/core/resolver/dns/c_ares/dns_resolver_ares.h",
"src/core/resolver/dns/c_ares/grpc_ares_ev_driver.h",
@ -1920,8 +1836,43 @@ let package = Package(
"src/core/util/alloc.cc",
"src/core/util/alloc.h",
"src/core/util/atm.cc",
"src/core/util/atomic_utils.h",
"src/core/util/avl.h",
"src/core/util/backoff.cc",
"src/core/util/backoff.h",
"src/core/util/bitset.h",
"src/core/util/chunked_vector.h",
"src/core/util/construct_destruct.h",
"src/core/util/cpp_impl_of.h",
"src/core/util/crash.cc",
"src/core/util/crash.h",
"src/core/util/debug_location.h",
"src/core/util/directory_reader.h",
"src/core/util/down_cast.h",
"src/core/util/dual_ref_counted.h",
"src/core/util/dump_args.cc",
"src/core/util/dump_args.h",
"src/core/util/env.h",
"src/core/util/event_log.cc",
"src/core/util/event_log.h",
"src/core/util/examine_stack.cc",
"src/core/util/examine_stack.h",
"src/core/util/fork.cc",
"src/core/util/fork.h",
"src/core/util/gcp_metadata_query.cc",
"src/core/util/gcp_metadata_query.h",
"src/core/util/gethostname.h",
"src/core/util/gethostname_fallback.cc",
"src/core/util/gethostname_host_name_max.cc",
"src/core/util/gethostname_sysconf.cc",
"src/core/util/glob.cc",
"src/core/util/glob.h",
"src/core/util/gpr_time.cc",
"src/core/util/grpc_if_nametoindex.h",
"src/core/util/grpc_if_nametoindex_posix.cc",
"src/core/util/grpc_if_nametoindex_unsupported.cc",
"src/core/util/host_port.cc",
"src/core/util/host_port.h",
"src/core/util/http_client/format_request.cc",
"src/core/util/http_client/format_request.h",
"src/core/util/http_client/httpcli.cc",
@ -1930,6 +1881,7 @@ let package = Package(
"src/core/util/http_client/httpcli_ssl_credentials.h",
"src/core/util/http_client/parser.cc",
"src/core/util/http_client/parser.h",
"src/core/util/if_list.h",
"src/core/util/iphone/cpu.cc",
"src/core/util/json/json.h",
"src/core/util/json/json_args.h",
@ -1945,33 +1897,92 @@ let package = Package(
"src/core/util/latent_see.cc",
"src/core/util/latent_see.h",
"src/core/util/linux/cpu.cc",
"src/core/util/linux/env.cc",
"src/core/util/load_file.cc",
"src/core/util/load_file.h",
"src/core/util/log.cc",
"src/core/util/lru_cache.h",
"src/core/util/manual_constructor.h",
"src/core/util/match.h",
"src/core/util/matchers.cc",
"src/core/util/matchers.h",
"src/core/util/memory.h",
"src/core/util/mpscq.cc",
"src/core/util/mpscq.h",
"src/core/util/msys/tmpfile.cc",
"src/core/util/no_destruct.h",
"src/core/util/notification.h",
"src/core/util/orphanable.h",
"src/core/util/overload.h",
"src/core/util/packed_table.h",
"src/core/util/per_cpu.cc",
"src/core/util/per_cpu.h",
"src/core/util/posix/cpu.cc",
"src/core/util/posix/directory_reader.cc",
"src/core/util/posix/env.cc",
"src/core/util/posix/stat.cc",
"src/core/util/posix/string.cc",
"src/core/util/posix/sync.cc",
"src/core/util/posix/thd.cc",
"src/core/util/posix/time.cc",
"src/core/util/posix/tmpfile.cc",
"src/core/util/random_early_detection.cc",
"src/core/util/random_early_detection.h",
"src/core/util/ref_counted.h",
"src/core/util/ref_counted_ptr.h",
"src/core/util/ref_counted_string.cc",
"src/core/util/ref_counted_string.h",
"src/core/util/ring_buffer.h",
"src/core/util/single_set_ptr.h",
"src/core/util/sorted_pack.h",
"src/core/util/spinlock.h",
"src/core/util/stat.h",
"src/core/util/status_helper.cc",
"src/core/util/status_helper.h",
"src/core/util/strerror.cc",
"src/core/util/strerror.h",
"src/core/util/string.cc",
"src/core/util/string.h",
"src/core/util/sync.cc",
"src/core/util/sync.h",
"src/core/util/sync_abseil.cc",
"src/core/util/table.h",
"src/core/util/tchar.cc",
"src/core/util/tchar.h",
"src/core/util/thd.h",
"src/core/util/time.cc",
"src/core/util/time.h",
"src/core/util/time_averaged_stats.cc",
"src/core/util/time_averaged_stats.h",
"src/core/util/time_precise.cc",
"src/core/util/time_precise.h",
"src/core/util/time_util.cc",
"src/core/util/time_util.h",
"src/core/util/tmpfile.h",
"src/core/util/type_list.h",
"src/core/util/unique_ptr_with_bitset.h",
"src/core/util/unique_type_name.h",
"src/core/util/upb_utils.h",
"src/core/util/uri.cc",
"src/core/util/uri.h",
"src/core/util/useful.h",
"src/core/util/uuid_v4.cc",
"src/core/util/uuid_v4.h",
"src/core/util/validation_errors.cc",
"src/core/util/validation_errors.h",
"src/core/util/windows/cpu.cc",
"src/core/util/windows/directory_reader.cc",
"src/core/util/windows/env.cc",
"src/core/util/windows/stat.cc",
"src/core/util/windows/string.cc",
"src/core/util/windows/string_util.cc",
"src/core/util/windows/sync.cc",
"src/core/util/windows/thd.cc",
"src/core/util/windows/time.cc",
"src/core/util/windows/tmpfile.cc",
"src/core/util/work_serializer.cc",
"src/core/util/work_serializer.h",
"src/core/util/xxhash_inline.h",
"src/core/xds/grpc/certificate_provider_store.cc",
"src/core/xds/grpc/certificate_provider_store.h",
"src/core/xds/grpc/file_watcher_certificate_provider_factory.cc",
@ -2031,15 +2042,18 @@ let package = Package(
"src/core/xds/grpc/xds_server_grpc.h",
"src/core/xds/grpc/xds_transport_grpc.cc",
"src/core/xds/grpc/xds_transport_grpc.h",
"src/core/xds/xds_client/lrs_client.cc",
"src/core/xds/xds_client/lrs_client.h",
"src/core/xds/xds_client/xds_api.cc",
"src/core/xds/xds_client/xds_api.h",
"src/core/xds/xds_client/xds_backend_metric_propagation.cc",
"src/core/xds/xds_client/xds_backend_metric_propagation.h",
"src/core/xds/xds_client/xds_bootstrap.cc",
"src/core/xds/xds_client/xds_bootstrap.h",
"src/core/xds/xds_client/xds_channel_args.h",
"src/core/xds/xds_client/xds_client.cc",
"src/core/xds/xds_client/xds_client.h",
"src/core/xds/xds_client/xds_client_stats.cc",
"src/core/xds/xds_client/xds_client_stats.h",
"src/core/xds/xds_client/xds_locality.h",
"src/core/xds/xds_client/xds_metrics.h",
"src/core/xds/xds_client/xds_resource_type.h",
"src/core/xds/xds_client/xds_resource_type_impl.h",
@ -2143,6 +2157,8 @@ let package = Package(
"third_party/upb/upb/message/map.h",
"third_party/upb/upb/message/map_gencode_util.h",
"third_party/upb/upb/message/map_sorter.c",
"third_party/upb/upb/message/merge.c",
"third_party/upb/upb/message/merge.h",
"third_party/upb/upb/message/message.c",
"third_party/upb/upb/message/message.h",
"third_party/upb/upb/message/tagged_ptr.h",
@ -2221,6 +2237,9 @@ let package = Package(
"third_party/upb/upb/reflection/service_def.h",
"third_party/upb/upb/text/encode.c",
"third_party/upb/upb/text/encode.h",
"third_party/upb/upb/text/internal/encode.c",
"third_party/upb/upb/text/internal/encode.h",
"third_party/upb/upb/text/options.h",
"third_party/upb/upb/wire/eps_copy_input_stream.c",
"third_party/upb/upb/wire/eps_copy_input_stream.h",
"third_party/upb/upb/wire/internal/reader.h",

@ -56,16 +56,6 @@ android_ndk_repository(name = "androidndk")
# here, because the toolchain rule fails when $ANDROID_NDK_HOME is not set.
# Use `--extra_toolchains=@androidndk//:all` to manually register it when building for Android.
# Prevents bazel's '...' expansion from including the following folder.
# This is required because the BUILD file in the following folder
# will trigger bazel failure when Android SDK is not configured.
# The targets in the following folder need to be included in APK and will
# be invoked by binder transport implementation through JNI.
local_repository(
name = "binder_transport_android_helper",
path = "src/core/ext/transport/binder/java",
)
# Prevents bazel's '...' expansion from including the following folder.
# This is required to avoid triggering "Unable to find package for @rules_fuzzing//fuzzing:cc_defs.bzl"
# error.
@ -89,7 +79,7 @@ load("@com_google_protobuf//bazel:system_python.bzl", "system_python")
system_python(
name = "system_python",
minimum_python_version = "3.7",
minimum_python_version = "3.8",
)
load("@system_python//:pip.bzl", system_pip_parse = "pip_parse")

@ -14,4 +14,4 @@
# AUTO-GENERATED FROM `$REPO_ROOT/templates/_metadata.py.template`!!!
__version__ = """1.67.0.dev0"""
__version__ = """1.68.0.dev0"""

@ -20,7 +20,17 @@ licenses(["notice"])
package(default_visibility = ["//:__subpackages__"])
filegroup(
name = "_single_module_tester",
srcs = ["_single_module_tester.py"],
)
filegroup(
name = "_gevent_test_main",
srcs = ["_gevent_test_main.py"],
)
filegroup(
name = "_logging_threshold_test_main",
srcs = ["_logging_threshold_test_main.py"],
)

@ -0,0 +1,93 @@
# Copyright 2024 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.
import os
import re
import subprocess
import sys
import tempfile
_OK_TEST_REGEX = r"^-+.*Ran ([\d]+) tests* in ([\d.]+)s.*OK(?: \(skipped=(\d+)\))?\n$"
# Tests with known exception logs.
# TODO(sourabhsinghs): Investigate and enable _rpc_part_1_test and _rpc_part_2_test tests.
_SKIP_TESTS = [
"_rpc_part_1_test",
"_server_shutdown_test",
"_xds_credentials_test",
"_server_test",
"_invalid_metadata_test",
"_reconnect_test",
"_channel_close_test",
"_rpc_part_2_test",
"_invocation_defects_test",
"_dynamic_stubs_test",
"_channel_connectivity_test",
]
if __name__ == "__main__":
if len(sys.argv) != 3:
print(f"USAGE: {sys.argv[0]} TARGET_MODULE", file=sys.stderr)
sys.exit(1)
test_script = sys.argv[1]
target_module = sys.argv[2]
if target_module in _SKIP_TESTS:
print(f"Skipping {target_module}")
sys.exit(0)
command = [
sys.executable,
os.path.realpath(test_script),
target_module,
os.path.dirname(os.path.relpath(__file__)),
]
with tempfile.TemporaryFile(mode="w+") as stdout_file:
with tempfile.TemporaryFile(mode="w+") as stderr_file:
result = subprocess.run(
command,
stdout=stdout_file,
stderr=stderr_file,
text=True,
check=True,
)
stdout_file.seek(0)
stderr_file.seek(0)
stdout_count = len(stdout_file.readlines())
stderr_count = len(stderr_file.readlines())
if result.returncode != 0:
sys.exit("Test failure")
stderr_file.seek(0)
if not re.fullmatch(_OK_TEST_REGEX, stderr_file.read(), re.DOTALL):
print(
f"Warning: Excessive error output detected ({stderr_count} lines):"
)
stderr_file.seek(0)
for line in stderr_file:
print(line)
if stdout_count > 0:
print(
f"Warning: Unexpected output detected ({stdout_count} lines):"
)
stdout_file.seek(0)
for line in stdout_file:
print(line)

@ -0,0 +1,54 @@
# Copyright 2024 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.
from typing import Sequence, Optional
import unittest
import sys
import pkgutil
class SingleLoader(object):
def __init__(self, pattern: str, unittest_path: str):
loader = unittest.TestLoader()
self.suite = unittest.TestSuite()
tests = []
for importer, module_name, is_package in pkgutil.walk_packages([unittest_path]):
if pattern in module_name:
module = importer.find_module(module_name).load_module(module_name)
tests.append(loader.loadTestsFromModule(module))
if len(tests) != 1:
raise AssertionError("Expected only 1 test module. Found {}".format(tests))
self.suite.addTest(tests[0])
def loadTestsFromNames(self, names: Sequence[str], module: Optional[str] = None) -> unittest.TestSuite:
return self.suite
if __name__ == "__main__":
if len(sys.argv) != 3:
print(f"USAGE: {sys.argv[0]} TARGET_MODULE", file=sys.stderr)
sys.exit(1)
target_module = sys.argv[1]
unittest_path = sys.argv[2]
loader = SingleLoader(target_module, unittest_path)
runner = unittest.TextTestRunner(verbosity=0)
result = runner.run(loader.suite)
if not result.wasSuccessful():
sys.exit("Test failure.")

@ -25,6 +25,7 @@ EXPERIMENT_ENABLES = {
"event_engine_dns": "event_engine_dns",
"event_engine_listener": "event_engine_listener",
"free_large_allocator": "free_large_allocator",
"local_connector_secure": "local_connector_secure",
"max_pings_wo_data_throttle": "max_pings_wo_data_throttle",
"monitoring_experiment": "monitoring_experiment",
"multiping": "multiping",
@ -34,9 +35,9 @@ EXPERIMENT_ENABLES = {
"server_privacy": "server_privacy",
"tcp_frame_size_tuning": "tcp_frame_size_tuning",
"tcp_rcv_lowat": "tcp_rcv_lowat",
"time_caching_in_party": "time_caching_in_party",
"trace_record_callops": "trace_record_callops",
"unconstrained_max_quota_buffer_size": "unconstrained_max_quota_buffer_size",
"work_serializer_clears_time_cache": "work_serializer_clears_time_cache",
"work_serializer_dispatch": "work_serializer_dispatch",
}
@ -51,6 +52,9 @@ EXPERIMENTS = {
"dbg": {
},
"off": {
"core_end2end_test": [
"local_connector_secure",
],
"endpoint_test": [
"tcp_frame_size_tuning",
"tcp_rcv_lowat",
@ -97,6 +101,9 @@ EXPERIMENTS = {
"dbg": {
},
"off": {
"core_end2end_test": [
"local_connector_secure",
],
"endpoint_test": [
"tcp_frame_size_tuning",
"tcp_rcv_lowat",
@ -128,56 +135,53 @@ EXPERIMENTS = {
},
"off": {
"core_end2end_test": [
"event_engine_client",
"work_serializer_dispatch",
],
"cpp_end2end_test": [
"work_serializer_dispatch",
"local_connector_secure",
],
"endpoint_test": [
"tcp_frame_size_tuning",
"tcp_rcv_lowat",
],
"event_engine_client_test": [
"event_engine_client",
],
"flow_control_test": [
"multiping",
"tcp_frame_size_tuning",
"tcp_rcv_lowat",
],
"lb_unit_test": [
"work_serializer_dispatch",
],
"resource_quota_test": [
"free_large_allocator",
"unconstrained_max_quota_buffer_size",
],
"xds_end2end_test": [
"work_serializer_dispatch",
],
},
"on": {
"cancel_ares_query_test": [
"event_engine_dns",
],
"core_end2end_test": [
"event_engine_client",
"event_engine_listener",
"work_serializer_dispatch",
],
"cpp_end2end_test": [
"work_serializer_dispatch",
],
"cpp_lb_end2end_test": [
"pick_first_new",
],
"event_engine_client_test": [
"event_engine_client",
],
"event_engine_listener_test": [
"event_engine_listener",
],
"lb_unit_test": [
"pick_first_new",
"work_serializer_dispatch",
],
"resolver_component_tests_runner_invoker": [
"event_engine_dns",
],
"xds_end2end_test": [
"pick_first_new",
"work_serializer_dispatch",
],
},
},

@ -122,6 +122,7 @@ def _update_visibility(visibility):
"iomgr_internal_errqueue": PRIVATE,
"iomgr_buffer_list": PRIVATE,
"json_reader_legacy": PRIVATE,
"latent_see": PRIVATE,
"otel_plugin": PRIVATE,
"public": PUBLIC,
"ref_counted_ptr": PRIVATE,
@ -725,7 +726,7 @@ def grpc_package(name, visibility = "private", features = []):
features: The features to enable.
"""
if visibility == "tests":
visibility = ["//test:__subpackages__"]
visibility = ["//test:__subpackages__", "//src/proto/grpc/testing:__subpackages__"]
elif visibility == "public":
visibility = ["//visibility:public"]
elif visibility == "private":

@ -35,11 +35,11 @@ def grpc_deps():
name = "boringssl",
# Use github mirror instead of https://boringssl.googlesource.com/boringssl
# to obtain a boringssl archive with consistent sha256
sha256 = "7a35bebd0e1eecbc5bf5bbf5eec03e86686c356802b5540872119bd26f84ecc7",
strip_prefix = "boringssl-16c8d3db1af20fcc04b5190b25242aadcb1fbb30",
sha256 = "c70d519e4ee709b7a74410a5e3a937428b8198d793a3d771be3dd2086ae167c8",
strip_prefix = "boringssl-b8b3e6e11166719a8ebfa43c0cde9ad7d57a84f6",
urls = [
"https://storage.googleapis.com/grpc-bazel-mirror/github.com/google/boringssl/archive/16c8d3db1af20fcc04b5190b25242aadcb1fbb30.tar.gz",
"https://github.com/google/boringssl/archive/16c8d3db1af20fcc04b5190b25242aadcb1fbb30.tar.gz",
"https://storage.googleapis.com/grpc-bazel-mirror/github.com/google/boringssl/archive/b8b3e6e11166719a8ebfa43c0cde9ad7d57a84f6.tar.gz",
"https://github.com/google/boringssl/archive/b8b3e6e11166719a8ebfa43c0cde9ad7d57a84f6.tar.gz",
],
)
@ -58,16 +58,15 @@ def grpc_deps():
if "com_google_protobuf" not in native.existing_rules():
http_archive(
name = "com_google_protobuf",
sha256 = "3ed7131962a357b35b1d55238fcc6c6a177eae766ef3e25aa916157bc6e45819",
strip_prefix = "protobuf-63def39e881afa496502d9c410f4ea948e59490d",
sha256 = "8766fce06ef41d79cb6037d04be37df3d5c493d9da92517a7243640d6389f03c",
strip_prefix = "protobuf-10ef3f77683f77fb3c059bf47725c27b3ff41e63",
urls = [
# https://github.com/protocolbuffers/protobuf/commits/v27.2
"https://storage.googleapis.com/grpc-bazel-mirror/github.com/protocolbuffers/protobuf/archive/63def39e881afa496502d9c410f4ea948e59490d.tar.gz",
"https://github.com/protocolbuffers/protobuf/archive/63def39e881afa496502d9c410f4ea948e59490d.tar.gz",
# https://github.com/protocolbuffers/protobuf/commits/v28.1
"https://storage.googleapis.com/grpc-bazel-mirror/github.com/protocolbuffers/protobuf/archive/10ef3f77683f77fb3c059bf47725c27b3ff41e63.tar.gz",
"https://github.com/protocolbuffers/protobuf/archive/10ef3f77683f77fb3c059bf47725c27b3ff41e63.tar.gz",
],
patches = [
"@com_github_grpc_grpc//third_party:protobuf.patch",
"@com_github_grpc_grpc//third_party:protobuf.10007.patch",
],
patch_args = ["-p1"],
)
@ -144,11 +143,11 @@ def grpc_deps():
if "com_google_absl" not in native.existing_rules():
http_archive(
name = "com_google_absl",
sha256 = "338420448b140f0dfd1a1ea3c3ce71b3bc172071f24f4d9a57d59b45037da440",
strip_prefix = "abseil-cpp-20240116.0",
sha256 = "f50e5ac311a81382da7fa75b97310e4b9006474f9560ac46f54a9967f07d4ae3",
strip_prefix = "abseil-cpp-20240722.0",
urls = [
"https://storage.googleapis.com/grpc-bazel-mirror/github.com/abseil/abseil-cpp/archive/20240116.0.tar.gz",
"https://github.com/abseil/abseil-cpp/archive/20240116.0.tar.gz",
"https://storage.googleapis.com/grpc-bazel-mirror/github.com/abseil/abseil-cpp/archive/20240722.0.tar.gz",
"https://github.com/abseil/abseil-cpp/archive/20240722.0.tar.gz",
],
)
@ -207,14 +206,45 @@ def grpc_deps():
],
)
# TODO(roth): Need to override version of rules_proto, because
# we're using a newer version of rules_go than the xDS protos are,
# and that requires a newer version of rules_proto. In turn, the
# newer version of rules_proto requires a newer version of
# bazel_features. So these two entries can go away once the xDS
# protos upgrade to the newer version of rules_go.
if "bazel_features" not in native.existing_rules():
http_archive(
name = "bazel_features",
sha256 = "5ac743bf5f05d88e84962e978811f2524df09602b789c92cf7ae2111ecdeda94",
strip_prefix = "bazel_features-1.14.0",
urls = [
"https://storage.googleapis.com/grpc-bazel-mirror/github.com/bazel-contrib/bazel_features/releases/download/v1.14.0/bazel_features-v1.14.0.tar.gz",
"https://github.com/bazel-contrib/bazel_features/releases/download/v1.14.0/bazel_features-v1.14.0.tar.gz",
],
)
if "rules_proto" not in native.existing_rules():
http_archive(
name = "rules_proto",
sha256 = "6fb6767d1bef535310547e03247f7518b03487740c11b6c6adb7952033fe1295",
strip_prefix = "rules_proto-6.0.2",
urls = [
"https://storage.googleapis.com/grpc-bazel-mirror/github.com/bazelbuild/rules_proto/archive/refs/tags/6.0.2.tar.gz",
"https://github.com/bazelbuild/rules_proto/archive/refs/tags/6.0.2.tar.gz",
],
)
if "io_bazel_rules_go" not in native.existing_rules():
http_archive(
name = "io_bazel_rules_go",
sha256 = "69de5c704a05ff37862f7e0f5534d4f479418afc21806c887db544a316f3cb6b",
sha256 = "d93ef02f1e72c82d8bb3d5169519b36167b33cf68c252525e3b9d3d5dd143de7",
urls = [
"https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.27.0/rules_go-v0.27.0.tar.gz",
"https://github.com/bazelbuild/rules_go/releases/download/v0.27.0/rules_go-v0.27.0.tar.gz",
"https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.49.0/rules_go-v0.49.0.zip",
"https://github.com/bazelbuild/rules_go/releases/download/v0.49.0/rules_go-v0.49.0.zip",
],
patches = [
"@com_github_grpc_grpc//bazel:rules_go.patch",
],
patch_args = ["-p1"],
)
if "build_bazel_rules_apple" not in native.existing_rules():
@ -273,13 +303,9 @@ def grpc_deps():
if "com_envoyproxy_protoc_gen_validate" not in native.existing_rules():
http_archive(
name = "com_envoyproxy_protoc_gen_validate",
strip_prefix = "protoc-gen-validate-4694024279bdac52b77e22dc87808bd0fd732b69",
sha256 = "1e490b98005664d149b379a9529a6aa05932b8a11b76b4cd86f3d22d76346f47",
urls = [
"https://github.com/envoyproxy/protoc-gen-validate/archive/4694024279bdac52b77e22dc87808bd0fd732b69.tar.gz",
],
patches = ["@com_github_grpc_grpc//third_party:protoc-gen-validate.patch"],
patch_args = ["-p1"],
sha256 = "9372f9ecde8fbadf83c8c7de3dbb49b11067aa26fb608c501106d0b4bf06c28f",
strip_prefix = "protoc-gen-validate-1.0.4",
urls = ["https://github.com/bufbuild/protoc-gen-validate/archive/refs/tags/v1.0.4.zip"],
)
if "com_github_cncf_xds" not in native.existing_rules():

@ -13,6 +13,7 @@
# limitations under the License.
"""Loads the dependencies necessary for the external repositories defined in grpc_deps.bzl."""
load("@bazel_features//:deps.bzl", "bazel_features_deps")
load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies")
load("@build_bazel_apple_support//lib:repositories.bzl", "apple_support_dependencies")
load("@build_bazel_rules_apple//apple:repositories.bzl", "apple_rules_dependencies")
@ -22,6 +23,7 @@ load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps")
load("@envoy_api//bazel:repositories.bzl", "api_dependencies")
load("@google_cloud_cpp//bazel:google_cloud_cpp_deps.bzl", "google_cloud_cpp_deps")
load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies")
load("@rules_proto//proto:repositories.bzl", "rules_proto_dependencies")
load("@rules_python//python:repositories.bzl", "py_repositories")
def grpc_extra_deps(ignore_version_differences = False):
@ -49,10 +51,13 @@ def grpc_extra_deps(ignore_version_differences = False):
"""
protobuf_deps()
rules_proto_dependencies()
bazel_features_deps()
api_dependencies()
go_rules_dependencies()
go_register_toolchains(version = "1.20")
go_register_toolchains(version = "1.22.5")
gazelle_dependencies()
# Pull-in the go 3rd party dependencies for protoc_gen_validate, which is

@ -0,0 +1,73 @@
# Copyright 2024 The 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.
"""
Houses py_grpc_logging_threshold_test.
"""
_COPIED_MAIN_SUFFIX = ".logging_threshold.main"
def py_grpc_logging_threshold_test(
name,
srcs,
main = None,
deps = None,
data = None,
**kwargs):
"""Runs a Python unit test and checks amount of logging against a threshold.
Args:
name: The name of the test.
srcs: The source files.
main: The main file of the test.
deps: The dependencies of the test.
data: The data dependencies of the test.
**kwargs: Any other test arguments.
"""
if main == None:
if len(srcs) != 1:
fail("When main is not provided, srcs must be of size 1.")
main = srcs[0]
deps = [] if deps == None else deps
data = [] if data == None else data
lib_name = name + ".logging_threshold.lib"
native.py_library(
name = lib_name,
srcs = srcs,
)
augmented_deps = deps + [
":{}".format(lib_name),
]
# The main file needs to be in the same package as the test file.
copied_main_name = name + _COPIED_MAIN_SUFFIX
copied_main_filename = copied_main_name + ".py"
native.genrule(
name = copied_main_name,
srcs = ["//bazel:_logging_threshold_test_main.py"],
outs = [copied_main_filename],
cmd = "cp $< $@",
)
native.py_test(
name = name + ".logging_threshold",
args = ["$(location //bazel:_single_module_tester)", name],
data = data + ["//bazel:_single_module_tester"],
deps = augmented_deps,
srcs = [copied_main_filename],
main = copied_main_filename,
python_version = "PY3",
flaky = False,
**kwargs
)

@ -0,0 +1,19 @@
# This patch works around a problem with Windows RBE described in
# https://github.com/bazelbuild/bazel/issues/11636. It can be removed
# once that issue is resolved.
diff --git a/go/private/rules/binary.bzl b/go/private/rules/binary.bzl
index 40a17f4d..2741ad71 100644
--- a/go/private/rules/binary.bzl
+++ b/go/private/rules/binary.bzl
@@ -462,8 +462,9 @@ exit /b %GO_EXIT_CODE%
content = cmd,
)
ctx.actions.run(
- executable = bat,
- inputs = sdk.headers + sdk.tools + sdk.srcs + ctx.files.srcs + [sdk.go],
+ executable = "cmd.exe",
+ arguments = ["/S", "/C", bat.path.replace("/", "\\")],
+ inputs = sdk.headers + sdk.tools + sdk.srcs + ctx.files.srcs + [sdk.go, bat],
outputs = [out, gotmp],
mnemonic = "GoToolchainBinaryBuild",
)

@ -15,6 +15,7 @@ extend-exclude = '''
| test/cpp/naming/resolver_component_tests_runner.py # AUTO-GENERATED
# AUTO-GENERATED from a template:
| grpc_version.py
| python_version.py
| src/python/grpcio/grpc_core_dependencies.py
| src/python/grpcio/grpc/_grpcio_metadata.py
# AUTO-GENERATED BY make_grpcio_tools.py

File diff suppressed because it is too large Load Diff

@ -13,5 +13,5 @@
# limitations under the License.
module GrpcBuildConfig
CORE_WINDOWS_DLL = '/tmp/libs/opt/grpc-43.dll'
CORE_WINDOWS_DLL = '/tmp/libs/opt/grpc-44.dll'
end

@ -12,11 +12,18 @@ settings:
'#08': Use "-preN" suffixes to identify pre-release versions
'#09': Per-language overrides are possible with (eg) ruby_version tag here
'#10': See the expand_version.py for all the quirks here
core_version: 43.0.0
core_version: 44.0.0
csharp_major_version: 2
g_stands_for: gesundheit
protobuf_version: 3.27.2
version: 1.67.0-dev
g_stands_for: groovy
protobuf_version: 3.28.1
supported_python_versions:
- '3.8'
- '3.9'
- '3.10'
- '3.11'
- '3.12'
- '3.13'
version: 1.68.0-dev
configs:
asan:
CC: clang

@ -65,12 +65,11 @@ elseif(gRPC_PROTOBUF_PROVIDER STREQUAL "package")
endif()
if(TARGET protobuf::libprotoc)
set(_gRPC_PROTOBUF_PROTOC_LIBRARIES protobuf::libprotoc)
# extract the include dir from target's properties
get_target_property(_gRPC_PROTOBUF_WELLKNOWN_INCLUDE_DIR protobuf::libprotoc INTERFACE_INCLUDE_DIRECTORIES)
else()
set(_gRPC_PROTOBUF_PROTOC_LIBRARIES ${PROTOBUF_PROTOC_LIBRARIES})
set(_gRPC_PROTOBUF_WELLKNOWN_INCLUDE_DIR ${PROTOBUF_INCLUDE_DIRS})
endif()
# Well-known proto files are expected to be in the Protobuf include directory.
get_target_property(_gRPC_PROTOBUF_WELLKNOWN_INCLUDE_DIR ${_gRPC_PROTOBUF_LIBRARIES} INTERFACE_INCLUDE_DIRECTORIES)
if(TARGET protobuf::protoc)
set(_gRPC_PROTOBUF_PROTOC protobuf::protoc)
if(CMAKE_CROSSCOMPILING)

110
config.m4 generated

@ -86,6 +86,7 @@ if test "$PHP_GRPC" != "no"; then
src/core/ext/transport/chttp2/server/chttp2_server.cc \
src/core/ext/transport/chttp2/transport/bin_decoder.cc \
src/core/ext/transport/chttp2/transport/bin_encoder.cc \
src/core/ext/transport/chttp2/transport/call_tracer_wrapper.cc \
src/core/ext/transport/chttp2/transport/chttp2_transport.cc \
src/core/ext/transport/chttp2/transport/decode_huff.cc \
src/core/ext/transport/chttp2/transport/flow_control.cc \
@ -192,6 +193,7 @@ if test "$PHP_GRPC" != "no"; then
src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb_minitable.c \
src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb_minitable.c \
src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb_minitable.c \
src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb_minitable.c \
src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/cert.upb_minitable.c \
src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb_minitable.c \
src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb_minitable.c \
@ -353,6 +355,7 @@ if test "$PHP_GRPC" != "no"; then
src/core/ext/upbdefs-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c \
src/core/ext/upbdefs-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c \
src/core/ext/upbdefs-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c \
src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upbdefs.c \
src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c \
src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c \
src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c \
@ -432,19 +435,19 @@ if test "$PHP_GRPC" != "no"; then
src/core/ext/upbdefs-gen/xds/type/v3/cel.upbdefs.c \
src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.c \
src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.c \
src/core/filter/blackboard.cc \
src/core/handshaker/endpoint_info/endpoint_info_handshaker.cc \
src/core/handshaker/handshaker.cc \
src/core/handshaker/handshaker_registry.cc \
src/core/handshaker/http_connect/http_connect_handshaker.cc \
src/core/handshaker/http_connect/http_proxy_mapper.cc \
src/core/handshaker/http_connect/xds_http_proxy_mapper.cc \
src/core/handshaker/proxy_mapper_registry.cc \
src/core/handshaker/security/secure_endpoint.cc \
src/core/handshaker/security/security_handshaker.cc \
src/core/handshaker/tcp_connect/tcp_connect_handshaker.cc \
src/core/lib/address_utils/parse_address.cc \
src/core/lib/address_utils/sockaddr_utils.cc \
src/core/lib/backoff/backoff.cc \
src/core/lib/backoff/random_early_detection.cc \
src/core/lib/channel/channel_args.cc \
src/core/lib/channel/channel_args_preconditioning.cc \
src/core/lib/channel/channel_stack.cc \
@ -460,7 +463,6 @@ if test "$PHP_GRPC" != "no"; then
src/core/lib/config/config_vars_non_generated.cc \
src/core/lib/config/core_configuration.cc \
src/core/lib/config/load_config.cc \
src/core/lib/debug/event_log.cc \
src/core/lib/debug/trace.cc \
src/core/lib/debug/trace_flags.cc \
src/core/lib/event_engine/ares_resolver.cc \
@ -512,34 +514,6 @@ if test "$PHP_GRPC" != "no"; then
src/core/lib/event_engine/work_queue/basic_work_queue.cc \
src/core/lib/experiments/config.cc \
src/core/lib/experiments/experiments.cc \
src/core/lib/gprpp/crash.cc \
src/core/lib/gprpp/dump_args.cc \
src/core/lib/gprpp/examine_stack.cc \
src/core/lib/gprpp/fork.cc \
src/core/lib/gprpp/glob.cc \
src/core/lib/gprpp/host_port.cc \
src/core/lib/gprpp/linux/env.cc \
src/core/lib/gprpp/load_file.cc \
src/core/lib/gprpp/mpscq.cc \
src/core/lib/gprpp/per_cpu.cc \
src/core/lib/gprpp/posix/directory_reader.cc \
src/core/lib/gprpp/posix/env.cc \
src/core/lib/gprpp/posix/stat.cc \
src/core/lib/gprpp/posix/thd.cc \
src/core/lib/gprpp/ref_counted_string.cc \
src/core/lib/gprpp/status_helper.cc \
src/core/lib/gprpp/strerror.cc \
src/core/lib/gprpp/tchar.cc \
src/core/lib/gprpp/time.cc \
src/core/lib/gprpp/time_averaged_stats.cc \
src/core/lib/gprpp/time_util.cc \
src/core/lib/gprpp/uuid_v4.cc \
src/core/lib/gprpp/validation_errors.cc \
src/core/lib/gprpp/windows/directory_reader.cc \
src/core/lib/gprpp/windows/env.cc \
src/core/lib/gprpp/windows/stat.cc \
src/core/lib/gprpp/windows/thd.cc \
src/core/lib/gprpp/work_serializer.cc \
src/core/lib/iomgr/buffer_list.cc \
src/core/lib/iomgr/call_combiner.cc \
src/core/lib/iomgr/cfstream_handle.cc \
@ -563,11 +537,6 @@ if test "$PHP_GRPC" != "no"; then
src/core/lib/iomgr/executor.cc \
src/core/lib/iomgr/fork_posix.cc \
src/core/lib/iomgr/fork_windows.cc \
src/core/lib/iomgr/gethostname_fallback.cc \
src/core/lib/iomgr/gethostname_host_name_max.cc \
src/core/lib/iomgr/gethostname_sysconf.cc \
src/core/lib/iomgr/grpc_if_nametoindex_posix.cc \
src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc \
src/core/lib/iomgr/internal_errqueue.cc \
src/core/lib/iomgr/iocp_windows.cc \
src/core/lib/iomgr/iomgr.cc \
@ -616,7 +585,6 @@ if test "$PHP_GRPC" != "no"; then
src/core/lib/iomgr/wakeup_fd_nospecial.cc \
src/core/lib/iomgr/wakeup_fd_pipe.cc \
src/core/lib/iomgr/wakeup_fd_posix.cc \
src/core/lib/matchers/matchers.cc \
src/core/lib/promise/activity.cc \
src/core/lib/promise/party.cc \
src/core/lib/promise/sleep.cc \
@ -736,7 +704,6 @@ if test "$PHP_GRPC" != "no"; then
src/core/lib/transport/timeout_encoding.cc \
src/core/lib/transport/transport.cc \
src/core/lib/transport/transport_op_string.cc \
src/core/lib/uri/uri_parser.cc \
src/core/load_balancing/address_filtering.cc \
src/core/load_balancing/backend_metric_parser.cc \
src/core/load_balancing/child_policy_handler.cc \
@ -766,7 +733,6 @@ if test "$PHP_GRPC" != "no"; then
src/core/load_balancing/xds/xds_wrr_locality.cc \
src/core/plugin_registry/grpc_plugin_registry.cc \
src/core/plugin_registry/grpc_plugin_registry_extra.cc \
src/core/resolver/binder/binder_resolver.cc \
src/core/resolver/dns/c_ares/dns_resolver_ares.cc \
src/core/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc \
src/core/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc \
@ -831,7 +797,21 @@ if test "$PHP_GRPC" != "no"; then
src/core/tsi/transport_security_grpc.cc \
src/core/util/alloc.cc \
src/core/util/atm.cc \
src/core/util/backoff.cc \
src/core/util/crash.cc \
src/core/util/dump_args.cc \
src/core/util/event_log.cc \
src/core/util/examine_stack.cc \
src/core/util/fork.cc \
src/core/util/gcp_metadata_query.cc \
src/core/util/gethostname_fallback.cc \
src/core/util/gethostname_host_name_max.cc \
src/core/util/gethostname_sysconf.cc \
src/core/util/glob.cc \
src/core/util/gpr_time.cc \
src/core/util/grpc_if_nametoindex_posix.cc \
src/core/util/grpc_if_nametoindex_unsupported.cc \
src/core/util/host_port.cc \
src/core/util/http_client/format_request.cc \
src/core/util/http_client/httpcli.cc \
src/core/util/http_client/httpcli_security_connector.cc \
@ -843,24 +823,48 @@ if test "$PHP_GRPC" != "no"; then
src/core/util/json/json_writer.cc \
src/core/util/latent_see.cc \
src/core/util/linux/cpu.cc \
src/core/util/linux/env.cc \
src/core/util/load_file.cc \
src/core/util/log.cc \
src/core/util/matchers.cc \
src/core/util/mpscq.cc \
src/core/util/msys/tmpfile.cc \
src/core/util/per_cpu.cc \
src/core/util/posix/cpu.cc \
src/core/util/posix/directory_reader.cc \
src/core/util/posix/env.cc \
src/core/util/posix/stat.cc \
src/core/util/posix/string.cc \
src/core/util/posix/sync.cc \
src/core/util/posix/thd.cc \
src/core/util/posix/time.cc \
src/core/util/posix/tmpfile.cc \
src/core/util/random_early_detection.cc \
src/core/util/ref_counted_string.cc \
src/core/util/status_helper.cc \
src/core/util/strerror.cc \
src/core/util/string.cc \
src/core/util/sync.cc \
src/core/util/sync_abseil.cc \
src/core/util/tchar.cc \
src/core/util/time.cc \
src/core/util/time_averaged_stats.cc \
src/core/util/time_precise.cc \
src/core/util/time_util.cc \
src/core/util/uri.cc \
src/core/util/uuid_v4.cc \
src/core/util/validation_errors.cc \
src/core/util/windows/cpu.cc \
src/core/util/windows/directory_reader.cc \
src/core/util/windows/env.cc \
src/core/util/windows/stat.cc \
src/core/util/windows/string.cc \
src/core/util/windows/string_util.cc \
src/core/util/windows/sync.cc \
src/core/util/windows/thd.cc \
src/core/util/windows/time.cc \
src/core/util/windows/tmpfile.cc \
src/core/util/work_serializer.cc \
src/core/xds/grpc/certificate_provider_store.cc \
src/core/xds/grpc/file_watcher_certificate_provider_factory.cc \
src/core/xds/grpc/xds_audit_logger_registry.cc \
@ -890,10 +894,11 @@ if test "$PHP_GRPC" != "no"; then
src/core/xds/grpc/xds_routing.cc \
src/core/xds/grpc/xds_server_grpc.cc \
src/core/xds/grpc/xds_transport_grpc.cc \
src/core/xds/xds_client/lrs_client.cc \
src/core/xds/xds_client/xds_api.cc \
src/core/xds/xds_client/xds_backend_metric_propagation.cc \
src/core/xds/xds_client/xds_bootstrap.cc \
src/core/xds/xds_client/xds_client.cc \
src/core/xds/xds_client/xds_client_stats.cc \
src/php/ext/grpc/byte_buffer.c \
src/php/ext/grpc/call.c \
src/php/ext/grpc/call_credentials.c \
@ -927,9 +932,12 @@ if test "$PHP_GRPC" != "no"; then
third_party/abseil-cpp/absl/crc/internal/crc_non_temporal_memcpy.cc \
third_party/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc \
third_party/abseil-cpp/absl/debugging/internal/address_is_readable.cc \
third_party/abseil-cpp/absl/debugging/internal/decode_rust_punycode.cc \
third_party/abseil-cpp/absl/debugging/internal/demangle.cc \
third_party/abseil-cpp/absl/debugging/internal/demangle_rust.cc \
third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc \
third_party/abseil-cpp/absl/debugging/internal/examine_stack.cc \
third_party/abseil-cpp/absl/debugging/internal/utf8_for_code_point.cc \
third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc \
third_party/abseil-cpp/absl/debugging/stacktrace.cc \
third_party/abseil-cpp/absl/debugging/symbolize.cc \
@ -1160,6 +1168,8 @@ if test "$PHP_GRPC" != "no"; then
third_party/boringssl-with-bazel/src/crypto/kyber/kyber.c \
third_party/boringssl-with-bazel/src/crypto/lhash/lhash.c \
third_party/boringssl-with-bazel/src/crypto/mem.c \
third_party/boringssl-with-bazel/src/crypto/mldsa/mldsa.c \
third_party/boringssl-with-bazel/src/crypto/mlkem/mlkem.cc \
third_party/boringssl-with-bazel/src/crypto/obj/obj.c \
third_party/boringssl-with-bazel/src/crypto/obj/obj_xref.c \
third_party/boringssl-with-bazel/src/crypto/pem/pem_all.c \
@ -1180,12 +1190,14 @@ if test "$PHP_GRPC" != "no"; then
third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_vec.c \
third_party/boringssl-with-bazel/src/crypto/pool/pool.c \
third_party/boringssl-with-bazel/src/crypto/rand_extra/deterministic.c \
third_party/boringssl-with-bazel/src/crypto/rand_extra/fork_detect.c \
third_party/boringssl-with-bazel/src/crypto/rand_extra/forkunsafe.c \
third_party/boringssl-with-bazel/src/crypto/rand_extra/getentropy.c \
third_party/boringssl-with-bazel/src/crypto/rand_extra/ios.c \
third_party/boringssl-with-bazel/src/crypto/rand_extra/passive.c \
third_party/boringssl-with-bazel/src/crypto/rand_extra/rand_extra.c \
third_party/boringssl-with-bazel/src/crypto/rand_extra/trusty.c \
third_party/boringssl-with-bazel/src/crypto/rand_extra/urandom.c \
third_party/boringssl-with-bazel/src/crypto/rand_extra/windows.c \
third_party/boringssl-with-bazel/src/crypto/rc4/rc4.c \
third_party/boringssl-with-bazel/src/crypto/refcount.c \
@ -1358,6 +1370,7 @@ if test "$PHP_GRPC" != "no"; then
third_party/upb/upb/message/internal/message.c \
third_party/upb/upb/message/map.c \
third_party/upb/upb/message/map_sorter.c \
third_party/upb/upb/message/merge.c \
third_party/upb/upb/message/message.c \
third_party/upb/upb/mini_descriptor/build_enum.c \
third_party/upb/upb/mini_descriptor/decode.c \
@ -1385,6 +1398,7 @@ if test "$PHP_GRPC" != "no"; then
third_party/upb/upb/reflection/oneof_def.c \
third_party/upb/upb/reflection/service_def.c \
third_party/upb/upb/text/encode.c \
third_party/upb/upb/text/internal/encode.c \
third_party/upb/upb/wire/decode.c \
third_party/upb/upb/wire/encode.c \
third_party/upb/upb/wire/eps_copy_input_stream.c \
@ -1396,7 +1410,7 @@ if test "$PHP_GRPC" != "no"; then
-D_HAS_EXCEPTIONS=0 -DNOMINMAX -DGRPC_ARES=0 \
-DGRPC_POSIX_FORK_ALLOW_PTHREAD_ATFORK=1 \
-DGRPC_XDS_USER_AGENT_NAME_SUFFIX='"\"PHP\""' \
-DGRPC_XDS_USER_AGENT_VERSION_SUFFIX='"\"1.67.0dev\""')
-DGRPC_XDS_USER_AGENT_VERSION_SUFFIX='"\"1.68.0dev\""')
PHP_ADD_BUILD_DIR($ext_builddir/src/core/channelz)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/client_channel)
@ -1447,6 +1461,7 @@ if test "$PHP_GRPC" != "no"; then
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-gen/envoy/service/discovery/v3)
@ -1499,6 +1514,7 @@ if test "$PHP_GRPC" != "no"; then
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/stateful_session/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upbdefs-gen/envoy/extensions/filters/network/http_connection_manager/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upbdefs-gen/envoy/extensions/http/stateful_session/cookie/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/http_11_proxy/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upbdefs-gen/envoy/extensions/upstreams/http/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upbdefs-gen/envoy/service/discovery/v3)
@ -1521,13 +1537,13 @@ if test "$PHP_GRPC" != "no"; then
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upbdefs-gen/xds/core/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upbdefs-gen/xds/type/matcher/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upbdefs-gen/xds/type/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/filter)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/handshaker)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/handshaker/endpoint_info)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/handshaker/http_connect)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/handshaker/security)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/handshaker/tcp_connect)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/address_utils)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/backoff)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/channel)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/compression)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/config)
@ -1540,13 +1556,8 @@ if test "$PHP_GRPC" != "no"; then
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/event_engine/windows)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/event_engine/work_queue)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/experiments)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/gprpp)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/gprpp/linux)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/gprpp/posix)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/gprpp/windows)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/iomgr)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/iomgr/event_engine_shims)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/matchers)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/promise)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/resource_quota)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/security/authorization)
@ -1581,7 +1592,6 @@ if test "$PHP_GRPC" != "no"; then
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/slice)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/surface)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/transport)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/uri)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/load_balancing)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/load_balancing/grpclb)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/load_balancing/outlier_detection)
@ -1595,7 +1605,6 @@ if test "$PHP_GRPC" != "no"; then
PHP_ADD_BUILD_DIR($ext_builddir/src/core/load_balancing/xds)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/plugin_registry)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/resolver)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/resolver/binder)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/resolver/dns)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/resolver/dns/c_ares)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/resolver/dns/event_engine)
@ -1681,6 +1690,8 @@ if test "$PHP_GRPC" != "no"; then
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/keccak)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/kyber)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/lhash)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/mldsa)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/mlkem)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/obj)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/pem)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/pkcs7)
@ -1713,6 +1724,7 @@ if test "$PHP_GRPC" != "no"; then
PHP_ADD_BUILD_DIR($ext_builddir/third_party/upb/upb/reflection)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/upb/upb/reflection/internal)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/upb/upb/text)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/upb/upb/text/internal)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/upb/upb/wire)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/upb/upb/wire/internal)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/utf8_range)

110
config.w32 generated

@ -51,6 +51,7 @@ if (PHP_GRPC != "no") {
"src\\core\\ext\\transport\\chttp2\\server\\chttp2_server.cc " +
"src\\core\\ext\\transport\\chttp2\\transport\\bin_decoder.cc " +
"src\\core\\ext\\transport\\chttp2\\transport\\bin_encoder.cc " +
"src\\core\\ext\\transport\\chttp2\\transport\\call_tracer_wrapper.cc " +
"src\\core\\ext\\transport\\chttp2\\transport\\chttp2_transport.cc " +
"src\\core\\ext\\transport\\chttp2\\transport\\decode_huff.cc " +
"src\\core\\ext\\transport\\chttp2\\transport\\flow_control.cc " +
@ -157,6 +158,7 @@ if (PHP_GRPC != "no") {
"src\\core\\ext\\upb-gen\\envoy\\extensions\\load_balancing_policies\\pick_first\\v3\\pick_first.upb_minitable.c " +
"src\\core\\ext\\upb-gen\\envoy\\extensions\\load_balancing_policies\\ring_hash\\v3\\ring_hash.upb_minitable.c " +
"src\\core\\ext\\upb-gen\\envoy\\extensions\\load_balancing_policies\\wrr_locality\\v3\\wrr_locality.upb_minitable.c " +
"src\\core\\ext\\upb-gen\\envoy\\extensions\\transport_sockets\\http_11_proxy\\v3\\upstream_http_11_connect.upb_minitable.c " +
"src\\core\\ext\\upb-gen\\envoy\\extensions\\transport_sockets\\tls\\v3\\cert.upb_minitable.c " +
"src\\core\\ext\\upb-gen\\envoy\\extensions\\transport_sockets\\tls\\v3\\common.upb_minitable.c " +
"src\\core\\ext\\upb-gen\\envoy\\extensions\\transport_sockets\\tls\\v3\\secret.upb_minitable.c " +
@ -318,6 +320,7 @@ if (PHP_GRPC != "no") {
"src\\core\\ext\\upbdefs-gen\\envoy\\extensions\\filters\\http\\stateful_session\\v3\\stateful_session.upbdefs.c " +
"src\\core\\ext\\upbdefs-gen\\envoy\\extensions\\filters\\network\\http_connection_manager\\v3\\http_connection_manager.upbdefs.c " +
"src\\core\\ext\\upbdefs-gen\\envoy\\extensions\\http\\stateful_session\\cookie\\v3\\cookie.upbdefs.c " +
"src\\core\\ext\\upbdefs-gen\\envoy\\extensions\\transport_sockets\\http_11_proxy\\v3\\upstream_http_11_connect.upbdefs.c " +
"src\\core\\ext\\upbdefs-gen\\envoy\\extensions\\transport_sockets\\tls\\v3\\cert.upbdefs.c " +
"src\\core\\ext\\upbdefs-gen\\envoy\\extensions\\transport_sockets\\tls\\v3\\common.upbdefs.c " +
"src\\core\\ext\\upbdefs-gen\\envoy\\extensions\\transport_sockets\\tls\\v3\\secret.upbdefs.c " +
@ -397,19 +400,19 @@ if (PHP_GRPC != "no") {
"src\\core\\ext\\upbdefs-gen\\xds\\type\\v3\\cel.upbdefs.c " +
"src\\core\\ext\\upbdefs-gen\\xds\\type\\v3\\range.upbdefs.c " +
"src\\core\\ext\\upbdefs-gen\\xds\\type\\v3\\typed_struct.upbdefs.c " +
"src\\core\\filter\\blackboard.cc " +
"src\\core\\handshaker\\endpoint_info\\endpoint_info_handshaker.cc " +
"src\\core\\handshaker\\handshaker.cc " +
"src\\core\\handshaker\\handshaker_registry.cc " +
"src\\core\\handshaker\\http_connect\\http_connect_handshaker.cc " +
"src\\core\\handshaker\\http_connect\\http_proxy_mapper.cc " +
"src\\core\\handshaker\\http_connect\\xds_http_proxy_mapper.cc " +
"src\\core\\handshaker\\proxy_mapper_registry.cc " +
"src\\core\\handshaker\\security\\secure_endpoint.cc " +
"src\\core\\handshaker\\security\\security_handshaker.cc " +
"src\\core\\handshaker\\tcp_connect\\tcp_connect_handshaker.cc " +
"src\\core\\lib\\address_utils\\parse_address.cc " +
"src\\core\\lib\\address_utils\\sockaddr_utils.cc " +
"src\\core\\lib\\backoff\\backoff.cc " +
"src\\core\\lib\\backoff\\random_early_detection.cc " +
"src\\core\\lib\\channel\\channel_args.cc " +
"src\\core\\lib\\channel\\channel_args_preconditioning.cc " +
"src\\core\\lib\\channel\\channel_stack.cc " +
@ -425,7 +428,6 @@ if (PHP_GRPC != "no") {
"src\\core\\lib\\config\\config_vars_non_generated.cc " +
"src\\core\\lib\\config\\core_configuration.cc " +
"src\\core\\lib\\config\\load_config.cc " +
"src\\core\\lib\\debug\\event_log.cc " +
"src\\core\\lib\\debug\\trace.cc " +
"src\\core\\lib\\debug\\trace_flags.cc " +
"src\\core\\lib\\event_engine\\ares_resolver.cc " +
@ -477,34 +479,6 @@ if (PHP_GRPC != "no") {
"src\\core\\lib\\event_engine\\work_queue\\basic_work_queue.cc " +
"src\\core\\lib\\experiments\\config.cc " +
"src\\core\\lib\\experiments\\experiments.cc " +
"src\\core\\lib\\gprpp\\crash.cc " +
"src\\core\\lib\\gprpp\\dump_args.cc " +
"src\\core\\lib\\gprpp\\examine_stack.cc " +
"src\\core\\lib\\gprpp\\fork.cc " +
"src\\core\\lib\\gprpp\\glob.cc " +
"src\\core\\lib\\gprpp\\host_port.cc " +
"src\\core\\lib\\gprpp\\linux\\env.cc " +
"src\\core\\lib\\gprpp\\load_file.cc " +
"src\\core\\lib\\gprpp\\mpscq.cc " +
"src\\core\\lib\\gprpp\\per_cpu.cc " +
"src\\core\\lib\\gprpp\\posix\\directory_reader.cc " +
"src\\core\\lib\\gprpp\\posix\\env.cc " +
"src\\core\\lib\\gprpp\\posix\\stat.cc " +
"src\\core\\lib\\gprpp\\posix\\thd.cc " +
"src\\core\\lib\\gprpp\\ref_counted_string.cc " +
"src\\core\\lib\\gprpp\\status_helper.cc " +
"src\\core\\lib\\gprpp\\strerror.cc " +
"src\\core\\lib\\gprpp\\tchar.cc " +
"src\\core\\lib\\gprpp\\time.cc " +
"src\\core\\lib\\gprpp\\time_averaged_stats.cc " +
"src\\core\\lib\\gprpp\\time_util.cc " +
"src\\core\\lib\\gprpp\\uuid_v4.cc " +
"src\\core\\lib\\gprpp\\validation_errors.cc " +
"src\\core\\lib\\gprpp\\windows\\directory_reader.cc " +
"src\\core\\lib\\gprpp\\windows\\env.cc " +
"src\\core\\lib\\gprpp\\windows\\stat.cc " +
"src\\core\\lib\\gprpp\\windows\\thd.cc " +
"src\\core\\lib\\gprpp\\work_serializer.cc " +
"src\\core\\lib\\iomgr\\buffer_list.cc " +
"src\\core\\lib\\iomgr\\call_combiner.cc " +
"src\\core\\lib\\iomgr\\cfstream_handle.cc " +
@ -528,11 +502,6 @@ if (PHP_GRPC != "no") {
"src\\core\\lib\\iomgr\\executor.cc " +
"src\\core\\lib\\iomgr\\fork_posix.cc " +
"src\\core\\lib\\iomgr\\fork_windows.cc " +
"src\\core\\lib\\iomgr\\gethostname_fallback.cc " +
"src\\core\\lib\\iomgr\\gethostname_host_name_max.cc " +
"src\\core\\lib\\iomgr\\gethostname_sysconf.cc " +
"src\\core\\lib\\iomgr\\grpc_if_nametoindex_posix.cc " +
"src\\core\\lib\\iomgr\\grpc_if_nametoindex_unsupported.cc " +
"src\\core\\lib\\iomgr\\internal_errqueue.cc " +
"src\\core\\lib\\iomgr\\iocp_windows.cc " +
"src\\core\\lib\\iomgr\\iomgr.cc " +
@ -581,7 +550,6 @@ if (PHP_GRPC != "no") {
"src\\core\\lib\\iomgr\\wakeup_fd_nospecial.cc " +
"src\\core\\lib\\iomgr\\wakeup_fd_pipe.cc " +
"src\\core\\lib\\iomgr\\wakeup_fd_posix.cc " +
"src\\core\\lib\\matchers\\matchers.cc " +
"src\\core\\lib\\promise\\activity.cc " +
"src\\core\\lib\\promise\\party.cc " +
"src\\core\\lib\\promise\\sleep.cc " +
@ -701,7 +669,6 @@ if (PHP_GRPC != "no") {
"src\\core\\lib\\transport\\timeout_encoding.cc " +
"src\\core\\lib\\transport\\transport.cc " +
"src\\core\\lib\\transport\\transport_op_string.cc " +
"src\\core\\lib\\uri\\uri_parser.cc " +
"src\\core\\load_balancing\\address_filtering.cc " +
"src\\core\\load_balancing\\backend_metric_parser.cc " +
"src\\core\\load_balancing\\child_policy_handler.cc " +
@ -731,7 +698,6 @@ if (PHP_GRPC != "no") {
"src\\core\\load_balancing\\xds\\xds_wrr_locality.cc " +
"src\\core\\plugin_registry\\grpc_plugin_registry.cc " +
"src\\core\\plugin_registry\\grpc_plugin_registry_extra.cc " +
"src\\core\\resolver\\binder\\binder_resolver.cc " +
"src\\core\\resolver\\dns\\c_ares\\dns_resolver_ares.cc " +
"src\\core\\resolver\\dns\\c_ares\\grpc_ares_ev_driver_posix.cc " +
"src\\core\\resolver\\dns\\c_ares\\grpc_ares_ev_driver_windows.cc " +
@ -796,7 +762,21 @@ if (PHP_GRPC != "no") {
"src\\core\\tsi\\transport_security_grpc.cc " +
"src\\core\\util\\alloc.cc " +
"src\\core\\util\\atm.cc " +
"src\\core\\util\\backoff.cc " +
"src\\core\\util\\crash.cc " +
"src\\core\\util\\dump_args.cc " +
"src\\core\\util\\event_log.cc " +
"src\\core\\util\\examine_stack.cc " +
"src\\core\\util\\fork.cc " +
"src\\core\\util\\gcp_metadata_query.cc " +
"src\\core\\util\\gethostname_fallback.cc " +
"src\\core\\util\\gethostname_host_name_max.cc " +
"src\\core\\util\\gethostname_sysconf.cc " +
"src\\core\\util\\glob.cc " +
"src\\core\\util\\gpr_time.cc " +
"src\\core\\util\\grpc_if_nametoindex_posix.cc " +
"src\\core\\util\\grpc_if_nametoindex_unsupported.cc " +
"src\\core\\util\\host_port.cc " +
"src\\core\\util\\http_client\\format_request.cc " +
"src\\core\\util\\http_client\\httpcli.cc " +
"src\\core\\util\\http_client\\httpcli_security_connector.cc " +
@ -808,24 +788,48 @@ if (PHP_GRPC != "no") {
"src\\core\\util\\json\\json_writer.cc " +
"src\\core\\util\\latent_see.cc " +
"src\\core\\util\\linux\\cpu.cc " +
"src\\core\\util\\linux\\env.cc " +
"src\\core\\util\\load_file.cc " +
"src\\core\\util\\log.cc " +
"src\\core\\util\\matchers.cc " +
"src\\core\\util\\mpscq.cc " +
"src\\core\\util\\msys\\tmpfile.cc " +
"src\\core\\util\\per_cpu.cc " +
"src\\core\\util\\posix\\cpu.cc " +
"src\\core\\util\\posix\\directory_reader.cc " +
"src\\core\\util\\posix\\env.cc " +
"src\\core\\util\\posix\\stat.cc " +
"src\\core\\util\\posix\\string.cc " +
"src\\core\\util\\posix\\sync.cc " +
"src\\core\\util\\posix\\thd.cc " +
"src\\core\\util\\posix\\time.cc " +
"src\\core\\util\\posix\\tmpfile.cc " +
"src\\core\\util\\random_early_detection.cc " +
"src\\core\\util\\ref_counted_string.cc " +
"src\\core\\util\\status_helper.cc " +
"src\\core\\util\\strerror.cc " +
"src\\core\\util\\string.cc " +
"src\\core\\util\\sync.cc " +
"src\\core\\util\\sync_abseil.cc " +
"src\\core\\util\\tchar.cc " +
"src\\core\\util\\time.cc " +
"src\\core\\util\\time_averaged_stats.cc " +
"src\\core\\util\\time_precise.cc " +
"src\\core\\util\\time_util.cc " +
"src\\core\\util\\uri.cc " +
"src\\core\\util\\uuid_v4.cc " +
"src\\core\\util\\validation_errors.cc " +
"src\\core\\util\\windows\\cpu.cc " +
"src\\core\\util\\windows\\directory_reader.cc " +
"src\\core\\util\\windows\\env.cc " +
"src\\core\\util\\windows\\stat.cc " +
"src\\core\\util\\windows\\string.cc " +
"src\\core\\util\\windows\\string_util.cc " +
"src\\core\\util\\windows\\sync.cc " +
"src\\core\\util\\windows\\thd.cc " +
"src\\core\\util\\windows\\time.cc " +
"src\\core\\util\\windows\\tmpfile.cc " +
"src\\core\\util\\work_serializer.cc " +
"src\\core\\xds\\grpc\\certificate_provider_store.cc " +
"src\\core\\xds\\grpc\\file_watcher_certificate_provider_factory.cc " +
"src\\core\\xds\\grpc\\xds_audit_logger_registry.cc " +
@ -855,10 +859,11 @@ if (PHP_GRPC != "no") {
"src\\core\\xds\\grpc\\xds_routing.cc " +
"src\\core\\xds\\grpc\\xds_server_grpc.cc " +
"src\\core\\xds\\grpc\\xds_transport_grpc.cc " +
"src\\core\\xds\\xds_client\\lrs_client.cc " +
"src\\core\\xds\\xds_client\\xds_api.cc " +
"src\\core\\xds\\xds_client\\xds_backend_metric_propagation.cc " +
"src\\core\\xds\\xds_client\\xds_bootstrap.cc " +
"src\\core\\xds\\xds_client\\xds_client.cc " +
"src\\core\\xds\\xds_client\\xds_client_stats.cc " +
"src\\php\\ext\\grpc\\byte_buffer.c " +
"src\\php\\ext\\grpc\\call.c " +
"src\\php\\ext\\grpc\\call_credentials.c " +
@ -892,9 +897,12 @@ if (PHP_GRPC != "no") {
"third_party\\abseil-cpp\\absl\\crc\\internal\\crc_non_temporal_memcpy.cc " +
"third_party\\abseil-cpp\\absl\\crc\\internal\\crc_x86_arm_combined.cc " +
"third_party\\abseil-cpp\\absl\\debugging\\internal\\address_is_readable.cc " +
"third_party\\abseil-cpp\\absl\\debugging\\internal\\decode_rust_punycode.cc " +
"third_party\\abseil-cpp\\absl\\debugging\\internal\\demangle.cc " +
"third_party\\abseil-cpp\\absl\\debugging\\internal\\demangle_rust.cc " +
"third_party\\abseil-cpp\\absl\\debugging\\internal\\elf_mem_image.cc " +
"third_party\\abseil-cpp\\absl\\debugging\\internal\\examine_stack.cc " +
"third_party\\abseil-cpp\\absl\\debugging\\internal\\utf8_for_code_point.cc " +
"third_party\\abseil-cpp\\absl\\debugging\\internal\\vdso_support.cc " +
"third_party\\abseil-cpp\\absl\\debugging\\stacktrace.cc " +
"third_party\\abseil-cpp\\absl\\debugging\\symbolize.cc " +
@ -1125,6 +1133,8 @@ if (PHP_GRPC != "no") {
"third_party\\boringssl-with-bazel\\src\\crypto\\kyber\\kyber.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\lhash\\lhash.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\mem.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\mldsa\\mldsa.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\mlkem\\mlkem.cc " +
"third_party\\boringssl-with-bazel\\src\\crypto\\obj\\obj.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\obj\\obj_xref.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\pem\\pem_all.c " +
@ -1145,12 +1155,14 @@ if (PHP_GRPC != "no") {
"third_party\\boringssl-with-bazel\\src\\crypto\\poly1305\\poly1305_vec.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\pool\\pool.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\rand_extra\\deterministic.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\rand_extra\\fork_detect.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\rand_extra\\forkunsafe.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\rand_extra\\getentropy.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\rand_extra\\ios.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\rand_extra\\passive.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\rand_extra\\rand_extra.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\rand_extra\\trusty.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\rand_extra\\urandom.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\rand_extra\\windows.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\rc4\\rc4.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\refcount.c " +
@ -1323,6 +1335,7 @@ if (PHP_GRPC != "no") {
"third_party\\upb\\upb\\message\\internal\\message.c " +
"third_party\\upb\\upb\\message\\map.c " +
"third_party\\upb\\upb\\message\\map_sorter.c " +
"third_party\\upb\\upb\\message\\merge.c " +
"third_party\\upb\\upb\\message\\message.c " +
"third_party\\upb\\upb\\mini_descriptor\\build_enum.c " +
"third_party\\upb\\upb\\mini_descriptor\\decode.c " +
@ -1350,6 +1363,7 @@ if (PHP_GRPC != "no") {
"third_party\\upb\\upb\\reflection\\oneof_def.c " +
"third_party\\upb\\upb\\reflection\\service_def.c " +
"third_party\\upb\\upb\\text\\encode.c " +
"third_party\\upb\\upb\\text\\internal\\encode.c " +
"third_party\\upb\\upb\\wire\\decode.c " +
"third_party\\upb\\upb\\wire\\encode.c " +
"third_party\\upb\\upb\\wire\\eps_copy_input_stream.c " +
@ -1487,6 +1501,8 @@ if (PHP_GRPC != "no") {
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-gen\\envoy\\extensions\\load_balancing_policies\\wrr_locality");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-gen\\envoy\\extensions\\load_balancing_policies\\wrr_locality\\v3");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-gen\\envoy\\extensions\\transport_sockets");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-gen\\envoy\\extensions\\transport_sockets\\http_11_proxy");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-gen\\envoy\\extensions\\transport_sockets\\http_11_proxy\\v3");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-gen\\envoy\\extensions\\transport_sockets\\tls");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-gen\\envoy\\extensions\\transport_sockets\\tls\\v3");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-gen\\envoy\\extensions\\upstreams");
@ -1610,6 +1626,8 @@ if (PHP_GRPC != "no") {
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-gen\\envoy\\extensions\\http\\stateful_session\\cookie");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-gen\\envoy\\extensions\\http\\stateful_session\\cookie\\v3");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-gen\\envoy\\extensions\\transport_sockets");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-gen\\envoy\\extensions\\transport_sockets\\http_11_proxy");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-gen\\envoy\\extensions\\transport_sockets\\http_11_proxy\\v3");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-gen\\envoy\\extensions\\transport_sockets\\tls");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-gen\\envoy\\extensions\\transport_sockets\\tls\\v3");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-gen\\envoy\\extensions\\upstreams");
@ -1659,6 +1677,7 @@ if (PHP_GRPC != "no") {
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-gen\\xds\\type\\matcher");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-gen\\xds\\type\\matcher\\v3");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-gen\\xds\\type\\v3");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\filter");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\handshaker");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\handshaker\\endpoint_info");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\handshaker\\http_connect");
@ -1666,7 +1685,6 @@ if (PHP_GRPC != "no") {
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\handshaker\\tcp_connect");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\address_utils");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\backoff");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\channel");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\compression");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\config");
@ -1679,13 +1697,8 @@ if (PHP_GRPC != "no") {
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\event_engine\\windows");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\event_engine\\work_queue");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\experiments");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\gprpp");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\gprpp\\linux");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\gprpp\\posix");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\gprpp\\windows");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\iomgr");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\iomgr\\event_engine_shims");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\matchers");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\promise");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\resource_quota");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\security");
@ -1721,7 +1734,6 @@ if (PHP_GRPC != "no") {
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\slice");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\surface");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\transport");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\uri");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\load_balancing");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\load_balancing\\grpclb");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\load_balancing\\outlier_detection");
@ -1735,7 +1747,6 @@ if (PHP_GRPC != "no") {
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\load_balancing\\xds");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\plugin_registry");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\resolver");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\resolver\\binder");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\resolver\\dns");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\resolver\\dns\\c_ares");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\resolver\\dns\\event_engine");
@ -1836,6 +1847,8 @@ if (PHP_GRPC != "no") {
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\keccak");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\kyber");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\lhash");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\mldsa");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\mlkem");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\obj");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\pem");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\pkcs7");
@ -1872,6 +1885,7 @@ if (PHP_GRPC != "no") {
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\upb\\upb\\reflection");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\upb\\upb\\reflection\\internal");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\upb\\upb\\text");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\upb\\upb\\text\\internal");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\upb\\upb\\wire");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\upb\\upb\\wire\\internal");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\utf8_range");

@ -66,4 +66,5 @@
- 1.64 'g' stands for ['grateful'](https://github.com/grpc/grpc/tree/v1.64.x)
- 1.65 'g' stands for ['gnarly'](https://github.com/grpc/grpc/tree/v1.65.x)
- 1.66 'g' stands for ['gladiator'](https://github.com/grpc/grpc/tree/v1.66.x)
- 1.67 'g' stands for ['gesundheit'](https://github.com/grpc/grpc/tree/master)
- 1.67 'g' stands for ['gesundheit'](https://github.com/grpc/grpc/tree/v1.67.x)
- 1.68 'g' stands for ['groovy'](https://github.com/grpc/grpc/tree/master)

@ -81,3 +81,5 @@ LRS Custom Metrics Support | [A64](https://github.com/grpc/proposal/blob/master/
mTLS Credentials in xDS Bootstrap File | [A65](https://github.com/grpc/proposal/blob/master/A65-xds-mtls-creds-in-bootstrap.md) | v1.65.0 | | v1.61.0 | |
Stateful Session Affinity | [A55](https://github.com/grpc/proposal/blob/master/A55-xds-stateful-session-affinity.md), [A60](https://github.com/grpc/proposal/blob/master/A60-xds-stateful-session-affinity-weighted-clusters.md), [A75](https://github.com/grpc/proposal/blob/master/A75-xds-aggregate-cluster-behavior-fixes.md) | v1.61.0 | | | |
xDS Locality label for OpenTelemetry metrics | [A78](https://github.com/grpc/proposal/blob/master/A78-grpc-metrics-wrr-pf-xds.md) | v1.63.0 (C++) | v1.64.0 | | |
xDS Fallback | [A71](https://github.com/grpc/proposal/blob/master/A71-xds-fallback.md) | v1.67.0 | | | |
Dualstack Backend Support | [A61](https://github.com/grpc/proposal/blob/master/A61-IPv4-IPv6-dualstack-backends.md) | v1.66.1 | | | |

@ -34,12 +34,12 @@ Most gRPC implementations support the following URI schemes:
resolver does not support this, but the c-ares based resolver
supports specifying this in the form "IP:port".)
- `unix:path`, `unix://absolute_path` -- Unix domain sockets (Unix systems only)
- `unix:path`, `unix:///absolute_path` -- Unix domain sockets (Unix systems only)
- `path` indicates the location of the desired socket.
- In the first form, the path may be relative or absolute; in the
second form, the path must be absolute (i.e., there will actually be
three slashes, two prior to the path and another to begin the
absolute path).
second form, the path must be absolute (i.e., the last of the three
slashes is actually part of the path, so the path part of the URI is
`/absolute_path`).
- `unix-abstract:abstract_path` -- Unix domain socket in abstract namespace (Unix systems only)
- `abstract_path` indicates a name in the abstract namespace.

@ -1,24 +0,0 @@
# gRPC-core BinderTransport example apps
## Build Instruction
1. Install Android SDK and NDK. Only NDK version >= 25 is supported. We tested against SDK Platform `33` and NDK `26.2.11394342`.
2. Make sure Bazel is at least `7.0`. Use `export OVERRIDE_BAZEL_VERSION=7.3.1` to selected a supported version listed in `bazel/supported_versions.txt` if necessary.
3. Point environment variables to install locations of SDK and NDK
```
export ANDROID_HOME=$HOME/android-sdk
export ANDROID_NDK_HOME=$HOME/android-sdk/ndk/26.2.11394342
```
4. To build a fat APK that supports `x86_64`, `armv7`, and `arm64`:
```
bazel build \
--extra_toolchains=@androidndk//:all \
--android_platforms=//bazel/platforms/android:x86_64,//bazel/platforms/android:armeabi-v7a,//bazel/platforms/android:arm64-v8a \
--copt=-Wno-unknown-warning-option \
//examples/android/binder/java/io/grpc/binder/cpp/exampleserver:app \
//examples/android/binder/java/io/grpc/binder/cpp/exampleclient:app
```
5. `adb install
bazel-bin/examples/android/binder/java/io/grpc/binder/cpp/exampleclient/app.apk`
6. `adb install
bazel-bin/examples/android/binder/java/io/grpc/binder/cpp/exampleserver/app.apk`

@ -1,25 +0,0 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="io.grpc.binder.cpp.exampleclient"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="29"
android:targetSdkVersion="30" />
<queries>
<package android:name="io.grpc.binder.cpp.exampleserver" />
</queries>
<application
android:label="gRPC BinderTransport Client Cpp">
<activity
android:name=".MainActivity"
android:label="gRPC BinderTransport Client Cpp" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>

@ -1,51 +0,0 @@
# Copyright 2021 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.
cc_library(
name = "jni_lib",
srcs = ["native.cc"],
linkopts = [
"-ldl",
"-llog",
"-lm",
"-Wl,--no-undefined",
],
deps = [
"//:grpc++",
"//examples/protos:helloworld_cc_grpc",
],
alwayslink = True,
)
android_library(
name = "activity",
srcs = [
"ButtonPressHandler.java",
"MainActivity.java",
],
manifest = "AndroidManifest.xml",
resource_files = glob(["res/**"]),
deps = [
":jni_lib",
"@binder_transport_android_helper//io/grpc/binder/cpp:connection_helper",
],
)
android_binary(
name = "app",
manifest = "AndroidManifest.xml",
deps = [
":activity",
],
)

@ -1,15 +0,0 @@
package io.grpc.binder.cpp.exampleclient;
import android.app.Application;
public class ButtonPressHandler {
static {
System.loadLibrary("app");
}
public native String native_entry(Application application);
public String onPressed(Application application) {
return native_entry(application);
}
}

@ -1,26 +0,0 @@
package io.grpc.binder.cpp.exampleclient;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.Button;
import android.widget.TextView;
/** Main class for the example app. */
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.v("Example", "hello, world");
setContentView(R.layout.activity_main);
Button clickMeButton = findViewById(R.id.clickMeButton);
TextView exampleTextView = findViewById(R.id.exampleTextView);
ButtonPressHandler h = new ButtonPressHandler();
clickMeButton.setOnClickListener(
v -> exampleTextView.setText(h.onPressed(getApplication())));
}
}

@ -1,73 +0,0 @@
// Copyright 2021 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.
#include <android/log.h>
#include <jni.h>
#include "examples/protos/helloworld.grpc.pb.h"
#include "examples/protos/helloworld.pb.h"
#include <grpcpp/create_channel_binder.h>
#include <grpcpp/security/binder_security_policy.h>
extern "C" JNIEXPORT jstring JNICALL
Java_io_grpc_binder_cpp_exampleclient_ButtonPressHandler_native_1entry(
JNIEnv* env, jobject /*this*/, jobject application) {
// Lower the gRPC logging level, here it is just for demo and debugging
// purpose.
setenv("GRPC_VERBOSITY", "INFO", true);
if (grpc::experimental::InitializeBinderChannelJavaClass(env)) {
__android_log_print(ANDROID_LOG_INFO, "DemoClient",
"InitializeBinderChannelJavaClass succeed");
} else {
__android_log_print(ANDROID_LOG_INFO, "DemoClient",
"InitializeBinderChannelJavaClass failed");
}
static bool first = true;
static std::shared_ptr<grpc::Channel> channel;
if (first) {
first = false;
JavaVM* jvm;
{
jint result = env->GetJavaVM(&jvm);
assert(result == 0);
}
grpc::ChannelArguments ch_args;
// This is not required since "grpc.io.action.BIND" is already the default.
ch_args.SetString("grpc.binder.custom_android_intent_action_name",
"grpc.io.action.BIND");
channel = grpc::experimental::CreateCustomBinderChannel(
env, application, "io.grpc.binder.cpp.exampleserver",
"io.grpc.binder.cpp.exampleserver.ExportedEndpointService",
std::make_shared<
grpc::experimental::binder::SameSignatureSecurityPolicy>(
jvm, application),
ch_args);
return env->NewStringUTF("Clicked 1 time, channel created");
} else {
auto stub = helloworld::Greeter::NewStub(channel);
grpc::ClientContext context;
helloworld::HelloRequest request;
helloworld::HelloReply response;
request.set_name("BinderTransportClient");
grpc::Status status = stub->SayHello(&context, request, &response);
if (status.ok()) {
return env->NewStringUTF(response.message().c_str());
}
return env->NewStringUTF(
std::string("Clicked more than 1 time. Status not ok " +
std::to_string(status.error_code()))
.c_str());
}
}

@ -1,24 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:padding="16dp"
android:orientation="vertical"
android:gravity="center_vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/exampleTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:textSize="32dp"
android:text="@string/thinking_face"/>
<Button
android:id="@+id/clickMeButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="16dp"
android:text="@string/click_me_button"/>
</LinearLayout>

@ -1,5 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="click_me_button">Run example</string>
<string name="thinking_face">🤔</string>
</resources>

@ -1,21 +0,0 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="io.grpc.binder.cpp.exampleserver"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="29"
android:targetSdkVersion="30" />
<application
android:label="gRPC BinderTransport Server Cpp">
<activity
android:name=".MainActivity"
android:label="gRPC BinderTransport Server Cpp" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>

@ -1,10 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="io.grpc.binder.cpp.exampleserver">
<uses-sdk android:minSdkVersion="29" android:targetSdkVersion="30"/>
<application>
<service
android:name=".ExportedEndpointService"
android:exported="true"/>
</application>
</manifest>

@ -1,61 +0,0 @@
# Copyright 2021 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.
cc_library(
name = "jni_lib",
srcs = ["native.cc"],
linkopts = [
"-ldl",
"-llog",
"-lm",
"-Wl,--no-undefined",
],
deps = [
"//:grpc++",
"//examples/protos:helloworld_cc_grpc",
],
alwayslink = True,
)
android_library(
name = "activity",
srcs = [
"ButtonPressHandler.java",
"MainActivity.java",
],
manifest = "AndroidManifest.xml",
resource_files = glob(["res/**"]),
deps = [
":endpoint",
":jni_lib",
],
)
android_library(
name = "endpoint",
srcs = ["ExportedEndpointService.java"],
exports_manifest = True,
manifest = "AndroidManifest_endpoint.xml",
deps = [
"@binder_transport_android_helper//io/grpc/binder/cpp:connection_helper",
],
)
android_binary(
name = "app",
manifest = "AndroidManifest.xml",
deps = [
":activity",
],
)

@ -1,13 +0,0 @@
package io.grpc.binder.cpp.exampleserver;
import android.app.Application;
public class ButtonPressHandler {
static {
System.loadLibrary("app");
}
public String onPressed(Application application) {
return "Server Button Pressed";
}
}

@ -1,26 +0,0 @@
package io.grpc.binder.cpp.exampleserver;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.content.Context;
import io.grpc.binder.cpp.GrpcCppServerBuilder;
/** Exposes gRPC services running in the main process */
public final class ExportedEndpointService extends Service {
static {
System.loadLibrary("app");
}
public ExportedEndpointService() {
init_grpc_server(this);
}
@Override
public IBinder onBind(Intent intent) {
// The argument should match the URI passed into grpc::ServerBuilder::AddListeningPort
return GrpcCppServerBuilder.GetEndpointBinder("binder:example.service");
}
public native void init_grpc_server(Context context);
}

@ -1,27 +0,0 @@
package io.grpc.binder.cpp.exampleserver;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.Button;
import android.widget.TextView;
import io.grpc.binder.cpp.exampleserver.R;
/** Main class for the example app. */
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.v("Example", "hello, world");
setContentView(R.layout.activity_main);
Button clickMeButton = findViewById(R.id.clickMeButton);
TextView exampleTextView = findViewById(R.id.exampleTextView);
ButtonPressHandler h = new ButtonPressHandler();
clickMeButton.setOnClickListener(
v -> exampleTextView.setText(h.onPressed(getApplication())));
}
}

@ -1,83 +0,0 @@
// Copyright 2021 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.
#include <android/log.h>
#include <jni.h>
#include "examples/protos/helloworld.grpc.pb.h"
#include "examples/protos/helloworld.pb.h"
#include <grpcpp/create_channel_binder.h>
#include <grpcpp/grpcpp.h>
#include <grpcpp/security/binder_credentials.h>
#include <grpcpp/security/binder_security_policy.h>
namespace {
class GreeterService : public helloworld::Greeter::Service {
public:
grpc::Status SayHello(grpc::ServerContext*,
const helloworld::HelloRequest* request,
helloworld::HelloReply* response) override {
__android_log_print(ANDROID_LOG_INFO, "DemoServer", "Line number %d",
__LINE__);
__android_log_print(ANDROID_LOG_INFO, "DemoServer", "Got hello request: %s",
request->name().c_str());
response->set_message("Hi, " + request->name());
return grpc::Status::OK;
}
};
} // namespace
extern "C" JNIEXPORT void JNICALL
Java_io_grpc_binder_cpp_exampleserver_ExportedEndpointService_init_1grpc_1server(
JNIEnv* env, jobject /*this*/, jobject context) {
// Lower the gRPC logging level, here it is just for demo and debugging
// purpose.
setenv("GRPC_VERBOSITY", "INFO", true);
__android_log_print(ANDROID_LOG_INFO, "DemoServer", "Line number %d",
__LINE__);
static std::unique_ptr<grpc::Server> server = nullptr;
if (server != nullptr) {
// Already initiated
return;
}
if (grpc::experimental::InitializeBinderChannelJavaClass(env)) {
__android_log_print(ANDROID_LOG_INFO, "DemoServer",
"InitializeBinderChannelJavaClass succeed");
} else {
__android_log_print(ANDROID_LOG_INFO, "DemoServer",
"InitializeBinderChannelJavaClass failed");
}
static GreeterService service;
grpc::ServerBuilder server_builder;
server_builder.RegisterService(&service);
JavaVM* jvm;
{
jint result = env->GetJavaVM(&jvm);
assert(result == 0);
}
server_builder.AddListeningPort(
"binder:example.service",
grpc::experimental::BinderServerCredentials(
std::make_shared<
grpc::experimental::binder::SameSignatureSecurityPolicy>(
jvm, context)));
server = server_builder.BuildAndStart();
}

@ -1,24 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:padding="16dp"
android:orientation="vertical"
android:gravity="center_vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/exampleTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:textSize="32dp"
android:text="@string/thinking_face"/>
<Button
android:id="@+id/clickMeButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="16dp"
android:text="@string/click_me_button"/>
</LinearLayout>

@ -1,5 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="click_me_button">Run example</string>
<string name="thinking_face">🤔</string>
</resources>

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.16)
set(helloworld_PROTOBUF_PROTOC_EXECUTABLE "/usr/local/bin/protoc" CACHE STRING "Protoc binary on host")
set(helloworld_GRPC_CPP_PLUGIN_EXECUTABLE "/usr/local/bin/grpc_cpp_plugin" CACHE STRING "gRPC CPP plugin binary on host")

@ -17,7 +17,7 @@
# See cmake_externalproject/CMakeLists.txt for all-in-one cmake build
# that automatically builds all the dependencies before building keyvaluestore.
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.16)
project(Cancellation C CXX)

@ -16,6 +16,8 @@
*
*/
#include <grpcpp/grpcpp.h>
#include <condition_variable>
#include <iostream>
#include <memory>
@ -26,8 +28,6 @@
#include "absl/flags/parse.h"
#include "helper.h"
#include <grpcpp/grpcpp.h>
#ifdef BAZEL_BUILD
#include "examples/protos/helloworld.grpc.pb.h"
#else

@ -12,6 +12,8 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include <grpcpp/grpcpp.h>
#include <iostream>
#include <memory>
#include <string>
@ -21,8 +23,6 @@
#include "absl/strings/str_format.h"
#include "helper.h"
#include <grpcpp/grpcpp.h>
#ifdef BAZEL_BUILD
#include "examples/protos/helloworld.grpc.pb.h"
#else

@ -17,7 +17,7 @@
# See cmake_externalproject/CMakeLists.txt for all-in-one cmake build
# that automatically builds all the dependencies before building keyvaluestore.
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.16)
project(Cancellation C CXX)

@ -12,6 +12,8 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include <grpcpp/grpcpp.h>
#include <condition_variable>
#include <iostream>
#include <memory>
@ -23,8 +25,6 @@
#include "absl/flags/parse.h"
#include "absl/strings/str_cat.h"
#include <grpcpp/grpcpp.h>
#ifdef BAZEL_BUILD
#include "examples/protos/helloworld.grpc.pb.h"
#else

@ -12,6 +12,8 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include <grpcpp/grpcpp.h>
#include <iostream>
#include <memory>
#include <string>
@ -21,8 +23,6 @@
#include "absl/flags/parse.h"
#include "absl/strings/str_format.h"
#include <grpcpp/grpcpp.h>
#ifdef BAZEL_BUILD
#include "examples/protos/helloworld.grpc.pb.h"
#else

@ -17,7 +17,7 @@
# See cmake_externalproject/CMakeLists.txt for all-in-one cmake build
# that automatically builds all the dependencies before building route_guide.
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.16)
if(MSVC)
add_definitions(-D_WIN32_WINNT=0x600)

@ -17,7 +17,7 @@
# See cmake_externalproject/CMakeLists.txt for all-in-one cmake build
# that automatically builds all the dependencies before building helloworld.
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.16)
project(Compression C CXX)

@ -16,12 +16,12 @@
*
*/
#include <grpcpp/grpcpp.h>
#include <iostream>
#include <memory>
#include <string>
#include <grpcpp/grpcpp.h>
#ifdef BAZEL_BUILD
#include "examples/protos/helloworld.grpc.pb.h"
#else

@ -16,12 +16,12 @@
*
*/
#include <grpcpp/grpcpp.h>
#include <iostream>
#include <memory>
#include <string>
#include <grpcpp/grpcpp.h>
#ifdef BAZEL_BUILD
#include "examples/protos/helloworld.grpc.pb.h"
#else

@ -16,6 +16,9 @@
*
*/
#include <grpcpp/ext/csm_observability.h>
#include <grpcpp/grpcpp.h>
#include <grpcpp/support/string_ref.h>
#include <sys/types.h>
#include <chrono>
@ -34,10 +37,6 @@
#include "opentelemetry/exporters/prometheus/exporter_options.h"
#include "opentelemetry/sdk/metrics/meter_provider.h"
#include <grpcpp/ext/csm_observability.h>
#include <grpcpp/grpcpp.h>
#include <grpcpp/support/string_ref.h>
#ifdef BAZEL_BUILD
#include "examples/protos/helloworld.grpc.pb.h"
#else

@ -16,6 +16,13 @@
*
*/
#include <grpcpp/ext/admin_services.h>
#include <grpcpp/ext/csm_observability.h>
#include <grpcpp/ext/proto_server_reflection_plugin.h>
#include <grpcpp/grpcpp.h>
#include <grpcpp/health_check_service_interface.h>
#include <grpcpp/xds_server_builder.h>
#include <iostream>
#include <memory>
#include <string>
@ -27,15 +34,7 @@
#include "opentelemetry/exporters/prometheus/exporter_factory.h"
#include "opentelemetry/exporters/prometheus/exporter_options.h"
#include "opentelemetry/sdk/metrics/meter_provider.h"
#include <grpcpp/ext/admin_services.h>
#include <grpcpp/ext/csm_observability.h>
#include <grpcpp/ext/proto_server_reflection_plugin.h>
#include <grpcpp/grpcpp.h>
#include <grpcpp/health_check_service_interface.h>
#include <grpcpp/xds_server_builder.h>
#include "src/core/lib/iomgr/gethostname.h"
#include "src/core/util/gethostname.h"
#ifdef BAZEL_BUILD
#include "examples/protos/helloworld.grpc.pb.h"

@ -44,6 +44,8 @@ cc_binary(
"@com_google_absl//absl/flags:flag",
"@com_google_absl//absl/flags:parse",
"@com_google_absl//absl/log",
"@com_google_absl//absl/log:globals",
"@com_google_absl//absl/log:initialize",
"@io_opentelemetry_cpp//exporters/prometheus:prometheus_exporter",
"@io_opentelemetry_cpp//sdk/src/metrics",
],

@ -27,6 +27,8 @@ RUN cp -rL /workdir/bazel-bin/examples/cpp/csm/observability/csm_greeter_server
FROM python:3.9-slim-bookworm
ENV GRPC_TRACE="xds_client,xds_resolver,xds_cluster_manager_lb,cds_lb,xds_cluster_resolver_lb,priority_lb,xds_cluster_impl_lb,weighted_target_lb,xds_server_config_fetcher,ring_hash_lb,outlier_detection_lb,xds_wrr_locality_lb,xds_override_host_lb"
RUN apt-get update \
&& apt-get -y upgrade \
&& apt-get -y autoremove \

@ -16,6 +16,9 @@
*
*/
#include <grpcpp/ext/csm_observability.h>
#include <grpcpp/grpcpp.h>
#include <grpcpp/support/string_ref.h>
#include <sys/types.h>
#include <chrono>
@ -32,10 +35,6 @@
#include "opentelemetry/exporters/prometheus/exporter_options.h"
#include "opentelemetry/sdk/metrics/meter_provider.h"
#include <grpcpp/ext/csm_observability.h>
#include <grpcpp/grpcpp.h>
#include <grpcpp/support/string_ref.h>
ABSL_FLAG(std::string, target, "xds:///helloworld:50051", "Target string");
ABSL_FLAG(std::string, prometheus_endpoint, "localhost:9464",
"Prometheus exporter endpoint");

@ -16,12 +16,21 @@
*
*/
#include <grpcpp/ext/admin_services.h>
#include <grpcpp/ext/csm_observability.h>
#include <grpcpp/ext/proto_server_reflection_plugin.h>
#include <grpcpp/grpcpp.h>
#include <grpcpp/health_check_service_interface.h>
#include <grpcpp/xds_server_builder.h>
#include <iostream>
#include <memory>
#include <string>
#include "absl/flags/flag.h"
#include "absl/flags/parse.h"
#include "absl/log/globals.h"
#include "absl/log/initialize.h"
#include "absl/log/log.h"
#include "absl/strings/str_cat.h"
#include "examples/cpp/otel/util.h"
@ -29,19 +38,15 @@
#include "opentelemetry/exporters/prometheus/exporter_options.h"
#include "opentelemetry/sdk/metrics/meter_provider.h"
#include <grpcpp/ext/admin_services.h>
#include <grpcpp/ext/csm_observability.h>
#include <grpcpp/ext/proto_server_reflection_plugin.h>
#include <grpcpp/grpcpp.h>
#include <grpcpp/health_check_service_interface.h>
#include <grpcpp/xds_server_builder.h>
ABSL_FLAG(int32_t, port, 50051, "Server port for service.");
ABSL_FLAG(std::string, prometheus_endpoint, "localhost:9464",
"Prometheus exporter endpoint");
int main(int argc, char** argv) {
absl::ParseCommandLine(argc, argv);
absl::SetStderrThreshold(absl::LogSeverityAtLeast::kInfo);
absl::SetGlobalVLogLevel(2);
absl::InitializeLog();
opentelemetry::exporter::metrics::PrometheusExporterOptions opts;
// default was "localhost:9464" which causes connection issue across GKE pods
opts.url = "0.0.0.0:9464";

@ -16,7 +16,7 @@
# See cmake_externalproject/CMakeLists.txt for all-in-one cmake build
# that automatically builds all the dependencies before building this example.
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.16)
project(Deadline C CXX)

@ -12,6 +12,8 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include <grpcpp/grpcpp.h>
#include <condition_variable>
#include <iostream>
#include <memory>
@ -23,8 +25,6 @@
#include "absl/flags/parse.h"
#include "absl/strings/str_cat.h"
#include <grpcpp/grpcpp.h>
#ifdef BAZEL_BUILD
#include "examples/protos/helloworld.grpc.pb.h"
#else

@ -12,6 +12,8 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include <grpcpp/grpcpp.h>
#include <chrono>
#include <condition_variable>
#include <iostream>
@ -25,8 +27,6 @@
#include "absl/strings/match.h"
#include "absl/strings/str_format.h"
#include <grpcpp/grpcpp.h>
#ifdef BAZEL_BUILD
#include "examples/protos/helloworld.grpc.pb.h"
#else

@ -12,6 +12,8 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include <grpcpp/grpcpp.h>
#include <iostream>
#include <memory>
#include <string>
@ -19,8 +21,6 @@
#include "absl/flags/flag.h"
#include "absl/flags/parse.h"
#include <grpcpp/grpcpp.h>
#ifdef BAZEL_BUILD
#include "examples/protos/helloworld.grpc.pb.h"
#else

@ -12,6 +12,11 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include <grpcpp/ext/admin_services.h>
#include <grpcpp/ext/proto_server_reflection_plugin.h>
#include <grpcpp/grpcpp.h>
#include <grpcpp/health_check_service_interface.h>
#include <iostream>
#include <memory>
#include <string>
@ -20,11 +25,6 @@
#include "absl/flags/parse.h"
#include "absl/strings/str_format.h"
#include <grpcpp/ext/admin_services.h>
#include <grpcpp/ext/proto_server_reflection_plugin.h>
#include <grpcpp/grpcpp.h>
#include <grpcpp/health_check_service_interface.h>
#ifdef BAZEL_BUILD
#include "examples/protos/helloworld.grpc.pb.h"
#else

@ -17,7 +17,7 @@
# See cmake_externalproject/CMakeLists.txt for all-in-one cmake build
# that automatically builds all the dependencies before building helloworld.
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.16)
project(ErrorDetails C CXX)

@ -12,6 +12,8 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include <grpcpp/grpcpp.h>
#include <condition_variable>
#include <iostream>
#include <memory>
@ -22,12 +24,9 @@
#include "absl/flags/parse.h"
#include "absl/strings/str_format.h"
#include <grpcpp/grpcpp.h>
#ifdef BAZEL_BUILD
#include "examples/protos/helloworld.grpc.pb.h"
#include "google/rpc/error_details.pb.h"
#include "src/proto/grpc/status/status.pb.h"
#else
#include "error_details.pb.h"

@ -12,6 +12,10 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include <grpcpp/ext/proto_server_reflection_plugin.h>
#include <grpcpp/grpcpp.h>
#include <grpcpp/health_check_service_interface.h>
#include <iostream>
#include <memory>
#include <string>
@ -22,14 +26,9 @@
#include "absl/strings/str_format.h"
#include "absl/synchronization/mutex.h"
#include <grpcpp/ext/proto_server_reflection_plugin.h>
#include <grpcpp/grpcpp.h>
#include <grpcpp/health_check_service_interface.h>
#ifdef BAZEL_BUILD
#include "examples/protos/helloworld.grpc.pb.h"
#include "google/rpc/error_details.pb.h"
#include "src/proto/grpc/status/status.pb.h"
#else
#include "error_details.pb.h"

@ -17,7 +17,7 @@
# See cmake_externalproject/CMakeLists.txt for all-in-one cmake build
# that automatically builds all the dependencies before building helloworld.
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.16)
project(ErrorHandling C CXX)

@ -12,6 +12,8 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include <grpcpp/grpcpp.h>
#include <condition_variable>
#include <iostream>
#include <memory>
@ -22,8 +24,6 @@
#include "absl/flags/parse.h"
#include "absl/strings/str_format.h"
#include <grpcpp/grpcpp.h>
#ifdef BAZEL_BUILD
#include "examples/protos/helloworld.grpc.pb.h"
#else

@ -12,6 +12,10 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include <grpcpp/ext/proto_server_reflection_plugin.h>
#include <grpcpp/grpcpp.h>
#include <grpcpp/health_check_service_interface.h>
#include <iostream>
#include <memory>
#include <string>
@ -22,10 +26,6 @@
#include "absl/strings/str_format.h"
#include "absl/synchronization/mutex.h"
#include <grpcpp/ext/proto_server_reflection_plugin.h>
#include <grpcpp/grpcpp.h>
#include <grpcpp/health_check_service_interface.h>
#ifdef BAZEL_BUILD
#include "examples/protos/helloworld.grpc.pb.h"
#else

@ -14,6 +14,33 @@
licenses(["notice"])
cc_binary(
name = "client_flow_control_client",
srcs = ["client_flow_control_client.cc"],
defines = ["BAZEL_BUILD"],
deps = [
"//:grpc++",
"//:grpc++_reflection",
"//examples/protos:helloworld_cc_grpc",
"@com_google_absl//absl/flags:flag",
"@com_google_absl//absl/flags:parse",
],
)
cc_binary(
name = "client_flow_control_server",
srcs = ["client_flow_control_server.cc"],
defines = ["BAZEL_BUILD"],
deps = [
"//:grpc++",
"//:grpc++_reflection",
"//examples/protos:helloworld_cc_grpc",
"@com_google_absl//absl/flags:flag",
"@com_google_absl//absl/flags:parse",
"@com_google_absl//absl/strings:str_format",
],
)
cc_binary(
name = "server_flow_control_client",
srcs = ["server_flow_control_client.cc"],

@ -17,7 +17,7 @@
# See cmake_externalproject/CMakeLists.txt for all-in-one cmake build
# that automatically builds all the dependencies before building example.
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.16)
project(HelloWorld C CXX)
@ -59,6 +59,7 @@ target_link_libraries(hw_grpc_proto
# Targets greeter_[async_](client|server)
foreach(_target
client_flow_control_client client_flow_control_server
server_flow_control_client server_flow_control_server)
add_executable(${_target} "${_target}.cc")
target_link_libraries(${_target}

@ -0,0 +1,126 @@
/*
*
* Copyright 2024 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.
*
*/
#include <grpc/grpc.h>
#include <grpcpp/ext/proto_server_reflection_plugin.h>
#include <grpcpp/grpcpp.h>
#include <cstddef>
#include <ostream>
#include <string>
#include "absl/flags/flag.h"
#include "absl/flags/parse.h"
#ifdef BAZEL_BUILD
#include "examples/protos/helloworld.grpc.pb.h"
#else
#include "helloworld.grpc.pb.h"
#endif
ABSL_FLAG(std::string, target, "localhost:50051", "Server address");
using grpc::CallbackServerContext;
using grpc::Channel;
using grpc::ClientContext;
using grpc::Server;
using grpc::ServerBuilder;
using grpc::ServerUnaryReactor;
using grpc::Status;
using helloworld::Greeter;
using helloworld::HelloReply;
using helloworld::HelloRequest;
namespace {
// Sends requests as quickly as possible and times how long it takes to perform
// the write operation.
class GreeterClientReactor final
: public grpc::ClientBidiReactor<helloworld::HelloRequest,
helloworld::HelloReply> {
public:
explicit GreeterClientReactor(int reqs, size_t req_size) : reqs_(reqs) {
req_.set_name(std::string(req_size, '*'));
}
void Start() {
absl::MutexLock lock(&mu_);
StartCall();
Write();
}
~GreeterClientReactor() override {
absl::MutexLock lock(&mu_);
mu_.Await(absl::Condition(+[](bool* done) { return *done; }, &done_));
}
void OnWriteDone(bool ok) override {
absl::MutexLock lock(&mu_);
std::cout << "Writing took " << absl::Now() - *time_ << std::endl;
time_ = absl::nullopt;
if (ok) {
Write();
}
}
void OnDone(const grpc::Status& status) override {
if (status.ok()) {
std::cout << "Done\n";
} else {
std::cout << "Done with error: [" << status.error_code() << "] "
<< status.error_message() << "\n";
}
absl::MutexLock lock(&mu_);
done_ = true;
}
private:
void Write() ABSL_EXCLUSIVE_LOCKS_REQUIRED(&mu_) {
if (reqs_ == 0) {
StartWritesDone();
return;
}
--reqs_;
StartWrite(&req_);
time_ = absl::Now();
}
absl::Mutex mu_;
bool done_ ABSL_GUARDED_BY(&mu_) = false;
HelloRequest req_;
size_t reqs_;
absl::optional<absl::Time> time_ ABSL_GUARDED_BY(mu_);
};
} // namespace
int main(int argc, char** argv) {
absl::ParseCommandLine(argc, argv);
grpc::ChannelArguments channel_arguments;
auto channel = grpc::CreateCustomChannel(absl::GetFlag(FLAGS_target),
grpc::InsecureChannelCredentials(),
channel_arguments);
auto stub = Greeter::NewStub(channel);
// Send 10 requests with 3Mb payload. This will eventually fill the buffer
// and make
GreeterClientReactor reactor(10, 3 * 1024 * 1024);
grpc::ClientContext context;
stub->async()->SayHelloBidiStream(&context, &reactor);
reactor.Start();
return 0;
}

@ -0,0 +1,111 @@
/*
*
* Copyright 2021 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.
*
*/
#include <grpcpp/ext/proto_server_reflection_plugin.h>
#include <grpcpp/grpcpp.h>
#include <grpcpp/health_check_service_interface.h>
#include <cstddef>
#include <cstdint>
#include <iostream>
#include <string>
#include "absl/flags/flag.h"
#include "absl/flags/parse.h"
#include "absl/strings/str_format.h"
#ifdef BAZEL_BUILD
#include "examples/protos/helloworld.grpc.pb.h"
#else
#include "helloworld.grpc.pb.h"
#endif
ABSL_FLAG(uint16_t, port, 50051, "Server port for the service");
ABSL_FLAG(size_t, quota, 20, "Resource quota, in megabytes");
namespace {
//
// Server reactor that is slow to read incoming messages, causing the buffers
// to fill.
//
class SlowReadingBidiReactor final
: public grpc::ServerBidiReactor<helloworld::HelloRequest,
helloworld::HelloReply> {
public:
SlowReadingBidiReactor() { StartRead(&req_); }
void OnReadDone(bool ok) override {
std::cout << "Recieved request with " << req_.name().length()
<< " bytes name\n";
if (!ok) {
Finish(grpc::Status::OK);
return;
}
sleep(1);
StartRead(&req_);
}
void OnDone() override {
std::cout << "Done\n";
delete this;
}
private:
absl::Mutex mu_;
helloworld::HelloRequest req_;
};
// Logic and data behind the server's behavior.
class GreeterServiceImpl final : public helloworld::Greeter::CallbackService {
grpc::ServerBidiReactor<helloworld::HelloRequest, helloworld::HelloReply>*
SayHelloBidiStream(grpc::CallbackServerContext* /* context */) override {
return new SlowReadingBidiReactor();
}
};
} // namespace
void RunServer(uint16_t port) {
std::string server_address = absl::StrFormat("0.0.0.0:%d", port);
GreeterServiceImpl service;
grpc::EnableDefaultHealthCheckService(true);
grpc::reflection::InitProtoReflectionServerBuilderPlugin();
grpc::ServerBuilder builder;
// Listen on the given address without any authentication mechanism.
builder.AddListeningPort(server_address, grpc::InsecureServerCredentials());
// Register "service" as the instance through which we'll communicate with
// clients. In this case it corresponds to an *synchronous* service.
builder.RegisterService(&service);
grpc::ResourceQuota quota;
quota.Resize(absl::GetFlag(FLAGS_quota) * 1024 * 1024);
// Finally assemble the server.
auto server = builder.BuildAndStart();
std::cout << "Server listening on " << server_address << std::endl;
// Wait for the server to shutdown. Note that some other thread must be
// responsible for shutting down the server for this call to ever return.
server->Wait();
}
int main(int argc, char** argv) {
absl::ParseCommandLine(argc, argv);
RunServer(absl::GetFlag(FLAGS_port));
return 0;
}

@ -16,16 +16,16 @@
*
*/
#include <grpc/grpc.h>
#include <grpcpp/ext/proto_server_reflection_plugin.h>
#include <grpcpp/grpcpp.h>
#include <iostream>
#include <string>
#include "absl/flags/flag.h"
#include "absl/flags/parse.h"
#include <grpc/grpc.h>
#include <grpcpp/ext/proto_server_reflection_plugin.h>
#include <grpcpp/grpcpp.h>
#ifdef BAZEL_BUILD
#include "examples/protos/helloworld.grpc.pb.h"
#else

@ -15,6 +15,11 @@
* limitations under the License.
*
*/
#include <grpcpp/ext/proto_server_reflection_plugin.h>
#include <grpcpp/grpcpp.h>
#include <grpcpp/health_check_service_interface.h>
#include <grpcpp/support/status.h>
#include <cstddef>
#include <iostream>
#include <memory>
@ -24,11 +29,6 @@
#include "absl/flags/parse.h"
#include "absl/strings/str_cat.h"
#include <grpcpp/ext/proto_server_reflection_plugin.h>
#include <grpcpp/grpcpp.h>
#include <grpcpp/health_check_service_interface.h>
#include <grpcpp/support/status.h>
#ifdef BAZEL_BUILD
#include "examples/protos/helloworld.grpc.pb.h"
#else

@ -16,6 +16,9 @@
//
//
#include <grpcpp/ext/gcp_observability.h>
#include <grpcpp/grpcpp.h>
#include <chrono>
#include <iostream>
#include <memory>
@ -25,9 +28,6 @@
#include "absl/flags/flag.h"
#include "absl/flags/parse.h"
#include <grpcpp/ext/gcp_observability.h>
#include <grpcpp/grpcpp.h>
#ifdef BAZEL_BUILD
#include "examples/protos/helloworld.grpc.pb.h"
#else

@ -16,6 +16,11 @@
//
//
#include <grpcpp/ext/gcp_observability.h>
#include <grpcpp/ext/proto_server_reflection_plugin.h>
#include <grpcpp/grpcpp.h>
#include <grpcpp/health_check_service_interface.h>
#include <chrono>
#include <csignal>
#include <iostream>
@ -27,11 +32,6 @@
#include "absl/flags/parse.h"
#include "absl/strings/str_format.h"
#include <grpcpp/ext/gcp_observability.h>
#include <grpcpp/ext/proto_server_reflection_plugin.h>
#include <grpcpp/grpcpp.h>
#include <grpcpp/health_check_service_interface.h>
#ifdef BAZEL_BUILD
#include "examples/protos/helloworld.grpc.pb.h"
#else

@ -17,7 +17,7 @@
# See cmake_externalproject/CMakeLists.txt for all-in-one cmake build
# that automatically builds all the dependencies before building helloworld.
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.16)
project(GenericAPI C CXX)

@ -12,6 +12,9 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include <grpcpp/generic/generic_stub.h>
#include <grpcpp/grpcpp.h>
#include <condition_variable>
#include <iostream>
#include <memory>
@ -22,9 +25,6 @@
#include "absl/flags/parse.h"
#include "absl/strings/str_format.h"
#include <grpcpp/generic/generic_stub.h>
#include <grpcpp/grpcpp.h>
#ifdef BAZEL_BUILD
#include "examples/protos/helloworld.grpc.pb.h"
#else

@ -12,6 +12,9 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include <grpcpp/grpcpp.h>
#include <grpcpp/health_check_service_interface.h>
#include <iostream>
#include <memory>
#include <string>
@ -22,9 +25,6 @@
#include "absl/strings/str_format.h"
#include "absl/synchronization/mutex.h"
#include <grpcpp/grpcpp.h>
#include <grpcpp/health_check_service_interface.h>
#ifdef BAZEL_BUILD
#include "examples/protos/helloworld.grpc.pb.h"
#else

@ -17,7 +17,7 @@
# See cmake_externalproject/CMakeLists.txt for all-in-one cmake build
# that automatically builds all the dependencies before building helloworld.
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.16)
project(HelloWorld C CXX)

@ -16,6 +16,8 @@
*
*/
#include <grpcpp/grpcpp.h>
#include <condition_variable>
#include <iostream>
#include <memory>
@ -25,11 +27,8 @@
#include "absl/flags/flag.h"
#include "absl/flags/parse.h"
#include <grpcpp/grpcpp.h>
#ifdef BAZEL_BUILD
#include "examples/protos/helloworld.grpc.pb.h"
#include "src/proto/grpc/health/v1/health.grpc.pb.h"
#else
#include "health.grpc.pb.h"

@ -16,6 +16,10 @@
*
*/
#include <grpcpp/ext/proto_server_reflection_plugin.h>
#include <grpcpp/grpcpp.h>
#include <grpcpp/health_check_service_interface.h>
#include <iostream>
#include <memory>
#include <string>
@ -24,10 +28,6 @@
#include "absl/flags/parse.h"
#include "absl/strings/str_format.h"
#include <grpcpp/ext/proto_server_reflection_plugin.h>
#include <grpcpp/grpcpp.h>
#include <grpcpp/health_check_service_interface.h>
#ifdef BAZEL_BUILD
#include "examples/protos/helloworld.grpc.pb.h"
#else

@ -17,7 +17,7 @@
# See cmake_externalproject/CMakeLists.txt for all-in-one cmake build
# that automatically builds all the dependencies before building helloworld.
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.16)
project(HelloWorld C CXX)

@ -20,7 +20,7 @@
# including the "helloworld" project itself.
# See https://blog.kitware.com/cmake-superbuilds-git-submodules/
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.16)
# Project
project(HelloWorld-SuperBuild C CXX)
@ -40,7 +40,7 @@ ExternalProject_Add(absl
-DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_CURRENT_BINARY_DIR}/absl
)
# Builds absl project from the git submodule.
# Builds utf8_range project from the git submodule.
ExternalProject_Add(utf8_range
PREFIX utf8_range
SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../../third_party/utf8_range"
@ -95,13 +95,6 @@ ExternalProject_Add(zlib
-DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_CURRENT_BINARY_DIR}/zlib
)
# the location where protobuf-config.cmake will be installed varies by platform
if (WIN32)
set(_FINDPACKAGE_PROTOBUF_CONFIG_DIR "${CMAKE_CURRENT_BINARY_DIR}/protobuf/cmake")
else()
set(_FINDPACKAGE_PROTOBUF_CONFIG_DIR "${CMAKE_CURRENT_BINARY_DIR}/protobuf/lib/cmake/protobuf")
endif()
# if OPENSSL_ROOT_DIR is set, propagate that hint path to the external projects with OpenSSL dependency.
set(_CMAKE_ARGS_OPENSSL_ROOT_DIR "")
if (OPENSSL_ROOT_DIR)
@ -119,7 +112,7 @@ ExternalProject_Add(grpc
-DgRPC_BUILD_MSVC_MP_COUNT:STRING=-1
-Dutf8_range_DIR:STRING=${CMAKE_CURRENT_BINARY_DIR}/utf8_range/lib/cmake/utf8_range
-DgRPC_PROTOBUF_PROVIDER:STRING=package
-DProtobuf_DIR:PATH=${_FINDPACKAGE_PROTOBUF_CONFIG_DIR}
-DProtobuf_DIR:PATH=${CMAKE_CURRENT_BINARY_DIR}/protobuf/lib/cmake/protobuf
-DgRPC_RE2_PROVIDER:STRING=package
-Dre2_DIR:STRING=${CMAKE_CURRENT_BINARY_DIR}/re2/lib/cmake/re2
-DgRPC_ZLIB_PROVIDER:STRING=package
@ -147,7 +140,7 @@ ExternalProject_Add(helloworld
BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/helloworld"
INSTALL_COMMAND ""
CMAKE_CACHE_ARGS
-DProtobuf_DIR:PATH=${_FINDPACKAGE_PROTOBUF_CONFIG_DIR}
-DProtobuf_DIR:PATH=${CMAKE_CURRENT_BINARY_DIR}/protobuf/lib/cmake/protobuf
-Dc-ares_DIR:PATH=${CMAKE_CURRENT_BINARY_DIR}/c-ares/lib/cmake/c-ares
-Dre2_DIR:STRING=${CMAKE_CURRENT_BINARY_DIR}/re2/lib/cmake/re2
-Dutf8_range_DIR:STRING=${CMAKE_CURRENT_BINARY_DIR}/utf8_range/lib/cmake/utf8_range

@ -16,6 +16,8 @@
*
*/
#include <grpcpp/grpcpp.h>
#include <iostream>
#include <memory>
#include <string>
@ -24,8 +26,6 @@
#include "absl/flags/parse.h"
#include "absl/log/check.h"
#include <grpcpp/grpcpp.h>
#ifdef BAZEL_BUILD
#include "examples/protos/helloworld.grpc.pb.h"
#else

@ -16,6 +16,8 @@
*
*/
#include <grpcpp/grpcpp.h>
#include <iostream>
#include <memory>
#include <string>
@ -25,8 +27,6 @@
#include "absl/flags/parse.h"
#include "absl/log/check.h"
#include <grpcpp/grpcpp.h>
#ifdef BAZEL_BUILD
#include "examples/protos/helloworld.grpc.pb.h"
#else

@ -16,6 +16,8 @@
*
*/
#include <grpcpp/grpcpp.h>
#include <iostream>
#include <memory>
#include <string>
@ -26,8 +28,6 @@
#include "absl/log/check.h"
#include "absl/strings/str_format.h"
#include <grpcpp/grpcpp.h>
#ifdef BAZEL_BUILD
#include "examples/protos/helloworld.grpc.pb.h"
#else

@ -16,6 +16,8 @@
*
*/
#include <grpcpp/grpcpp.h>
#include <condition_variable>
#include <iostream>
#include <memory>
@ -25,8 +27,6 @@
#include "absl/flags/flag.h"
#include "absl/flags/parse.h"
#include <grpcpp/grpcpp.h>
#ifdef BAZEL_BUILD
#include "examples/protos/helloworld.grpc.pb.h"
#else

@ -16,6 +16,10 @@
*
*/
#include <grpcpp/ext/proto_server_reflection_plugin.h>
#include <grpcpp/grpcpp.h>
#include <grpcpp/health_check_service_interface.h>
#include <iostream>
#include <memory>
#include <string>
@ -24,10 +28,6 @@
#include "absl/flags/parse.h"
#include "absl/strings/str_format.h"
#include <grpcpp/ext/proto_server_reflection_plugin.h>
#include <grpcpp/grpcpp.h>
#include <grpcpp/health_check_service_interface.h>
#ifdef BAZEL_BUILD
#include "examples/protos/helloworld.grpc.pb.h"
#else

@ -16,6 +16,8 @@
*
*/
#include <grpcpp/grpcpp.h>
#include <iostream>
#include <memory>
#include <string>
@ -23,8 +25,6 @@
#include "absl/flags/flag.h"
#include "absl/flags/parse.h"
#include <grpcpp/grpcpp.h>
#ifdef BAZEL_BUILD
#include "examples/protos/helloworld.grpc.pb.h"
#else

@ -16,6 +16,10 @@
*
*/
#include <grpcpp/ext/proto_server_reflection_plugin.h>
#include <grpcpp/grpcpp.h>
#include <grpcpp/health_check_service_interface.h>
#include <iostream>
#include <memory>
#include <string>
@ -24,10 +28,6 @@
#include "absl/flags/parse.h"
#include "absl/strings/str_format.h"
#include <grpcpp/ext/proto_server_reflection_plugin.h>
#include <grpcpp/grpcpp.h>
#include <grpcpp/health_check_service_interface.h>
#ifdef BAZEL_BUILD
#include "examples/protos/helloworld.grpc.pb.h"
#else

@ -16,6 +16,8 @@
*
*/
#include <grpcpp/grpcpp.h>
#include <iostream>
#include <memory>
#include <string>
@ -23,8 +25,6 @@
#include "absl/flags/flag.h"
#include "absl/flags/parse.h"
#include <grpcpp/grpcpp.h>
#ifdef BAZEL_BUILD
#include "examples/protos/helloworld.grpc.pb.h"
#else

@ -16,6 +16,12 @@
*
*/
#include <grpcpp/ext/admin_services.h>
#include <grpcpp/ext/proto_server_reflection_plugin.h>
#include <grpcpp/grpcpp.h>
#include <grpcpp/health_check_service_interface.h>
#include <grpcpp/xds_server_builder.h>
#include <iostream>
#include <memory>
#include <string>
@ -25,12 +31,6 @@
#include "absl/log/log.h"
#include "absl/strings/str_cat.h"
#include <grpcpp/ext/admin_services.h>
#include <grpcpp/ext/proto_server_reflection_plugin.h>
#include <grpcpp/grpcpp.h>
#include <grpcpp/health_check_service_interface.h>
#include <grpcpp/xds_server_builder.h>
#ifdef BAZEL_BUILD
#include "examples/protos/helloworld.grpc.pb.h"
#else

@ -17,7 +17,7 @@
# See cmake_externalproject/CMakeLists.txt for all-in-one cmake build
# that automatically builds all the dependencies before building keyvaluestore.
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.16)
project(KeyValueStore C CXX)

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save