diff --git a/.ci_support/linux_64_.yaml b/.ci_support/linux_64_.yaml index 150512c7..9303fc32 100644 --- a/.ci_support/linux_64_.yaml +++ b/.ci_support/linux_64_.yaml @@ -10,10 +10,6 @@ c_stdlib_version: - '2.17' channel_sources: - conda-forge -- conda-forge -- conda-forge -- conda-forge -- conda-forge,conda-forge/label/python_rc channel_targets: - conda-forge main cxx_compiler: @@ -29,7 +25,7 @@ libgrpc: libprotobuf: - 6.31.1 openssl: -- '3' +- '3.5' pin_run_as_build: python: min_pin: x.x @@ -47,7 +43,5 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version -- - python - - channel_sources zlib: - '1' diff --git a/.ci_support/linux_aarch64_.yaml b/.ci_support/linux_aarch64_.yaml index 2da1f3c2..13f9b90e 100644 --- a/.ci_support/linux_aarch64_.yaml +++ b/.ci_support/linux_aarch64_.yaml @@ -10,10 +10,6 @@ c_stdlib_version: - '2.17' channel_sources: - conda-forge -- conda-forge -- conda-forge -- conda-forge -- conda-forge,conda-forge/label/python_rc channel_targets: - conda-forge main cxx_compiler: @@ -29,7 +25,7 @@ libgrpc: libprotobuf: - 6.31.1 openssl: -- '3' +- '3.5' pin_run_as_build: python: min_pin: x.x @@ -47,7 +43,5 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version -- - python - - channel_sources zlib: - '1' diff --git a/.ci_support/linux_ppc64le_.yaml b/.ci_support/linux_ppc64le_.yaml index 35cc6b77..7cea63ff 100644 --- a/.ci_support/linux_ppc64le_.yaml +++ b/.ci_support/linux_ppc64le_.yaml @@ -10,10 +10,6 @@ c_stdlib_version: - '2.17' channel_sources: - conda-forge -- conda-forge -- conda-forge -- conda-forge -- conda-forge,conda-forge/label/python_rc channel_targets: - conda-forge main cxx_compiler: @@ -29,7 +25,7 @@ libgrpc: libprotobuf: - 6.31.1 openssl: -- '3' +- '3.5' pin_run_as_build: python: min_pin: x.x @@ -47,7 +43,5 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version -- - python - - channel_sources zlib: - '1' diff --git a/.ci_support/osx_64_.yaml b/.ci_support/osx_64_.yaml index e4c4295e..391b43da 100644 --- a/.ci_support/osx_64_.yaml +++ b/.ci_support/osx_64_.yaml @@ -14,10 +14,6 @@ c_stdlib_version: - '11.0' channel_sources: - conda-forge -- conda-forge -- conda-forge -- conda-forge -- conda-forge,conda-forge/label/python_rc channel_targets: - conda-forge main cxx_compiler: @@ -33,7 +29,7 @@ libprotobuf: macos_machine: - x86_64-apple-darwin13.4.0 openssl: -- '3' +- '3.5' pin_run_as_build: python: min_pin: x.x @@ -51,7 +47,5 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version -- - python - - channel_sources zlib: - '1' diff --git a/.ci_support/osx_arm64_.yaml b/.ci_support/osx_arm64_.yaml index 0fa6ef90..d0b3e04f 100644 --- a/.ci_support/osx_arm64_.yaml +++ b/.ci_support/osx_arm64_.yaml @@ -14,10 +14,6 @@ c_stdlib_version: - '11.0' channel_sources: - conda-forge -- conda-forge -- conda-forge -- conda-forge -- conda-forge,conda-forge/label/python_rc channel_targets: - conda-forge main cxx_compiler: @@ -33,7 +29,7 @@ libprotobuf: macos_machine: - arm64-apple-darwin20.0.0 openssl: -- '3' +- '3.5' pin_run_as_build: python: min_pin: x.x @@ -51,7 +47,5 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version -- - python - - channel_sources zlib: - '1' diff --git a/.ci_support/win_64_.yaml b/.ci_support/win_64_.yaml index 6cdeb8b4..8a2d7a04 100644 --- a/.ci_support/win_64_.yaml +++ b/.ci_support/win_64_.yaml @@ -6,10 +6,6 @@ c_stdlib: - vs channel_sources: - conda-forge -- conda-forge -- conda-forge -- conda-forge -- conda-forge,conda-forge/label/python_rc channel_targets: - conda-forge main cxx_compiler: @@ -21,7 +17,7 @@ libgrpc: libprotobuf: - 6.31.1 openssl: -- '3' +- '3.5' pin_run_as_build: python: min_pin: x.x @@ -36,8 +32,5 @@ re2: - 2025.08.12 target_platform: - win-64 -zip_keys: -- - python - - channel_sources zlib: - '1' diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index 361edeb2..bac7141a 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -63,6 +63,25 @@ if [[ "${sha:-}" == "" ]]; then sha=$(git rev-parse HEAD) fi +if [[ "${OSX_SDK_DIR:-}" == "" ]]; then + if [[ "${CI:-}" == "" ]]; then + echo "Please set OSX_SDK_DIR to a directory where SDKs can be downloaded to. Aborting" + exit 1 + else + export OSX_SDK_DIR=/opt/conda-sdks + /usr/bin/sudo mkdir -p "${OSX_SDK_DIR}" + /usr/bin/sudo chown "${USER}" "${OSX_SDK_DIR}" + fi +else + if tmpf=$(mktemp -p "$OSX_SDK_DIR" tmp.XXXXXXXX 2>/dev/null); then + rm -f "$tmpf" + echo "OSX_SDK_DIR is writeable without sudo, continuing" + else + echo "User-provided OSX_SDK_DIR is not writeable for current user! Aborting" + exit 1 + fi +fi + echo -e "\n\nRunning the build setup script." source run_conda_forge_build_setup diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 9d7db11a..926c3c50 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "1.74.1" %} +{% set version = "1.76.0" %} # core package & vendored libs use different version scheme than CPP libs, see # top of https://github.com/grpc/grpc/blob/v{{ version }}/CMakeLists.txt @@ -19,32 +19,32 @@ package: source: - url: https://github.com/grpc/grpc/archive/v{{ version.replace(".pre", "-pre") }}.tar.gz - sha256: 7bf97c11cf3808d650a3a025bbf9c5f922c844a590826285067765dfd055d228 + sha256: 0af37b800953130b47c075b56683ee60bdc3eda3c37fc6004193f5b569758204 patches: - - patches/0001-windows-ssl-lib-names.patch - - patches/0002-fix-win-setup-cmds.patch - - patches/0003-Link-against-grpc-and-abseil.patch - - patches/0004-force-protoc-executable.patch - # mark target_link_libraries for grpc as PRIVATE where possible - - patches/0005-mark-linkages-of-grpc-_unsecure-as-private.patch - # fix symbol visibility regression on windows - - patches/0006-for-main-targets-set-_DLL_EXPORTS-when-building-and-.patch - # get gRPC_BUILD_TESTS=ON to build - - patches/0007-add-missing-linkages-for-gRPC_BUILD_TESTS-ON.patch - # see https://github.com/grpc/grpc/pull/38893 - - patches/0008-add-enable_testing-so-tests-get-run.patch - # protobuf is now shipping upb, so we cannot ship it here; see - # https://github.com/protocolbuffers/protobuf/issues/12927 - # https://github.com/conda-forge/libprotobuf-feedstock/pull/240 - # https://github.com/grpc/grpc/commit/7819891fabcd1d2ff55c26c2b0755ab52ccd8e20 - - patches/0009-unvendor-upb-and-utf8_range-use-protobuf-s-version.patch - # full test suite takes too long to build; reduce set of tests - - patches/0010-reduce-buildtests_cxx-target-to-end2end-tests.patch - # don't rebuild protobuf/upb/abseil for grpcio-tools - - patches/0011-build-grpcio-tools-from-source.patch - - patches/0012-add-linkage-to-openssl-to-grpc_unsecure.patch # [win] - - patches/0013-reduce-grpc-symbol-explosion-with-autogenerated-expo.patch - - patches/0014-update-GRPC_DLL-instances-where-necessary.patch + #- patches/0001-windows-ssl-lib-names.patch + #- patches/0002-fix-win-setup-cmds.patch + #- patches/0003-Link-against-grpc-and-abseil.patch + #- patches/0004-force-protoc-executable.patch + ## mark target_link_libraries for grpc as PRIVATE where possible + #- patches/0005-mark-linkages-of-grpc-_unsecure-as-private.patch + ## fix symbol visibility regression on windows + #- patches/0006-for-main-targets-set-_DLL_EXPORTS-when-building-and-.patch + ## get gRPC_BUILD_TESTS=ON to build + #- patches/0007-add-missing-linkages-for-gRPC_BUILD_TESTS-ON.patch + ## see https://github.com/grpc/grpc/pull/38893 + #- patches/0008-add-enable_testing-so-tests-get-run.patch + ## protobuf is now shipping upb, so we cannot ship it here; see + ## https://github.com/protocolbuffers/protobuf/issues/12927 + ## https://github.com/conda-forge/libprotobuf-feedstock/pull/240 + ## https://github.com/grpc/grpc/commit/7819891fabcd1d2ff55c26c2b0755ab52ccd8e20 + #- patches/0009-unvendor-upb-and-utf8_range-use-protobuf-s-version.patch + ## full test suite takes too long to build; reduce set of tests + #- patches/0010-reduce-buildtests_cxx-target-to-end2end-tests.patch + ## don't rebuild protobuf/upb/abseil for grpcio-tools + #- patches/0011-build-grpcio-tools-from-source.patch + #- patches/0012-add-linkage-to-openssl-to-grpc_unsecure.patch # [win] + #- patches/0013-reduce-grpc-symbol-explosion-with-autogenerated-expo.patch + #- patches/0014-update-GRPC_DLL-instances-where-necessary.patch {% if build_platform == target_platform and not win %} - folder: third_party/benchmark @@ -65,7 +65,7 @@ source: - folder: third_party/protoc-gen-validate git_url: https://github.com/envoyproxy/protoc-gen-validate.git - git_rev: 32c2415389a3538082507ae537e7edd9578c64ed + git_rev: 7b06248484ceeaa947e93ca2747eccf336a88ecc - folder: third_party/xds git_url: https://github.com/cncf/xds.git @@ -193,6 +193,7 @@ outputs: run: - python - {{ pin_subpackage('libgrpc', exact=True) }} + - typing-extensions >=4.12,<5 test: source_files: - examples/python/helloworld/ diff --git a/recipe/patches/0001-windows-ssl-lib-names.patch b/recipe/patches/0001-windows-ssl-lib-names.patch index 3b9bd887..90278384 100644 --- a/recipe/patches/0001-windows-ssl-lib-names.patch +++ b/recipe/patches/0001-windows-ssl-lib-names.patch @@ -1,4 +1,4 @@ -From d5ed2615f402d4b60de392d7faa49ce7e8fa6513 Mon Sep 17 00:00:00 2001 +From d29b0ba4a350941f4ed553ec3236d1a6e2e6a16c Mon Sep 17 00:00:00 2001 From: Jonathan Helmus Date: Mon, 17 Feb 2020 15:45:06 -0600 Subject: [PATCH 01/14] windows ssl lib names @@ -11,10 +11,10 @@ Co-Authored-By: Marius van Niekerk 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/setup.py b/setup.py -index 39ca17e824..3a879f037b 100644 +index e9823ed..a4f5810 100644 --- a/setup.py +++ b/setup.py -@@ -367,10 +367,10 @@ if "win32" in sys.platform: +@@ -375,10 +375,10 @@ if "win32" in sys.platform: "ws2_32", ) if BUILD_WITH_SYSTEM_OPENSSL: diff --git a/recipe/patches/0002-fix-win-setup-cmds.patch b/recipe/patches/0002-fix-win-setup-cmds.patch index e41c404d..1b05c456 100644 --- a/recipe/patches/0002-fix-win-setup-cmds.patch +++ b/recipe/patches/0002-fix-win-setup-cmds.patch @@ -1,4 +1,4 @@ -From f50311e7ac7f652ac5692f88d92dc0fb9fa6e3c1 Mon Sep 17 00:00:00 2001 +From 9bcb9fe868db519f3d3151cfb9462905173b34df Mon Sep 17 00:00:00 2001 From: Mike Sarahan Date: Tue, 18 Feb 2020 13:53:05 -0600 Subject: [PATCH 02/14] fix win setup cmds @@ -12,10 +12,10 @@ Co-Authored-By: H. Vetinari 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/setup.py b/setup.py -index 3a879f037b..adfec063fd 100644 +index a4f5810..5f900fb 100644 --- a/setup.py +++ b/setup.py -@@ -209,6 +209,9 @@ ENABLE_DOCUMENTATION_BUILD = _env_bool_value( +@@ -211,6 +211,9 @@ ENABLE_DOCUMENTATION_BUILD = _env_bool_value( def check_linker_need_libatomic(): @@ -25,7 +25,7 @@ index 3a879f037b..adfec063fd 100644 """Test if linker on system needs libatomic.""" code_test = ( b"#include \n" -@@ -266,9 +269,6 @@ if EXTRA_ENV_COMPILE_ARGS is None: +@@ -274,9 +277,6 @@ if EXTRA_ENV_COMPILE_ARGS is None: # MSVC by defaults uses C++14 and C89 so both needs to be configured. EXTRA_ENV_COMPILE_ARGS += " /std:c++17" EXTRA_ENV_COMPILE_ARGS += " /std:c11" diff --git a/recipe/patches/0003-Link-against-grpc-and-abseil.patch b/recipe/patches/0003-Link-against-grpc-and-abseil.patch index 4ca37dc3..0cca454d 100644 --- a/recipe/patches/0003-Link-against-grpc-and-abseil.patch +++ b/recipe/patches/0003-Link-against-grpc-and-abseil.patch @@ -1,4 +1,4 @@ -From 41f565b1cc5a805928c9d7a6542f1e6802a4bfa4 Mon Sep 17 00:00:00 2001 +From 9b84f84691c32f0146d8ae531dd19c7ed199e644 Mon Sep 17 00:00:00 2001 From: Marius van Niekerk Date: Mon, 13 Jun 2022 17:13:07 -0400 Subject: [PATCH 03/14] Link against grpc and abseil @@ -9,10 +9,10 @@ Co-Authored-By: H. Vetinari 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/setup.py b/setup.py -index adfec063fd..266a690474 100644 +index 5f900fb..26436ba 100644 --- a/setup.py +++ b/setup.py -@@ -180,6 +180,8 @@ BUILD_WITH_STATIC_LIBSTDCXX = _env_bool_value( +@@ -182,6 +182,8 @@ BUILD_WITH_STATIC_LIBSTDCXX = _env_bool_value( "GRPC_PYTHON_BUILD_WITH_STATIC_LIBSTDCXX", "False" ) @@ -21,7 +21,7 @@ index adfec063fd..266a690474 100644 # For local development use only: This skips building gRPC Core and its # dependencies, including protobuf and boringssl. This allows "incremental" # compilation by first building gRPC Core using make, then building only the -@@ -378,10 +380,20 @@ if BUILD_WITH_SYSTEM_CARES: +@@ -386,10 +388,20 @@ if BUILD_WITH_SYSTEM_CARES: if BUILD_WITH_SYSTEM_RE2: EXTENSION_LIBRARIES += ("re2",) if BUILD_WITH_SYSTEM_ABSL: @@ -46,7 +46,7 @@ index adfec063fd..266a690474 100644 DEFINE_MACROS = (("_WIN32_WINNT", 0x600),) asm_files = [] -@@ -493,6 +505,9 @@ def cython_extensions_and_necessity(): +@@ -501,6 +513,9 @@ def cython_extensions_and_necessity(): prefix + "libgrpc.a", ] core_c_files = [] diff --git a/recipe/patches/0004-force-protoc-executable.patch b/recipe/patches/0004-force-protoc-executable.patch index 223ec197..127659e0 100644 --- a/recipe/patches/0004-force-protoc-executable.patch +++ b/recipe/patches/0004-force-protoc-executable.patch @@ -1,4 +1,4 @@ -From 29ede911ee9d4f9096f5719d20103e180271e1cc Mon Sep 17 00:00:00 2001 +From c7be067618901e93e49223385d7f6684981a9774 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Fri, 11 Sep 2020 14:20:04 +0200 Subject: [PATCH 04/14] force protoc executable @@ -8,7 +8,7 @@ Subject: [PATCH 04/14] force protoc executable 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/cmake/protobuf.cmake b/cmake/protobuf.cmake -index ad80ca6e46..7bae8d95bd 100644 +index ad80ca6..7bae8d9 100644 --- a/cmake/protobuf.cmake +++ b/cmake/protobuf.cmake @@ -70,21 +70,8 @@ elseif(gRPC_PROTOBUF_PROVIDER STREQUAL "package") diff --git a/recipe/patches/0005-mark-linkages-of-grpc-_unsecure-as-private.patch b/recipe/patches/0005-mark-linkages-of-grpc-_unsecure-as-private.patch index cb185dce..31ff73f6 100644 --- a/recipe/patches/0005-mark-linkages-of-grpc-_unsecure-as-private.patch +++ b/recipe/patches/0005-mark-linkages-of-grpc-_unsecure-as-private.patch @@ -1,4 +1,4 @@ -From 5cad386388ee72810dfcbf0afc88ded797f5e840 Mon Sep 17 00:00:00 2001 +From b38c09d71ea3aec9a865fb56680dd1f69611b566 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 23 Aug 2022 11:45:20 +0200 Subject: [PATCH 05/14] mark linkages of grpc{,_unsecure} as private @@ -13,10 +13,10 @@ Co-Authored-By: Mark Harfouche 1 file changed, 60 insertions(+), 50 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt -index f652a4055c..2fae60378f 100644 +index bc86c00..ea3a457 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -3069,35 +3069,40 @@ target_include_directories(grpc +@@ -3127,35 +3127,40 @@ target_include_directories(grpc ${_gRPC_ZLIB_INCLUDE_DIR} ) target_link_libraries(grpc @@ -26,12 +26,12 @@ index f652a4055c..2fae60378f 100644 - ${_gRPC_RE2_LIBRARIES} - ${_gRPC_ZLIB_LIBRARIES} - absl::algorithm_container -- absl::config - absl::no_destructor - absl::btree - absl::flat_hash_map - absl::flat_hash_set - absl::inlined_vector +- absl::node_hash_map - absl::bind_front - absl::function_ref - absl::hash @@ -59,11 +59,11 @@ index f652a4055c..2fae60378f 100644 + # external dependencies that need to available at runtime + PUBLIC ${_gRPC_SSL_LIBRARIES} + PRIVATE absl::algorithm_container -+ PRIVATE absl::config + PRIVATE absl::no_destructor + PRIVATE absl::btree + PRIVATE absl::flat_hash_map + PRIVATE absl::flat_hash_set ++ PRIVATE absl::node_hash_map + PRIVATE absl::inlined_vector + PRIVATE absl::bind_front + PRIVATE absl::function_ref @@ -84,24 +84,35 @@ index f652a4055c..2fae60378f 100644 endif() foreach(_hdr -@@ -3791,32 +3796,37 @@ target_include_directories(grpc_unsecure +@@ -3860,32 +3865,37 @@ target_include_directories(grpc_unsecure ${_gRPC_ZLIB_INCLUDE_DIR} ) target_link_libraries(grpc_unsecure - ${_gRPC_ALLTARGETS_LIBRARIES} -+ # core libs -+ PRIVATE ${_gRPC_ALLTARGETS_LIBRARIES} -+ # vendored libs -+ PRIVATE ${_gRPC_ADDRESS_SORTING_LIBRARIES} - upb_textformat_lib +- upb_textformat_lib - ${_gRPC_ZLIB_LIBRARIES} - absl::algorithm_container -- absl::config - absl::no_destructor - absl::btree - absl::flat_hash_map - absl::flat_hash_set - absl::inlined_vector ++ # core libs ++ PRIVATE ${_gRPC_ALLTARGETS_LIBRARIES} ++ # vendored libs ++ PRIVATE ${_gRPC_ADDRESS_SORTING_LIBRARIES} ++ upb_textformat_lib ++ # external dependencies used within grpc ++ PRIVATE ${_gRPC_ZLIB_LIBRARIES} ++ PRIVATE ${_gRPC_CARES_LIBRARIES} ++ # external dependencies that need to available at runtime ++ PRIVATE absl::algorithm_container ++ PRIVATE absl::no_destructor ++ PRIVATE absl::btree ++ PRIVATE absl::flat_hash_map ++ PRIVATE absl::flat_hash_set ++ PRIVATE absl::inlined_vector + absl::node_hash_map - absl::bind_front - absl::function_ref - absl::hash @@ -115,17 +126,6 @@ index f652a4055c..2fae60378f 100644 - ${_gRPC_CARES_LIBRARIES} - gpr - ${_gRPC_ADDRESS_SORTING_LIBRARIES} -+ # external dependencies used within grpc -+ PRIVATE ${_gRPC_ZLIB_LIBRARIES} -+ PRIVATE ${_gRPC_CARES_LIBRARIES} -+ # external dependencies that need to available at runtime -+ PRIVATE absl::algorithm_container -+ PRIVATE absl::config -+ PRIVATE absl::no_destructor -+ PRIVATE absl::btree -+ PRIVATE absl::flat_hash_map -+ PRIVATE absl::flat_hash_set -+ PRIVATE absl::inlined_vector + PRIVATE absl::bind_front + PRIVATE absl::function_ref + PRIVATE absl::hash diff --git a/recipe/patches/0006-for-main-targets-set-_DLL_EXPORTS-when-building-and-.patch b/recipe/patches/0006-for-main-targets-set-_DLL_EXPORTS-when-building-and-.patch index 52f60805..ab71c0ea 100644 --- a/recipe/patches/0006-for-main-targets-set-_DLL_EXPORTS-when-building-and-.patch +++ b/recipe/patches/0006-for-main-targets-set-_DLL_EXPORTS-when-building-and-.patch @@ -1,4 +1,4 @@ -From 7ee05652cf15c9d23b634bfe9fc18028d62e32c1 Mon Sep 17 00:00:00 2001 +From 81bf194ca704ef275223f06e235a232b30a5af49 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Thu, 29 Feb 2024 20:31:21 +1100 Subject: [PATCH 06/14] for main targets, set *_DLL_EXPORTS when building and @@ -9,10 +9,10 @@ Subject: [PATCH 06/14] for main targets, set *_DLL_EXPORTS when building and 1 file changed, 10 insertions(+), 26 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt -index 2fae60378f..66be39ef73 100644 +index ea3a457..c868d91 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -2063,10 +2063,8 @@ if(WIN32 AND MSVC) +@@ -2096,10 +2096,8 @@ if(WIN32 AND MSVC) COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" ) if(BUILD_SHARED_LIBS) @@ -25,7 +25,7 @@ index 2fae60378f..66be39ef73 100644 endif() if(gRPC_INSTALL) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/gpr.pdb -@@ -3042,11 +3040,8 @@ if(WIN32 AND MSVC) +@@ -3100,11 +3098,8 @@ if(WIN32 AND MSVC) COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" ) if(BUILD_SHARED_LIBS) @@ -39,7 +39,7 @@ index 2fae60378f..66be39ef73 100644 endif() if(gRPC_INSTALL) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc.pdb -@@ -3769,11 +3764,8 @@ if(WIN32 AND MSVC) +@@ -3838,11 +3833,8 @@ if(WIN32 AND MSVC) COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" ) if(BUILD_SHARED_LIBS) @@ -53,7 +53,7 @@ index 2fae60378f..66be39ef73 100644 endif() if(gRPC_INSTALL) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc_unsecure.pdb -@@ -4791,12 +4783,8 @@ if(WIN32 AND MSVC) +@@ -4860,12 +4852,8 @@ if(WIN32 AND MSVC) COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" ) if(BUILD_SHARED_LIBS) @@ -68,7 +68,7 @@ index 2fae60378f..66be39ef73 100644 endif() if(gRPC_INSTALL) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc++.pdb -@@ -5531,12 +5519,8 @@ if(WIN32 AND MSVC) +@@ -5604,12 +5592,8 @@ if(WIN32 AND MSVC) COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" ) if(BUILD_SHARED_LIBS) diff --git a/recipe/patches/0007-add-missing-linkages-for-gRPC_BUILD_TESTS-ON.patch b/recipe/patches/0007-add-missing-linkages-for-gRPC_BUILD_TESTS-ON.patch index 27c5e629..b000ca96 100644 --- a/recipe/patches/0007-add-missing-linkages-for-gRPC_BUILD_TESTS-ON.patch +++ b/recipe/patches/0007-add-missing-linkages-for-gRPC_BUILD_TESTS-ON.patch @@ -1,4 +1,4 @@ -From 318a6ce6b4237af2c46a10d42dec5d292909ac3e Mon Sep 17 00:00:00 2001 +From d02ecb373fe0c396228acf2e107a728534733d90 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 26 Sep 2023 18:25:54 +1100 Subject: [PATCH 07/14] add missing linkages for gRPC_BUILD_TESTS=ON @@ -14,10 +14,10 @@ For some tests, re2 and c-ares have just been forgotten as dependencies. 1 file changed, 11 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt -index 66be39ef73..b0f134790e 100644 +index c868d91..bbf7da6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -3229,6 +3229,7 @@ target_link_libraries(grpc_test_util +@@ -3286,6 +3286,7 @@ target_link_libraries(grpc_test_util ${_gRPC_ALLTARGETS_LIBRARIES} absl::failure_signal_handler absl::stacktrace @@ -25,7 +25,7 @@ index 66be39ef73..b0f134790e 100644 absl::symbolize absl::log_initialize grpc -@@ -3304,6 +3305,7 @@ target_link_libraries(grpc_test_util_unsecure +@@ -3360,6 +3361,7 @@ target_link_libraries(grpc_test_util_unsecure ${_gRPC_ALLTARGETS_LIBRARIES} absl::failure_signal_handler absl::stacktrace @@ -33,7 +33,7 @@ index 66be39ef73..b0f134790e 100644 absl::symbolize absl::log_initialize grpc_unsecure -@@ -8335,6 +8337,7 @@ target_include_directories(authorization_matchers_test +@@ -8550,6 +8552,7 @@ target_include_directories(authorization_matchers_test ) target_link_libraries(authorization_matchers_test @@ -41,7 +41,7 @@ index 66be39ef73..b0f134790e 100644 ${_gRPC_ALLTARGETS_LIBRARIES} gtest grpc_test_util -@@ -17316,6 +17319,7 @@ target_include_directories(grpc_authorization_engine_test +@@ -18558,6 +18561,7 @@ target_include_directories(grpc_authorization_engine_test ) target_link_libraries(grpc_authorization_engine_test @@ -49,7 +49,7 @@ index 66be39ef73..b0f134790e 100644 ${_gRPC_ALLTARGETS_LIBRARIES} gtest grpc_test_util -@@ -19776,6 +19780,7 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) +@@ -20795,6 +20799,7 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) ) target_link_libraries(httpcli_test @@ -57,7 +57,7 @@ index 66be39ef73..b0f134790e 100644 ${_gRPC_ALLTARGETS_LIBRARIES} gtest grpc++_test_util -@@ -21869,6 +21874,7 @@ target_include_directories(matchers_test +@@ -23523,6 +23528,7 @@ target_include_directories(matchers_test ) target_link_libraries(matchers_test @@ -65,7 +65,7 @@ index 66be39ef73..b0f134790e 100644 ${_gRPC_ALLTARGETS_LIBRARIES} gtest grpc_test_util -@@ -26804,6 +26810,7 @@ target_include_directories(resolve_address_using_ares_resolver_test +@@ -28953,6 +28959,7 @@ target_include_directories(resolve_address_using_ares_resolver_test ) target_link_libraries(resolve_address_using_ares_resolver_test @@ -73,7 +73,7 @@ index 66be39ef73..b0f134790e 100644 ${_gRPC_ALLTARGETS_LIBRARIES} gtest grpc_test_util -@@ -26892,6 +26899,7 @@ target_include_directories(resolve_address_using_native_resolver_test +@@ -29041,6 +29048,7 @@ target_include_directories(resolve_address_using_native_resolver_test ) target_link_libraries(resolve_address_using_native_resolver_test @@ -81,7 +81,7 @@ index 66be39ef73..b0f134790e 100644 ${_gRPC_ALLTARGETS_LIBRARIES} gtest grpc_test_util -@@ -35879,6 +35887,7 @@ target_include_directories(xds_common_types_test +@@ -39541,6 +39549,7 @@ target_include_directories(xds_common_types_test ) target_link_libraries(xds_common_types_test @@ -89,7 +89,7 @@ index 66be39ef73..b0f134790e 100644 ${_gRPC_ALLTARGETS_LIBRARIES} gtest grpc++ -@@ -36530,6 +36539,7 @@ target_include_directories(xds_credentials_test +@@ -40192,6 +40201,7 @@ target_include_directories(xds_credentials_test ) target_link_libraries(xds_credentials_test @@ -97,7 +97,7 @@ index 66be39ef73..b0f134790e 100644 ${_gRPC_ALLTARGETS_LIBRARIES} gtest grpc_test_util -@@ -41495,6 +41505,7 @@ target_include_directories(xds_listener_resource_type_test +@@ -45157,6 +45167,7 @@ target_include_directories(xds_listener_resource_type_test ) target_link_libraries(xds_listener_resource_type_test diff --git a/recipe/patches/0008-add-enable_testing-so-tests-get-run.patch b/recipe/patches/0008-add-enable_testing-so-tests-get-run.patch index ee50c5cf..3a63b15c 100644 --- a/recipe/patches/0008-add-enable_testing-so-tests-get-run.patch +++ b/recipe/patches/0008-add-enable_testing-so-tests-get-run.patch @@ -1,4 +1,4 @@ -From b63cd1c2f85a9550f71f78034a639674232d328e Mon Sep 17 00:00:00 2001 +From 491ad17f30a7deb234ed5d667d5a471d90e38f70 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Fri, 28 Feb 2025 22:07:19 +1100 Subject: [PATCH 08/14] add enable_testing so tests get run @@ -8,7 +8,7 @@ Subject: [PATCH 08/14] add enable_testing so tests get run 1 file changed, 4 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt -index b0f134790e..e87b7b557d 100644 +index bbf7da6..10ad514 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -51,6 +51,10 @@ option(gRPC_BUILD_TESTS "Build tests" OFF) diff --git a/recipe/patches/0009-unvendor-upb-and-utf8_range-use-protobuf-s-version.patch b/recipe/patches/0009-unvendor-upb-and-utf8_range-use-protobuf-s-version.patch index c69a406b..2c31eb3e 100644 --- a/recipe/patches/0009-unvendor-upb-and-utf8_range-use-protobuf-s-version.patch +++ b/recipe/patches/0009-unvendor-upb-and-utf8_range-use-protobuf-s-version.patch @@ -1,4 +1,4 @@ -From e4ad20aa04bc1eeadd7119b24ed2856e650ccf75 Mon Sep 17 00:00:00 2001 +From 0df2287553b1dab443c97aff2cf3dc41ae11b32f Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Fri, 28 Feb 2025 15:09:41 +1100 Subject: [PATCH 09/14] unvendor upb and utf8_range, use protobuf's version @@ -9,10 +9,10 @@ Subject: [PATCH 09/14] unvendor upb and utf8_range, use protobuf's version 2 files changed, 16 insertions(+), 684 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt -index e87b7b557d..c0d1f6f363 100644 +index 10ad514..a9e3757 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -352,11 +352,15 @@ else() +@@ -354,11 +354,15 @@ else() set(_gRPC_CORE_NOSTDCXX_FLAGS "") endif() @@ -29,7 +29,7 @@ index e87b7b557d..c0d1f6f363 100644 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) find_library(LIBRT rt) if(LIBRT) -@@ -3072,8 +3076,6 @@ target_link_libraries(grpc +@@ -3130,8 +3134,6 @@ target_link_libraries(grpc PRIVATE ${_gRPC_ALLTARGETS_LIBRARIES} # vendored libs PRIVATE ${_gRPC_ADDRESS_SORTING_LIBRARIES} @@ -38,15 +38,15 @@ index e87b7b557d..c0d1f6f363 100644 # external dependencies used within grpc PRIVATE ${_gRPC_CARES_LIBRARIES} PRIVATE ${_gRPC_RE2_LIBRARIES} -@@ -3798,7 +3800,6 @@ target_link_libraries(grpc_unsecure +@@ -3867,7 +3869,6 @@ target_link_libraries(grpc_unsecure PRIVATE ${_gRPC_ALLTARGETS_LIBRARIES} # vendored libs PRIVATE ${_gRPC_ADDRESS_SORTING_LIBRARIES} -- upb_textformat_lib +- upb_textformat_lib # external dependencies used within grpc PRIVATE ${_gRPC_ZLIB_LIBRARIES} PRIVATE ${_gRPC_CARES_LIBRARIES} -@@ -3964,672 +3965,6 @@ target_link_libraries(gtest +@@ -4033,672 +4034,6 @@ target_link_libraries(gtest endif() @@ -719,17 +719,17 @@ index e87b7b557d..c0d1f6f363 100644 if(gRPC_BUILD_TESTS) -@@ -6118,7 +5453,6 @@ target_include_directories(grpc_authorization_provider +@@ -6202,7 +5537,6 @@ target_include_directories(grpc_authorization_provider ) target_link_libraries(grpc_authorization_provider ${_gRPC_ALLTARGETS_LIBRARIES} - upb_textformat_lib ${_gRPC_RE2_LIBRARIES} ${_gRPC_ZLIB_LIBRARIES} - absl::config -@@ -47339,8 +46673,8 @@ generate_pkgconfig( + absl::no_destructor +@@ -51987,8 +51321,8 @@ generate_pkgconfig( "${gRPC_CORE_VERSION}" - "absl_algorithm_container absl_any_invocable absl_base absl_bind_front absl_bits absl_btree absl_check absl_cleanup absl_config absl_cord absl_core_headers absl_flags absl_flags_marshalling absl_flat_hash_map absl_flat_hash_set absl_function_ref absl_hash absl_inlined_vector absl_log absl_log_globals absl_log_severity absl_memory absl_no_destructor absl_optional absl_random_bit_gen_ref absl_random_distributions absl_random_random absl_span absl_status absl_statusor absl_str_format absl_string_view absl_strings absl_synchronization absl_time absl_type_traits absl_utility gpr" + "absl_algorithm_container absl_any_invocable absl_base absl_bind_front absl_bits absl_btree absl_check absl_cleanup absl_config absl_cord absl_core_headers absl_flags absl_flags_marshalling absl_flat_hash_map absl_flat_hash_set absl_function_ref absl_hash absl_inlined_vector absl_log absl_log_globals absl_log_severity absl_memory absl_no_destructor absl_node_hash_map absl_optional absl_random_bit_gen_ref absl_random_distributions absl_random_random absl_span absl_status absl_statusor absl_str_format absl_string_view absl_strings absl_synchronization absl_time absl_type_traits absl_utility gpr" "libcares openssl re2 zlib" - "-lgrpc" - "-laddress_sorting -lupb_textformat_lib -lupb_json_lib -lupb_reflection_lib -lupb_wire_lib -lupb_message_lib -lutf8_range_lib -lupb_mini_descriptor_lib -lupb_mini_table_lib -lupb_hash_lib -lupb_mem_lib -lupb_base_lib -lupb_lex_lib" @@ -738,9 +738,9 @@ index e87b7b557d..c0d1f6f363 100644 "grpc.pc") # grpc_unsecure .pc file -@@ -47350,8 +46684,8 @@ generate_pkgconfig( +@@ -51998,8 +51332,8 @@ generate_pkgconfig( "${gRPC_CORE_VERSION}" - "absl_algorithm_container absl_any_invocable absl_base absl_bind_front absl_bits absl_btree absl_check absl_cleanup absl_config absl_cord absl_core_headers absl_flags absl_flags_marshalling absl_flat_hash_map absl_flat_hash_set absl_function_ref absl_hash absl_inlined_vector absl_log absl_log_globals absl_log_severity absl_memory absl_no_destructor absl_optional absl_random_bit_gen_ref absl_random_distributions absl_random_random absl_span absl_status absl_statusor absl_str_format absl_string_view absl_strings absl_synchronization absl_time absl_type_traits absl_utility gpr" + "absl_algorithm_container absl_any_invocable absl_base absl_bind_front absl_bits absl_btree absl_check absl_cleanup absl_config absl_cord absl_core_headers absl_flags absl_flags_marshalling absl_flat_hash_map absl_flat_hash_set absl_function_ref absl_hash absl_inlined_vector absl_log absl_log_globals absl_log_severity absl_memory absl_no_destructor absl_node_hash_map absl_optional absl_random_bit_gen_ref absl_random_distributions absl_random_random absl_span absl_status absl_statusor absl_str_format absl_string_view absl_strings absl_synchronization absl_time absl_type_traits absl_utility gpr" "libcares zlib" - "-lgrpc_unsecure" - "-laddress_sorting -lupb_textformat_lib -lupb_reflection_lib -lupb_wire_lib -lupb_message_lib -lutf8_range_lib -lupb_mini_descriptor_lib -lupb_mini_table_lib -lupb_hash_lib -lupb_mem_lib -lupb_base_lib -lupb_lex_lib" @@ -749,9 +749,9 @@ index e87b7b557d..c0d1f6f363 100644 "grpc_unsecure.pc") # grpc++ .pc file -@@ -47361,8 +46695,8 @@ generate_pkgconfig( +@@ -52009,8 +51343,8 @@ generate_pkgconfig( "${gRPC_CPP_VERSION}" - "absl_absl_check absl_absl_log absl_algorithm_container absl_any_invocable absl_base absl_bind_front absl_bits absl_btree absl_check absl_cleanup absl_config absl_cord absl_core_headers absl_flags absl_flags_marshalling absl_flat_hash_map absl_flat_hash_set absl_function_ref absl_hash absl_inlined_vector absl_log absl_log_globals absl_log_severity absl_memory absl_no_destructor absl_optional absl_random_bit_gen_ref absl_random_distributions absl_random_random absl_span absl_status absl_statusor absl_str_format absl_string_view absl_strings absl_synchronization absl_time absl_type_traits absl_utility gpr grpc" + "absl_absl_check absl_absl_log absl_algorithm_container absl_any_invocable absl_base absl_bind_front absl_bits absl_btree absl_check absl_cleanup absl_config absl_cord absl_core_headers absl_dynamic_annotations absl_flags absl_flags_marshalling absl_flat_hash_map absl_flat_hash_set absl_function_ref absl_hash absl_inlined_vector absl_layout absl_log absl_log_globals absl_log_severity absl_memory absl_no_destructor absl_node_hash_map absl_optional absl_prefetch absl_random_bit_gen_ref absl_random_distributions absl_random_random absl_span absl_status absl_statusor absl_str_format absl_string_view absl_strings absl_strings_internal absl_synchronization absl_time absl_type_traits absl_utility gpr grpc" "libcares openssl re2 zlib" - "-lgrpc++" - "-laddress_sorting -lupb_textformat_lib -lupb_json_lib -lupb_reflection_lib -lupb_wire_lib -lupb_message_lib -lutf8_range_lib -lupb_mini_descriptor_lib -lupb_mini_table_lib -lupb_hash_lib -lupb_mem_lib -lupb_base_lib -lupb_lex_lib" @@ -760,9 +760,9 @@ index e87b7b557d..c0d1f6f363 100644 "grpc++.pc") # grpc++_unsecure .pc file -@@ -47372,8 +46706,8 @@ generate_pkgconfig( +@@ -52020,8 +51354,8 @@ generate_pkgconfig( "${gRPC_CPP_VERSION}" - "absl_absl_check absl_absl_log absl_algorithm_container absl_any_invocable absl_base absl_bind_front absl_bits absl_btree absl_check absl_cleanup absl_config absl_cord absl_core_headers absl_flags absl_flags_marshalling absl_flat_hash_map absl_flat_hash_set absl_function_ref absl_hash absl_inlined_vector absl_log absl_log_globals absl_log_severity absl_memory absl_no_destructor absl_optional absl_random_bit_gen_ref absl_random_distributions absl_random_random absl_span absl_status absl_statusor absl_str_format absl_string_view absl_strings absl_synchronization absl_time absl_type_traits absl_utility gpr grpc_unsecure" + "absl_absl_check absl_absl_log absl_algorithm_container absl_any_invocable absl_base absl_bind_front absl_bits absl_btree absl_check absl_cleanup absl_config absl_cord absl_core_headers absl_flags absl_flags_marshalling absl_flat_hash_map absl_flat_hash_set absl_function_ref absl_hash absl_inlined_vector absl_log absl_log_globals absl_log_severity absl_memory absl_no_destructor absl_node_hash_map absl_optional absl_random_bit_gen_ref absl_random_distributions absl_random_random absl_span absl_status absl_statusor absl_str_format absl_string_view absl_strings absl_synchronization absl_time absl_type_traits absl_utility gpr grpc_unsecure" "libcares zlib" - "-lgrpc++_unsecure" - "-laddress_sorting -lupb_textformat_lib -lupb_reflection_lib -lupb_wire_lib -lupb_message_lib -lutf8_range_lib -lupb_mini_descriptor_lib -lupb_mini_table_lib -lupb_hash_lib -lupb_mem_lib -lupb_base_lib -lupb_lex_lib" @@ -771,9 +771,9 @@ index e87b7b557d..c0d1f6f363 100644 "grpc++_unsecure.pc") # grpcpp_otel_plugin .pc file -@@ -47383,6 +46717,6 @@ generate_pkgconfig( +@@ -52031,6 +51365,6 @@ generate_pkgconfig( "${gRPC_CPP_VERSION}" - "absl_absl_check absl_absl_log absl_algorithm_container absl_any_invocable absl_base absl_bind_front absl_bits absl_btree absl_check absl_cleanup absl_config absl_cord absl_core_headers absl_flags absl_flags_marshalling absl_flat_hash_map absl_flat_hash_set absl_function_ref absl_hash absl_inlined_vector absl_log absl_log_globals absl_log_severity absl_memory absl_no_destructor absl_optional absl_random_bit_gen_ref absl_random_distributions absl_random_random absl_span absl_status absl_statusor absl_str_format absl_string_view absl_strings absl_synchronization absl_time absl_type_traits absl_utility gpr grpc grpc++ opentelemetry_api" + "absl_absl_check absl_absl_log absl_algorithm_container absl_any_invocable absl_base absl_bind_front absl_bits absl_btree absl_check absl_cleanup absl_config absl_cord absl_core_headers absl_dynamic_annotations absl_flags absl_flags_marshalling absl_flat_hash_map absl_flat_hash_set absl_function_ref absl_hash absl_inlined_vector absl_layout absl_log absl_log_globals absl_log_severity absl_memory absl_no_destructor absl_node_hash_map absl_optional absl_prefetch absl_random_bit_gen_ref absl_random_distributions absl_random_random absl_span absl_status absl_statusor absl_str_format absl_string_view absl_strings absl_strings_internal absl_synchronization absl_time absl_type_traits absl_utility gpr grpc grpc++ opentelemetry_api" "libcares openssl re2 zlib" - "-lgrpcpp_otel_plugin" - "-laddress_sorting -lupb_textformat_lib -lupb_json_lib -lupb_reflection_lib -lupb_wire_lib -lupb_message_lib -lutf8_range_lib -lupb_mini_descriptor_lib -lupb_mini_table_lib -lupb_hash_lib -lupb_mem_lib -lupb_base_lib -lupb_lex_lib" @@ -781,7 +781,7 @@ index e87b7b557d..c0d1f6f363 100644 + "-laddress_sorting" "grpcpp_otel_plugin.pc") diff --git a/cmake/upb.cmake b/cmake/upb.cmake -index 9156e5f48f..e6fa81932d 100644 +index 9156e5f..e6fa819 100644 --- a/cmake/upb.cmake +++ b/cmake/upb.cmake @@ -12,9 +12,7 @@ diff --git a/recipe/patches/0010-reduce-buildtests_cxx-target-to-end2end-tests.patch b/recipe/patches/0010-reduce-buildtests_cxx-target-to-end2end-tests.patch index 1c3eaa3e..daee38ab 100644 --- a/recipe/patches/0010-reduce-buildtests_cxx-target-to-end2end-tests.patch +++ b/recipe/patches/0010-reduce-buildtests_cxx-target-to-end2end-tests.patch @@ -1,4 +1,4 @@ -From 0f1d5f1c06deefb09a3a2a6e7e000bd1b5b4f50b Mon Sep 17 00:00:00 2001 +From 2c7c44d593d11808612470f92b23b049bd89971b Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sun, 2 Mar 2025 08:22:39 +1100 Subject: [PATCH 10/14] reduce buildtests_cxx target to end2end tests @@ -77,11 +77,11 @@ to compile, compare with the timings below. 2025-08-08T11:22:34.6749979Z [7901/8027] Creating library symlink third_party/benchmark/src/libbenchmark_main.so.1 third_party/benchmark/src/libbenchmark_main.so ``` --- - CMakeLists.txt | 717 +++---------------------------------------------- - 1 file changed, 41 insertions(+), 676 deletions(-) + CMakeLists.txt | 737 +++---------------------------------------------- + 1 file changed, 42 insertions(+), 695 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt -index c0d1f6f363..b44b6fe124 100644 +index a9e3757..e5939a5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -47,11 +47,12 @@ set(gRPC_INSTALL_SHAREDIR "share/grpc" CACHE STRING "Installation directory for @@ -98,7 +98,7 @@ index c0d1f6f363..b44b6fe124 100644 enable_testing() endif() -@@ -739,7 +740,7 @@ protobuf_generate_grpc_cpp_with_import_path_correction( +@@ -750,7 +751,7 @@ protobuf_generate_grpc_cpp_with_import_path_correction( # This enables CMake to build the project without requiring submodules # in the third_party directory as long as test builds are disabled. @@ -107,7 +107,7 @@ index c0d1f6f363..b44b6fe124 100644 protobuf_generate_grpc_cpp_with_import_path_correction( src/proto/grpc/testing/benchmark_service.proto src/proto/grpc/testing/benchmark_service.proto ) -@@ -1278,167 +1279,16 @@ endif() +@@ -1289,169 +1290,17 @@ endif() if(gRPC_BUILD_TESTS) add_custom_target(buildtests_c) @@ -120,7 +120,7 @@ index c0d1f6f363..b44b6fe124 100644 - endif() add_custom_target(buildtests_cxx) -- add_dependencies(buildtests_cxx activity_test) + add_dependencies(buildtests_cxx activity_test) - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx address_sorting_test) - endif() @@ -212,6 +212,7 @@ index c0d1f6f363..b44b6fe124 100644 - add_dependencies(buildtests_cxx channelz_registry_test) - add_dependencies(buildtests_cxx channelz_service_test) - add_dependencies(buildtests_cxx channelz_test) +- add_dependencies(buildtests_cxx channelz_tool_test) - add_dependencies(buildtests_cxx channelz_v2_service_test) - add_dependencies(buildtests_cxx check_gcp_environment_linux_test) - add_dependencies(buildtests_cxx check_gcp_environment_windows_test) @@ -233,6 +234,7 @@ index c0d1f6f363..b44b6fe124 100644 - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx client_ssl_test) - endif() +- add_dependencies(buildtests_cxx client_test) - add_dependencies(buildtests_cxx cmdline_test) - add_dependencies(buildtests_cxx codegen_test_full) - add_dependencies(buildtests_cxx codegen_test_minimal) @@ -275,7 +277,7 @@ index c0d1f6f363..b44b6fe124 100644 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) add_dependencies(buildtests_cxx end2end_chaotic_good_no_logging_test) endif() -@@ -1454,508 +1304,23 @@ if(gRPC_BUILD_TESTS) +@@ -1469,526 +1318,24 @@ if(gRPC_BUILD_TESTS) add_dependencies(buildtests_cxx end2end_posix_no_logging_test) add_dependencies(buildtests_cxx end2end_posix_test) add_dependencies(buildtests_cxx end2end_test) @@ -314,6 +316,7 @@ index c0d1f6f363..b44b6fe124 100644 - add_dependencies(buildtests_cxx filter_fusion_test) - add_dependencies(buildtests_cxx filter_test_test) - add_dependencies(buildtests_cxx flaky_network_test) +- add_dependencies(buildtests_cxx flow_control_manager_test) - add_dependencies(buildtests_cxx flow_control_test) - add_dependencies(buildtests_cxx for_each_test) - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) @@ -395,6 +398,7 @@ index c0d1f6f363..b44b6fe124 100644 - add_dependencies(buildtests_cxx initial_settings_frame_bad_client_test) - add_dependencies(buildtests_cxx insecure_credentials_test) - add_dependencies(buildtests_cxx insecure_security_connector_test) +- add_dependencies(buildtests_cxx instrument_test) - add_dependencies(buildtests_cxx inter_activity_latch_test) - add_dependencies(buildtests_cxx inter_activity_mutex_test) - add_dependencies(buildtests_cxx inter_activity_pipe_test) @@ -415,6 +419,8 @@ index c0d1f6f363..b44b6fe124 100644 - add_dependencies(buildtests_cxx jwt_verifier_test) - add_dependencies(buildtests_cxx lame_client_test) - add_dependencies(buildtests_cxx latch_test) +- add_dependencies(buildtests_cxx latent_see_service_test) +- add_dependencies(buildtests_cxx latent_see_test) - add_dependencies(buildtests_cxx layout_test) - add_dependencies(buildtests_cxx lb_get_cpu_stats_test) - add_dependencies(buildtests_cxx lb_load_data_store_test) @@ -544,6 +550,7 @@ index c0d1f6f363..b44b6fe124 100644 - add_dependencies(buildtests_cxx resolve_address_using_native_resolver_test) add_dependencies(buildtests_cxx resource_quota_end2end_stress_test) - add_dependencies(buildtests_cxx resource_quota_test) +- add_dependencies(buildtests_cxx resource_tracker_test) - add_dependencies(buildtests_cxx retry_service_config_test) - add_dependencies(buildtests_cxx retry_throttle_test) - add_dependencies(buildtests_cxx ring_buffer_test) @@ -593,6 +600,10 @@ index c0d1f6f363..b44b6fe124 100644 - add_dependencies(buildtests_cxx socket_utils_test) - endif() - add_dependencies(buildtests_cxx sorted_pack_test) + add_dependencies(buildtests_cxx spiffe_bundle_map_end2end_test) +- if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) +- add_dependencies(buildtests_cxx spiffe_ssl_transport_security_test) +- endif() - add_dependencies(buildtests_cxx spiffe_utils_test) - add_dependencies(buildtests_cxx spinlock_test) - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) @@ -610,6 +621,7 @@ index c0d1f6f363..b44b6fe124 100644 - add_dependencies(buildtests_cxx status_flag_test) - add_dependencies(buildtests_cxx status_helper_test) - add_dependencies(buildtests_cxx status_util_test) +- add_dependencies(buildtests_cxx stream_data_queue_test) - add_dependencies(buildtests_cxx stream_leak_with_queued_flow_control_update_test) - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx streaming_throughput_test) @@ -672,12 +684,14 @@ index c0d1f6f363..b44b6fe124 100644 - add_dependencies(buildtests_cxx tls_key_export_test) - add_dependencies(buildtests_cxx tls_security_connector_test) - add_dependencies(buildtests_cxx too_many_pings_test) +- add_dependencies(buildtests_cxx tool_test_test) - add_dependencies(buildtests_cxx trace_flags_test) - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx traced_buffer_list_test) - endif() - add_dependencies(buildtests_cxx transport_security_common_api_test) - add_dependencies(buildtests_cxx transport_security_test) +- add_dependencies(buildtests_cxx trie_lookup_test) - add_dependencies(buildtests_cxx try_join_test) - add_dependencies(buildtests_cxx try_seq_metadata_test) - add_dependencies(buildtests_cxx try_seq_test) @@ -706,6 +720,7 @@ index c0d1f6f363..b44b6fe124 100644 - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx work_serializer_test) - endif() +- add_dependencies(buildtests_cxx writable_streams_test) - add_dependencies(buildtests_cxx write_size_policy_test) - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx writes_per_rpc_test) @@ -749,6 +764,8 @@ index c0d1f6f363..b44b6fe124 100644 - add_dependencies(buildtests_cxx xds_http_filters_test) - add_dependencies(buildtests_cxx xds_lb_policy_registry_test) - add_dependencies(buildtests_cxx xds_listener_resource_type_test) +- add_dependencies(buildtests_cxx xds_matcher_parse_test) +- add_dependencies(buildtests_cxx xds_matcher_test) - add_dependencies(buildtests_cxx xds_metadata_test) - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx xds_outlier_detection_end2end_test) @@ -774,6 +791,9 @@ index c0d1f6f363..b44b6fe124 100644 - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx xds_security_end2end_test) - endif() +- if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) +- add_dependencies(buildtests_cxx xds_security_spiffe_end2end_test) +- endif() - add_dependencies(buildtests_cxx xds_stats_watcher_test) - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx xds_wrr_end2end_test) @@ -784,7 +804,7 @@ index c0d1f6f363..b44b6fe124 100644 add_custom_target(buildtests DEPENDS buildtests_c buildtests_cxx) -@@ -3169,7 +2534,7 @@ if(gRPC_INSTALL) +@@ -3227,7 +2574,7 @@ if(gRPC_INSTALL) ) endif() @@ -793,7 +813,7 @@ index c0d1f6f363..b44b6fe124 100644 add_library(grpc_test_util test/core/event_engine/test_init.cc -@@ -3891,7 +3256,7 @@ if(gRPC_INSTALL) +@@ -3960,7 +3307,7 @@ if(gRPC_INSTALL) ) endif() @@ -802,7 +822,7 @@ index c0d1f6f363..b44b6fe124 100644 add_library(gtest third_party/googletest/googlemock/src/gmock-cardinalities.cc -@@ -4613,7 +3978,7 @@ if(gRPC_INSTALL) +@@ -4686,7 +4033,7 @@ if(gRPC_INSTALL) endif() endif() @@ -811,7 +831,7 @@ index c0d1f6f363..b44b6fe124 100644 add_library(grpc++_test src/cpp/client/channel_test_peer.cc -@@ -4686,7 +4051,7 @@ foreach(_hdr +@@ -4759,7 +4106,7 @@ foreach(_hdr endforeach() endif() @@ -820,7 +840,7 @@ index c0d1f6f363..b44b6fe124 100644 add_library(grpc++_test_config test/cpp/util/test_config_cc.cc -@@ -4738,7 +4103,7 @@ target_link_libraries(grpc++_test_config +@@ -4811,7 +4158,7 @@ target_link_libraries(grpc++_test_config endif() @@ -829,7 +849,7 @@ index c0d1f6f363..b44b6fe124 100644 add_library(grpc++_test_util src/core/util/subprocess_posix.cc -@@ -6056,7 +5421,7 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) +@@ -6222,7 +5569,7 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) endif() endif() @@ -838,7 +858,7 @@ index c0d1f6f363..b44b6fe124 100644 add_executable(admin_services_end2end_test ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/csds.pb.cc -@@ -7472,7 +6837,7 @@ target_link_libraries(arena_test +@@ -7687,7 +7034,7 @@ target_link_libraries(arena_test endif() @@ -847,7 +867,7 @@ index c0d1f6f363..b44b6fe124 100644 add_executable(async_end2end_test ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/health/v1/health.pb.cc -@@ -10727,7 +10092,7 @@ target_link_libraries(client_authority_filter_test +@@ -11251,7 +10598,7 @@ target_link_libraries(client_authority_filter_test endif() @@ -856,7 +876,7 @@ index c0d1f6f363..b44b6fe124 100644 add_executable(client_callback_end2end_test ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc -@@ -10972,7 +10337,7 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) +@@ -11496,7 +10843,7 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) endif() endif() @@ -865,7 +885,7 @@ index c0d1f6f363..b44b6fe124 100644 add_executable(client_interceptors_end2end_test ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc -@@ -11049,7 +10414,7 @@ target_link_libraries(client_interceptors_end2end_test +@@ -11573,7 +10920,7 @@ target_link_libraries(client_interceptors_end2end_test endif() @@ -874,7 +894,7 @@ index c0d1f6f363..b44b6fe124 100644 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) add_executable(client_lb_end2end_test -@@ -11743,7 +11108,7 @@ target_link_libraries(connectivity_state_test +@@ -12314,7 +11661,7 @@ target_link_libraries(connectivity_state_test endif() @@ -883,7 +903,7 @@ index c0d1f6f363..b44b6fe124 100644 add_executable(context_allocator_end2end_test ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc -@@ -12599,7 +11964,7 @@ target_link_libraries(duplicate_header_bad_client_test +@@ -13238,7 +12585,7 @@ target_link_libraries(duplicate_header_bad_client_test endif() @@ -892,7 +912,7 @@ index c0d1f6f363..b44b6fe124 100644 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) add_executable(end2end_chaotic_good_no_logging_test -@@ -12703,7 +12068,7 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) +@@ -13343,7 +12690,7 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) endif() endif() @@ -901,7 +921,7 @@ index c0d1f6f363..b44b6fe124 100644 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) add_executable(end2end_chaotic_good_test -@@ -12895,7 +12260,7 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) +@@ -13536,7 +12883,7 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) endif() endif() @@ -910,7 +930,7 @@ index c0d1f6f363..b44b6fe124 100644 add_executable(end2end_http2_no_logging_test ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc -@@ -12997,7 +12362,7 @@ target_link_libraries(end2end_http2_no_logging_test +@@ -13639,7 +12986,7 @@ target_link_libraries(end2end_http2_no_logging_test endif() @@ -919,7 +939,7 @@ index c0d1f6f363..b44b6fe124 100644 add_executable(end2end_http2_security_no_logging_test ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc -@@ -13099,7 +12464,7 @@ target_link_libraries(end2end_http2_security_no_logging_test +@@ -13742,7 +13089,7 @@ target_link_libraries(end2end_http2_security_no_logging_test endif() @@ -928,7 +948,7 @@ index c0d1f6f363..b44b6fe124 100644 add_executable(end2end_http2_security_test ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc -@@ -13289,7 +12654,7 @@ target_link_libraries(end2end_http2_security_test +@@ -13933,7 +13280,7 @@ target_link_libraries(end2end_http2_security_test endif() @@ -937,7 +957,7 @@ index c0d1f6f363..b44b6fe124 100644 add_executable(end2end_http2_test ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc -@@ -13479,7 +12844,7 @@ target_link_libraries(end2end_http2_test +@@ -14124,7 +13471,7 @@ target_link_libraries(end2end_http2_test endif() @@ -946,7 +966,7 @@ index c0d1f6f363..b44b6fe124 100644 add_executable(end2end_inproc_no_logging_test ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc -@@ -13581,7 +12946,7 @@ target_link_libraries(end2end_inproc_no_logging_test +@@ -14227,7 +13574,7 @@ target_link_libraries(end2end_inproc_no_logging_test endif() @@ -955,16 +975,16 @@ index c0d1f6f363..b44b6fe124 100644 add_executable(end2end_inproc_test ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc -@@ -13771,7 +13136,7 @@ target_link_libraries(end2end_inproc_test +@@ -14418,7 +13765,7 @@ target_link_libraries(end2end_inproc_test endif() -if(gRPC_BUILD_TESTS) +if(gRPC_CF_TESTS) - add_executable(end2end_posix_no_logging_test + add_executable(end2end_ph2_no_logging_test ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc -@@ -13873,7 +13238,7 @@ target_link_libraries(end2end_posix_no_logging_test +@@ -14815,7 +14162,7 @@ target_link_libraries(end2end_posix_no_logging_test endif() @@ -973,7 +993,7 @@ index c0d1f6f363..b44b6fe124 100644 add_executable(end2end_posix_test ${_gRPC_PROTO_GENS_DIR}/src/core/ext/transport/chaotic_good/chaotic_good_frame.pb.cc -@@ -14063,7 +13428,7 @@ target_link_libraries(end2end_posix_test +@@ -15006,7 +14353,7 @@ target_link_libraries(end2end_posix_test endif() @@ -982,7 +1002,7 @@ index c0d1f6f363..b44b6fe124 100644 add_executable(end2end_test ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc -@@ -16201,7 +15566,7 @@ target_link_libraries(gcp_authentication_filter_test +@@ -17443,7 +16790,7 @@ target_link_libraries(gcp_authentication_filter_test endif() @@ -991,7 +1011,7 @@ index c0d1f6f363..b44b6fe124 100644 add_executable(generic_end2end_test ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc -@@ -16708,7 +16073,7 @@ target_link_libraries(grpc_authorization_policy_provider_test +@@ -17950,7 +17297,7 @@ target_link_libraries(grpc_authorization_policy_provider_test endif() @@ -1000,7 +1020,7 @@ index c0d1f6f363..b44b6fe124 100644 add_executable(grpc_authz_end2end_test ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc -@@ -17722,7 +17087,7 @@ target_link_libraries(grpclb_api_test +@@ -18964,7 +18311,7 @@ target_link_libraries(grpclb_api_test endif() @@ -1009,7 +1029,7 @@ index c0d1f6f363..b44b6fe124 100644 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) add_executable(grpclb_end2end_test -@@ -18493,7 +17858,7 @@ target_link_libraries(headers_bad_client_test +@@ -19451,7 +18798,7 @@ target_link_libraries(headers_bad_client_test endif() @@ -1018,7 +1038,7 @@ index c0d1f6f363..b44b6fe124 100644 add_executable(health_service_end2end_test ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/health/v1/health.pb.cc -@@ -19174,7 +18539,7 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) +@@ -20193,7 +19540,7 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) endif() endif() @@ -1027,7 +1047,7 @@ index c0d1f6f363..b44b6fe124 100644 add_executable(hybrid_end2end_test ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc -@@ -21306,7 +20671,7 @@ target_link_libraries(memory_quota_test +@@ -22960,7 +22307,7 @@ target_link_libraries(memory_quota_test endif() @@ -1035,8 +1055,8 @@ index c0d1f6f363..b44b6fe124 100644 +if(gRPC_CF_TESTS) add_executable(memory_usage_test - src/core/util/time.cc -@@ -22314,7 +21679,7 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) + src/core/lib/debug/trace.cc +@@ -23976,7 +23323,7 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) endif() endif() @@ -1045,7 +1065,7 @@ index c0d1f6f363..b44b6fe124 100644 add_executable(orca_service_end2end_test ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/orca_service.pb.cc -@@ -23717,7 +23082,7 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) +@@ -25462,7 +24809,7 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) endif() endif() @@ -1054,7 +1074,7 @@ index c0d1f6f363..b44b6fe124 100644 add_executable(port_sharing_end2end_test ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc -@@ -25644,7 +25009,7 @@ target_link_libraries(random_early_detection_test +@@ -27784,7 +27131,7 @@ target_link_libraries(random_early_detection_test endif() @@ -1063,7 +1083,7 @@ index c0d1f6f363..b44b6fe124 100644 add_executable(raw_end2end_test ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc -@@ -26246,7 +25611,7 @@ target_link_libraries(resolve_address_using_native_resolver_test +@@ -28395,7 +27742,7 @@ target_link_libraries(resolve_address_using_native_resolver_test endif() @@ -1072,7 +1092,7 @@ index c0d1f6f363..b44b6fe124 100644 add_executable(resource_quota_end2end_stress_test ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc -@@ -26528,7 +25893,7 @@ target_link_libraries(ring_hash_test +@@ -28716,7 +28063,7 @@ target_link_libraries(ring_hash_test endif() @@ -1081,7 +1101,7 @@ index c0d1f6f363..b44b6fe124 100644 add_executable(rls_end2end_test ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/lookup/v1/rls.pb.cc -@@ -27467,7 +26832,7 @@ target_link_libraries(server_early_return_test +@@ -29704,7 +29051,7 @@ target_link_libraries(server_early_return_test endif() @@ -1090,7 +1110,7 @@ index c0d1f6f363..b44b6fe124 100644 add_executable(server_interceptors_end2end_test ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc -@@ -27753,7 +27118,7 @@ target_link_libraries(server_test +@@ -29990,7 +29337,7 @@ target_link_libraries(server_test endif() @@ -1099,7 +1119,16 @@ index c0d1f6f363..b44b6fe124 100644 add_executable(service_config_end2end_test ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc -@@ -29609,7 +28974,7 @@ target_link_libraries(test_core_credentials_transport_ssl_ssl_credentials_test +@@ -30609,7 +29956,7 @@ target_link_libraries(sorted_pack_test + + + endif() +-if(gRPC_BUILD_TESTS) ++if(gRPC_BUILD_TESTS OR gRPC_CF_TESTS) + + add_executable(spiffe_bundle_map_end2end_test + ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc +@@ -32295,7 +31642,7 @@ target_link_libraries(test_core_credentials_transport_ssl_ssl_credentials_test endif() @@ -1108,7 +1137,7 @@ index c0d1f6f363..b44b6fe124 100644 add_executable(test_core_credentials_transport_tls_tls_credentials_test test/core/credentials/transport/tls/tls_credentials_test.cc -@@ -29971,7 +29336,7 @@ target_link_libraries(test_cpp_client_credentials_test +@@ -32786,7 +32133,7 @@ target_link_libraries(test_cpp_client_credentials_test endif() @@ -1117,7 +1146,7 @@ index c0d1f6f363..b44b6fe124 100644 add_executable(test_cpp_end2end_ssl_credentials_test ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc -@@ -30047,7 +29412,7 @@ target_link_libraries(test_cpp_end2end_ssl_credentials_test +@@ -32862,7 +32209,7 @@ target_link_libraries(test_cpp_end2end_ssl_credentials_test endif() diff --git a/recipe/patches/0011-build-grpcio-tools-from-source.patch b/recipe/patches/0011-build-grpcio-tools-from-source.patch index 7de9f136..b6d1912f 100644 --- a/recipe/patches/0011-build-grpcio-tools-from-source.patch +++ b/recipe/patches/0011-build-grpcio-tools-from-source.patch @@ -1,4 +1,4 @@ -From 503b3c33580670b772bb321dc44a4b1f1e3b1f03 Mon Sep 17 00:00:00 2001 +From 00f0c33f88eff7ea6d84d4344994925b42e8ccbb Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Tue, 4 Mar 2025 08:53:30 +1100 Subject: [PATCH 11/14] build grpcio-tools from source @@ -8,7 +8,7 @@ Subject: [PATCH 11/14] build grpcio-tools from source 1 file changed, 31 insertions(+), 12 deletions(-) diff --git a/tools/distrib/python/grpcio_tools/setup.py b/tools/distrib/python/grpcio_tools/setup.py -index c70bf65192..c005ea6ec0 100644 +index 6d65e83..4e7b83a 100644 --- a/tools/distrib/python/grpcio_tools/setup.py +++ b/tools/distrib/python/grpcio_tools/setup.py @@ -15,6 +15,7 @@ @@ -19,7 +19,7 @@ index c70bf65192..c005ea6ec0 100644 import platform import re import shlex -@@ -177,12 +178,9 @@ EXTRA_ENV_LINK_ARGS = os.environ.get("GRPC_PYTHON_LDFLAGS", None) +@@ -181,12 +182,9 @@ EXTRA_ENV_LINK_ARGS = os.environ.get("GRPC_PYTHON_LDFLAGS", None) if EXTRA_ENV_COMPILE_ARGS is None: EXTRA_ENV_COMPILE_ARGS = "" if "win32" in sys.platform: @@ -34,7 +34,7 @@ index c70bf65192..c005ea6ec0 100644 elif "linux" in sys.platform: # GCC by defaults uses C17 so only C++17 needs to be specified. EXTRA_ENV_COMPILE_ARGS += " -std=c++17" -@@ -241,14 +239,16 @@ EXTRA_LINK_ARGS = shlex.split(EXTRA_ENV_LINK_ARGS) +@@ -245,14 +243,16 @@ EXTRA_LINK_ARGS = shlex.split(EXTRA_ENV_LINK_ARGS) if BUILD_WITH_STATIC_LIBSTDCXX: EXTRA_LINK_ARGS.append("-static-libstdc++") @@ -54,7 +54,7 @@ index c70bf65192..c005ea6ec0 100644 GRPC_PYTHON_TOOLS_PACKAGE = "grpc_tools" GRPC_PYTHON_PROTO_RESOURCES_NAME = "_proto" -@@ -290,16 +290,34 @@ def package_data(): +@@ -294,16 +294,34 @@ def package_data(): return {GRPC_PYTHON_TOOLS_PACKAGE: proto_files} @@ -91,7 +91,7 @@ index c70bf65192..c005ea6ec0 100644 ] + CC_FILES plugin_ext = Extension( -@@ -307,10 +325,11 @@ def extension_modules(): +@@ -311,10 +329,11 @@ def extension_modules(): sources=plugin_sources, include_dirs=[ ".", diff --git a/recipe/patches/0012-add-linkage-to-openssl-to-grpc_unsecure.patch b/recipe/patches/0012-add-linkage-to-openssl-to-grpc_unsecure.patch index f7562ebe..c4dc0e41 100644 --- a/recipe/patches/0012-add-linkage-to-openssl-to-grpc_unsecure.patch +++ b/recipe/patches/0012-add-linkage-to-openssl-to-grpc_unsecure.patch @@ -1,4 +1,4 @@ -From b7eff64d6949288fa94a9d06fca6d222b381d6f4 Mon Sep 17 00:00:00 2001 +From e4361e8e0f0ff6e551fb83fc8e285bcc2657d9ea Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sat, 1 Mar 2025 08:06:28 +1100 Subject: [PATCH 12/14] add linkage to openssl to grpc_unsecure @@ -12,10 +12,10 @@ https://github.com/grpc/grpc/blob/v1.69.0/src/core/tsi/ssl_transport_security_ut 1 file changed, 2 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt -index b44b6fe124..b28c5a7318 100644 +index e5939a5..d95ed30 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -3091,6 +3091,7 @@ add_library(grpc_unsecure +@@ -3140,6 +3140,7 @@ add_library(grpc_unsecure src/core/tsi/alts/handshaker/transport_security_common_api.cc src/core/tsi/fake_transport_security.cc src/core/tsi/local_transport_security.cc @@ -23,11 +23,11 @@ index b44b6fe124..b28c5a7318 100644 src/core/tsi/transport_security.cc src/core/tsi/transport_security_grpc.cc src/core/util/backoff.cc -@@ -3169,6 +3170,7 @@ target_link_libraries(grpc_unsecure +@@ -3220,6 +3221,7 @@ target_link_libraries(grpc_unsecure PRIVATE ${_gRPC_ZLIB_LIBRARIES} PRIVATE ${_gRPC_CARES_LIBRARIES} # external dependencies that need to available at runtime + PUBLIC ${_gRPC_SSL_LIBRARIES} PRIVATE absl::algorithm_container - PRIVATE absl::config PRIVATE absl::no_destructor + PRIVATE absl::btree diff --git a/recipe/patches/0013-reduce-grpc-symbol-explosion-with-autogenerated-expo.patch b/recipe/patches/0013-reduce-grpc-symbol-explosion-with-autogenerated-expo.patch index 5d3c8c95..3a9d74c4 100644 --- a/recipe/patches/0013-reduce-grpc-symbol-explosion-with-autogenerated-expo.patch +++ b/recipe/patches/0013-reduce-grpc-symbol-explosion-with-autogenerated-expo.patch @@ -1,4 +1,4 @@ -From bd740a3a220b8a5cf8482fb5de10d48d2a44d8db Mon Sep 17 00:00:00 2001 +From f2ef8af85e4adcc0326dd472827dcf7c34359ec6 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Wed, 5 Mar 2025 13:21:01 +1100 Subject: [PATCH 13/14] reduce grpc symbol explosion with autogenerated export @@ -38,10 +38,10 @@ other consumers end up linking to them. 1 file changed, 24 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt -index b28c5a7318..53133fe185 100644 +index d95ed30..e76dce5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -2401,6 +2401,30 @@ add_library(grpc +@@ -2441,6 +2441,30 @@ add_library(grpc src/core/xds/xds_client/xds_client.cc ) diff --git a/recipe/patches/0014-update-GRPC_DLL-instances-where-necessary.patch b/recipe/patches/0014-update-GRPC_DLL-instances-where-necessary.patch index 3026ff49..50bfd48f 100644 --- a/recipe/patches/0014-update-GRPC_DLL-instances-where-necessary.patch +++ b/recipe/patches/0014-update-GRPC_DLL-instances-where-necessary.patch @@ -1,4 +1,4 @@ -From c7b24ac6a94629e400844e29759af2edb974008a Mon Sep 17 00:00:00 2001 +From 5fcad6c84f4c4d4c78ffff8343d811cd5e377910 Mon Sep 17 00:00:00 2001 From: "H. Vetinari" Date: Sun, 2 Mar 2025 07:16:19 +1100 Subject: [PATCH 14/14] update GRPC_DLL instances where necessary @@ -8,25 +8,28 @@ Subject: [PATCH 14/14] update GRPC_DLL instances where necessary src/core/config/core_configuration.h | 2 +- src/core/credentials/call/json_util.h | 2 +- .../transport/tls/grpc_tls_certificate_provider.h | 2 +- + src/core/credentials/transport/tls/spiffe_utils.h | 4 ++-- src/core/ext/transport/chttp2/server/chttp2_server.h | 2 +- src/core/ext/transport/inproc/inproc_transport.h | 2 +- src/core/lib/channel/channel_args.h | 4 ++-- src/core/lib/debug/trace_flags.h | 2 +- src/core/lib/experiments/config.h | 4 ++-- src/core/lib/iomgr/iomgr.h | 2 +- + src/core/lib/iomgr/socket_mutator.h | 2 +- src/core/lib/promise/activity.h | 2 +- src/core/lib/resource_quota/thread_quota.h | 2 +- src/core/lib/surface/call.h | 4 ++-- src/core/lib/surface/completion_queue.h | 8 ++++---- src/core/transport/auth_context.h | 2 +- + src/core/tsi/ssl_transport_security.h | 2 +- src/core/util/json/json_reader.cc | 2 +- src/core/util/json/json_reader.h | 2 +- src/core/util/load_file.h | 2 +- src/core/util/time.h | 4 ++-- - 19 files changed, 26 insertions(+), 26 deletions(-) + 22 files changed, 30 insertions(+), 30 deletions(-) diff --git a/include/grpc/event_engine/event_engine.h b/include/grpc/event_engine/event_engine.h -index d2c91ca596..1abaa7ac6f 100644 +index d2c91ca..1abaa7a 100644 --- a/include/grpc/event_engine/event_engine.h +++ b/include/grpc/event_engine/event_engine.h @@ -147,7 +147,7 @@ class EventEngine : public std::enable_shared_from_this, @@ -39,10 +42,10 @@ index d2c91ca596..1abaa7ac6f 100644 /// Thin wrapper around a platform-specific sockaddr type. A sockaddr struct /// exists on all platforms that gRPC supports. diff --git a/src/core/config/core_configuration.h b/src/core/config/core_configuration.h -index b3522d9294..c71eec8655 100644 +index 60a733d..5614c38 100644 --- a/src/core/config/core_configuration.h +++ b/src/core/config/core_configuration.h -@@ -39,7 +39,7 @@ namespace grpc_core { +@@ -40,7 +40,7 @@ namespace grpc_core { // Global singleton that stores library configuration - factories, etc... // that plugins might choose to extend. @@ -52,7 +55,7 @@ index b3522d9294..c71eec8655 100644 CoreConfiguration(const CoreConfiguration&) = delete; CoreConfiguration& operator=(const CoreConfiguration&) = delete; diff --git a/src/core/credentials/call/json_util.h b/src/core/credentials/call/json_util.h -index da7ff0a771..d1f6a52fdf 100644 +index da7ff0a..d1f6a52 100644 --- a/src/core/credentials/call/json_util.h +++ b/src/core/credentials/call/json_util.h @@ -31,7 +31,7 @@ @@ -65,10 +68,10 @@ index da7ff0a771..d1f6a52fdf 100644 grpc_error_handle* error); diff --git a/src/core/credentials/transport/tls/grpc_tls_certificate_provider.h b/src/core/credentials/transport/tls/grpc_tls_certificate_provider.h -index d69aa6e7d5..9514cf6275 100644 +index 072960e..ff83cbf 100644 --- a/src/core/credentials/transport/tls/grpc_tls_certificate_provider.h +++ b/src/core/credentials/transport/tls/grpc_tls_certificate_provider.h -@@ -106,7 +106,7 @@ class StaticDataCertificateProvider final +@@ -107,7 +107,7 @@ class StaticDataCertificateProvider final UniqueTypeName type() const override; @@ -77,8 +80,30 @@ index d69aa6e7d5..9514cf6275 100644 private: struct WatcherInfo { +diff --git a/src/core/credentials/transport/tls/spiffe_utils.h b/src/core/credentials/transport/tls/spiffe_utils.h +index 1c4f011..274e6f5 100644 +--- a/src/core/credentials/transport/tls/spiffe_utils.h ++++ b/src/core/credentials/transport/tls/spiffe_utils.h +@@ -86,7 +86,7 @@ class SpiffeBundle final { + // SpiffeBundles should be used by loading a SpiffeBundleMap via + // SpiffeBundleMap::FromFile + SpiffeBundle() = default; +- ~SpiffeBundle(); ++ GRPC_DLL ~SpiffeBundle(); + SpiffeBundle(const SpiffeBundle& other); + SpiffeBundle& operator=(const SpiffeBundle& other); + +@@ -136,7 +136,7 @@ class SpiffeBundleMap final { + // returned value represents a valid and SPIFFE Bundle Map. + // The only supported use is configuring X509 roots for a given trust domain - + // no other SPIFFE Bundle configurations are supported. +- static absl::StatusOr FromFile(absl::string_view file_path); ++ GRPC_DLL static absl::StatusOr FromFile(absl::string_view file_path); + + // Returns the roots for a given trust domain in the SPIFFE Bundle Map. + absl::StatusOr> GetRoots( diff --git a/src/core/ext/transport/chttp2/server/chttp2_server.h b/src/core/ext/transport/chttp2/server/chttp2_server.h -index 14d62cb513..90f2fb2252 100644 +index 14d62cb..90f2fb2 100644 --- a/src/core/ext/transport/chttp2/server/chttp2_server.h +++ b/src/core/ext/transport/chttp2/server/chttp2_server.h @@ -235,7 +235,7 @@ class PassiveListenerImpl final : public PassiveListener { @@ -91,7 +116,7 @@ index 14d62cb513..90f2fb2252 100644 void ListenerDestroyed() ABSL_LOCKS_EXCLUDED(mu_); diff --git a/src/core/ext/transport/inproc/inproc_transport.h b/src/core/ext/transport/inproc/inproc_transport.h -index 05030d6e40..b1a9fe8e9a 100644 +index 05030d6..b1a9fe8 100644 --- a/src/core/ext/transport/inproc/inproc_transport.h +++ b/src/core/ext/transport/inproc/inproc_transport.h @@ -21,7 +21,7 @@ @@ -104,7 +129,7 @@ index 05030d6e40..b1a9fe8e9a 100644 void* reserved); diff --git a/src/core/lib/channel/channel_args.h b/src/core/lib/channel/channel_args.h -index 0184ead9fb..b6f20dd50d 100644 +index 0184ead..b6f20dd 100644 --- a/src/core/lib/channel/channel_args.h +++ b/src/core/lib/channel/channel_args.h @@ -413,8 +413,8 @@ class ChannelArgs { @@ -119,7 +144,7 @@ index 0184ead9fb..b6f20dd50d 100644 ChannelArgs& operator=(const ChannelArgs&); ChannelArgs(ChannelArgs&&) noexcept; diff --git a/src/core/lib/debug/trace_flags.h b/src/core/lib/debug/trace_flags.h -index 6d4fffe037..41a64c2627 100644 +index 6d4fffe..41a64c2 100644 --- a/src/core/lib/debug/trace_flags.h +++ b/src/core/lib/debug/trace_flags.h @@ -50,7 +50,7 @@ extern DebugOnlyTraceFlag work_serializer_trace; @@ -132,7 +157,7 @@ index 6d4fffe037..41a64c2627 100644 extern TraceFlag bdp_estimator_trace; extern TraceFlag call_trace; diff --git a/src/core/lib/experiments/config.h b/src/core/lib/experiments/config.h -index e74f7c6b71..8262e87816 100644 +index e74f7c6..8262e87 100644 --- a/src/core/lib/experiments/config.h +++ b/src/core/lib/experiments/config.h @@ -64,7 +64,7 @@ class ExperimentFlags { @@ -154,7 +179,7 @@ index e74f7c6b71..8262e87816 100644 // Return true if experiment \a experiment_id is enabled. diff --git a/src/core/lib/iomgr/iomgr.h b/src/core/lib/iomgr/iomgr.h -index 280471fae8..506c6e3682 100644 +index 280471f..506c6e3 100644 --- a/src/core/lib/iomgr/iomgr.h +++ b/src/core/lib/iomgr/iomgr.h @@ -42,7 +42,7 @@ void grpc_iomgr_shutdown_background_closure(); @@ -166,8 +191,21 @@ index 280471fae8..506c6e3682 100644 /// Returns true if the caller is a worker thread for any background poller. bool grpc_iomgr_is_any_background_poller_thread(); +diff --git a/src/core/lib/iomgr/socket_mutator.h b/src/core/lib/iomgr/socket_mutator.h +index 9ce180b..17f4846 100644 +--- a/src/core/lib/iomgr/socket_mutator.h ++++ b/src/core/lib/iomgr/socket_mutator.h +@@ -67,7 +67,7 @@ void grpc_socket_mutator_init(grpc_socket_mutator* mutator, + const grpc_socket_mutator_vtable* vtable); + + /// Wrap \a mutator as a grpc_arg +-grpc_arg grpc_socket_mutator_to_arg(grpc_socket_mutator* mutator); ++GRPC_DLL grpc_arg grpc_socket_mutator_to_arg(grpc_socket_mutator* mutator); + + /// Perform the file descriptor mutation operation of \a mutator on \a fd + bool grpc_socket_mutator_mutate_fd(grpc_socket_mutator* mutator, int fd, diff --git a/src/core/lib/promise/activity.h b/src/core/lib/promise/activity.h -index f3aa85925a..673a5beca2 100644 +index 313de02..8fbc8da 100644 --- a/src/core/lib/promise/activity.h +++ b/src/core/lib/promise/activity.h @@ -75,7 +75,7 @@ struct Unwakeable final : public Wakeable { @@ -180,7 +218,7 @@ index f3aa85925a..673a5beca2 100644 static Unwakeable* unwakeable() { return NoDestructSingleton::Get(); diff --git a/src/core/lib/resource_quota/thread_quota.h b/src/core/lib/resource_quota/thread_quota.h -index 18a6e13e7f..83594ba83b 100644 +index 18a6e13..83594ba 100644 --- a/src/core/lib/resource_quota/thread_quota.h +++ b/src/core/lib/resource_quota/thread_quota.h @@ -45,7 +45,7 @@ class ThreadQuota : public RefCounted { @@ -193,10 +231,10 @@ index 18a6e13e7f..83594ba83b 100644 private: Mutex mu_; diff --git a/src/core/lib/surface/call.h b/src/core/lib/surface/call.h -index bc7220ac60..baec12c33c 100644 +index 46e2b72..7c4dccb 100644 --- a/src/core/lib/surface/call.h +++ b/src/core/lib/surface/call.h -@@ -302,9 +302,9 @@ grpc_compression_algorithm grpc_call_compression_for_level( +@@ -303,9 +303,9 @@ grpc_compression_algorithm grpc_call_compression_for_level( // Did this client call receive a trailers-only response // TODO(markdroth): This is currently available only to the C++ API. // Move to surface API if requested by other languages. @@ -209,7 +247,7 @@ index bc7220ac60..baec12c33c 100644 #endif // GRPC_SRC_CORE_LIB_SURFACE_CALL_H diff --git a/src/core/lib/surface/completion_queue.h b/src/core/lib/surface/completion_queue.h -index d99c7a248c..d68ce75f8c 100644 +index d99c7a2..d68ce75 100644 --- a/src/core/lib/surface/completion_queue.h +++ b/src/core/lib/surface/completion_queue.h @@ -55,8 +55,8 @@ void grpc_cq_internal_unref(grpc_completion_queue* cq, const char* reason, @@ -238,7 +276,7 @@ index d99c7a248c..d68ce75f8c 100644 void (*done)(void* done_arg, grpc_cq_completion* storage), void* done_arg, grpc_cq_completion* storage, diff --git a/src/core/transport/auth_context.h b/src/core/transport/auth_context.h -index e603660042..2b0ba4cc07 100644 +index dbadba9..e113226 100644 --- a/src/core/transport/auth_context.h +++ b/src/core/transport/auth_context.h @@ -49,7 +49,7 @@ struct grpc_auth_property_array { @@ -250,8 +288,20 @@ index e603660042..2b0ba4cc07 100644 #define GRPC_AUTH_CONTEXT_ARG "grpc.auth_context" +diff --git a/src/core/tsi/ssl_transport_security.h b/src/core/tsi/ssl_transport_security.h +index 820d562..60524c7 100644 +--- a/src/core/tsi/ssl_transport_security.h ++++ b/src/core/tsi/ssl_transport_security.h +@@ -448,6 +448,6 @@ tsi_result tsi_ssl_extract_x509_subject_names_from_pem_cert( + tsi_result tsi_ssl_get_cert_chain_contents(STACK_OF(X509) * peer_chain, + tsi_peer_property* property); + +-bool IsRootCertInfoEmpty(const RootCertInfo* root_cert_info); ++GRPC_DLL bool IsRootCertInfoEmpty(const RootCertInfo* root_cert_info); + + #endif // GRPC_SRC_CORE_TSI_SSL_TRANSPORT_SECURITY_H diff --git a/src/core/util/json/json_reader.cc b/src/core/util/json/json_reader.cc -index 5b437af925..d9c2a609c6 100644 +index 5b437af..d9c2a60 100644 --- a/src/core/util/json/json_reader.cc +++ b/src/core/util/json/json_reader.cc @@ -946,7 +946,7 @@ absl::StatusOr JsonReader::Parse(absl::string_view input) { @@ -264,7 +314,7 @@ index 5b437af925..d9c2a609c6 100644 } diff --git a/src/core/util/json/json_reader.h b/src/core/util/json/json_reader.h -index 127b380880..864857dab1 100644 +index 127b380..864857d 100644 --- a/src/core/util/json/json_reader.h +++ b/src/core/util/json/json_reader.h @@ -26,7 +26,7 @@ @@ -277,7 +327,7 @@ index 127b380880..864857dab1 100644 } // namespace grpc_core diff --git a/src/core/util/load_file.h b/src/core/util/load_file.h -index 980e0c11af..d5206b0534 100644 +index 980e0c1..d5206b0 100644 --- a/src/core/util/load_file.h +++ b/src/core/util/load_file.h @@ -26,7 +26,7 @@ namespace grpc_core { @@ -290,7 +340,7 @@ index 980e0c11af..d5206b0534 100644 } // namespace grpc_core diff --git a/src/core/util/time.h b/src/core/util/time.h -index 1de2b4ff99..209f23af56 100644 +index 1de2b4f..209f23a 100644 --- a/src/core/util/time.h +++ b/src/core/util/time.h @@ -104,7 +104,7 @@ class Timestamp {