ExportXMLWordPrintableJSON

    • Fully Compatible
    • Build OnDeck
    • 200
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Homebrew no longer builds bottles for macOS 14, which broke `brew install llvm` on the macOS 14 dev image. This makes the native macOS toolchain download LLVM through Bazel, the same way our other toolchains work, so hosts no longer need LLVM from Homebrew.

      • `bazel/toolchains/cc/mongo_apple/mongo_apple_toolchain.bzl`: replaces the `brew --prefix llvm@19/lld@19` lookup. The rule now downloads a sha256-pinned LLVM 19.1.7 archive for the host arch (arm64 or x86_64) from `mdb-build-public/toolchains/`. `LLVM_PATH`/`LLD_PATH` overrides still work. Tool paths are repo-relative, so remote cache keys don't depend on each machine's output_base. The rule is renamed `mongo_apple_llvm_toolchain_config` and no longer sets `local = True`.
      • `bazel/toolchains/cc/mongo_apple/package_llvm.sh` (new): a script that turns the official GitHub release tarball into the stripped archive, keeping only the clang/lld/binutils binaries, `lib/clang` and the libc++ headers. That shrinks it from 1.4–1.6 GB (7.6 GB unpacked) to 86–100 MB.
      • `.bazelrc`: removes the `LLVM_VERSION` repo_env, which is no longer used. `docs/building.md`: removes the brew install step.

      Note: upstream clang doesn't include brew's config file that pointed `-sysroot` at the Command Line Tools SDK. A host with only the CLT and no Xcode.app needs `-//bazel/config:sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk`. Xcode is already a documented requirement, and CI hosts have it.

            Assignee:
            Daniel Moody
            Reporter:
            Daniel Moody
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: