Files
codex/patches/llvm_mingw_import_warnings.patch
T
zbarsky-openai 1099fe0694 Use hermetic LLVM for Windows MSVC Bazel builds (#60507)
## Why

Windows MSVC builds relied on installed C++ toolchains, and V8 snapshot generation required native Windows execution. Cross-compiling V8 also needs a Windows snapshot generator to preserve Windows unwind metadata.

## What changed

- Use the registered hermetic LLVM toolchain and declared Microsoft SDK for Windows MSVC builds, with static CRT linkage and the toolchain's declared `lld-link` for Rust.
- Run Windows V8 snapshot generators natively or through `rules_wine` on Linux, preserving target CPU, OS, and sandbox settings. Keep separate archive and binding pairs for the workspace's ISO stdio ABI and the distributed MSVC stdio ABI.
- Update build dependencies and bindgen, scope V8's Chromium libc++ settings to its own targets, and adapt native voice dependencies for clang-cl and Windows ARM64.
- Build SQLite directly with Bazel and give `openssl-sys` an explicit build using Bazel's OpenSSL.
- Remove build-worker source-directory dependencies from Bazel resource lookup, schema output discovery, and snapshot paths; embed assets in debug builds as well.

GitOrigin-RevId: fd224d9d28d73a67baf90f6d73c6079d60f20351
2026-11-10 03:02:25 +00:00

13 lines
558 B
Diff

diff --git a/runtimes/mingw/import_libs.bzl b/runtimes/mingw/import_libs.bzl
--- a/runtimes/mingw/import_libs.bzl
+++ b/runtimes/mingw/import_libs.bzl
@@ -30,6 +30,8 @@
# ucrtbase-common.def.in:1800:28: warning: missing terminating ' character [-Winvalid-pp-token]
# 1800 | F_LD64(_o_remainderl) ; Can't use long double functions from the CRT on x86
args.add("-Wno-invalid-pp-token")
+ # MinGW 14 func.def.in uses #ifndef F_X86_NATIVE(x).
+ args.add("-Wno-extra-tokens")
args.add("-o", ctx.outputs.out)
args.add(undecorated)