Skip to content
  • bazel.build machine account's avatar
    [7.2.0] Add layering_check support for macOS (#22572) · bc346fbc
    bazel.build machine account authored
    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 1f1b4fd3.
    
    Closes #22475.
    
    PiperOrigin-RevId: 637969838
    Change-Id: I7...
    bc346fbc