Add layering_check support for macOS
There were 2 things with the previous implementation that needed to be improved here:
1. Apple Clang has a bug where it doesn't pass module compiler flags to the underlying -cc1 invocation, so we have to manually pass them directly to that invocation with -Xclang
2. The previous search script was too aggressive and slow for macOS. The macOS SDK has tons of files that aren't headers, and tons of symlinks pointing to other files within the SDK. This adds a fork in the script to run a version that works with Apple SDKs. The time difference on my machine is 41s->6s. 6s is still pretty long so if desired we can put this behavior behind an env var for users to opt in with.
I've added a hermetic version of this to the apple_support toolchain, but similar to the Linux setup here the modulemap file includes absolute paths.
Closes #22259.
This reverts commit 1f1b4fd37bacf5fc90bd06403b63dbb54e84db3b.
Closes #22475.
PiperOrigin-RevId: 637969838
Change-Id: I7d4940a820e3741836239493222ba8d06c4d70e4
diff --git a/MODULE.bazel b/MODULE.bazel
index c2108f1..3bf31e2 100644
--- a/MODULE.bazel
+++ b/MODULE.bazel
@@ -57,6 +57,14 @@
path = "./third_party/googleapis",
)
+single_version_override(
+ module_name = "grpc",
+ patch_strip = 1,
+ patches = [
+ "//third_party/grpc:00_disable_layering_check.patch",
+ ],
+)
+
# The following Bazel modules are not direct dependencies for building Bazel,
# but are required for visibility from DIST_ARCHIVE_REPOS in repositories.bzl
bazel_dep(name = "apple_support", version = "1.8.1")