-
Notifications
You must be signed in to change notification settings - Fork 4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add layering_check support for macOS #22475
Add layering_check support for macOS #22475
Conversation
second commit here should fix the reason it was reverted. Can we verify before landing? |
c8f1902
to
1c99414
Compare
7e0129a
to
e94020c
Compare
We disabled the bootstrap test for Intel mac to save presubmit time, probably we should re-enable it in https://github.com/bazelbuild/bazel/blob/master/.bazelci/presubmit.yml#L217 |
You think that should catch it? enabling those 2 here to see |
One of them should do, those two takes a long time to run, the only difference is the archive format. |
ae7c951
to
8bc99be
Compare
added one back! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you!
@meteorcloudy @keith do we need to squash the commits because it has a third party change? cc: @bazelbuild/triage |
Yeah, unfortunately the |
10c86cf
to
de1d2d2
Compare
done! |
looks like https://bazel-review.googlesource.com/c/bazel/+/251183 might be stuck |
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 1f1b4fd. Partial commit for third_party/*, see #22475. Change-Id: I801121e36de1504c17adfa4736c49c88d470fec0 Signed-off-by: Hee Cha <heec@google.com>
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 bazelbuild#22259. This reverts commit 1f1b4fd.
de1d2d2
to
13a6f7e
Compare
rebased now that the 3rd party change is in |
@meteorcloudy should I rebase this one again? |
I'm actually working on the import now for this. If the conflict is only with the lockfiles, I'll take care of it. Thanks @keith |
ok, thanks! |
@bazel-io flag |
@bazel-io fork 7.2.0 |
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 bazelbuild#22259. This reverts commit 1f1b4fd. Closes bazelbuild#22475. PiperOrigin-RevId: 637969838 Change-Id: I7d4940a820e3741836239493222ba8d06c4d70e4
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 bazelbuild#22259. This reverts commit 1f1b4fd. Partial commit for third_party/*, see bazelbuild#22475. Change-Id: I801121e36de1504c17adfa4736c49c88d470fec0 Signed-off-by: Hee Cha <heec@google.com>
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 1f1b4fd. Partial commit for third_party/*, see #22475. Change-Id: I801121e36de1504c17adfa4736c49c88d470fec0 Signed-off-by: Hee Cha <heec@google.com> Commit de0a37c Signed-off-by: Hee Cha <heec@google.com> Co-authored-by: Keith Smiley <keithbsmiley@gmail.com>
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 bazelbuild#22259. This reverts commit 1f1b4fd. Closes bazelbuild#22475. PiperOrigin-RevId: 637969838 Change-Id: I7d4940a820e3741836239493222ba8d06c4d70e4
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 1f1b4fd. Closes #22475. PiperOrigin-RevId: 637969838 Change-Id: I7d4940a820e3741836239493222ba8d06c4d70e4 Commit 6abdd2a Co-authored-by: Keith Smiley <keithbsmiley@gmail.com>
There were 2 things with the previous implementation that needed to be improved here:
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 1f1b4fd.