mirror of
https://github.com/openai/codex.git
synced 2026-10-30 19:18:49 +00:00
## Why Source-built V8 archives and generated Rust bindings must agree on their ABI, including in debug builds. Linux platform selection must also distinguish GNU and musl when using LLVM platforms. ## What changed - Always select source-built V8 archives and matching bindings for Bazel consumers, removing the `rusty_v8_from_source` flag. - Use LLVM's libc-aware Linux selectors for archives, bindings, headers, and bindgen targets. - Keep `V8_ENABLE_CHECKS` undefined in debug builds to match Rust's `HandleScope` layout, and set `V8_LOGGING_LEVEL=2` for debug verification. - Include compiler-rt builtins in the ARM64 GNU/Linux archive to provide `__clear_cache`. - Set the Intel macOS minimum version for `codex-code-mode-host` releases to 10.13 for V8's aligned allocation support. ## Testing Always include the existing ignored CppGC ABI checks in Bazel `v8-poc` unit tests and remove their exclusion from Bazel CI. GitOrigin-RevId: f698a47502154cdfb80febed02e4465d9f2d1e0c
79 lines
2.1 KiB
Python
79 lines
2.1 KiB
Python
load("@apple_support//xcode:xcode_config.bzl", "xcode_config")
|
|
|
|
xcode_config(name = "disable_xcode")
|
|
|
|
# We mark the local platform as glibc-compatible so that rust can grab a toolchain for us.
|
|
# TODO(zbarsky): Upstream a better libc constraint into rules_rust.
|
|
# We only enable this on linux though for sanity, and because it breaks remote execution.
|
|
platform(
|
|
name = "local_linux",
|
|
constraint_values = [
|
|
# We mark the local platform as glibc-compatible because musl-built rust cannot dlopen proc macros.
|
|
"@llvm//constraints/libc:gnu.2.28",
|
|
],
|
|
parents = ["@platforms//host"],
|
|
)
|
|
|
|
platform(
|
|
name = "local_windows",
|
|
constraint_values = [
|
|
"@llvm//constraints/windows/abi:gnullvm",
|
|
"@llvm//constraints/windows/crt:msvcrt",
|
|
],
|
|
parents = ["@platforms//host"],
|
|
)
|
|
|
|
platform(
|
|
name = "local_windows_msvc",
|
|
constraint_values = [
|
|
"@llvm//constraints/windows/abi:msvc",
|
|
],
|
|
parents = ["@platforms//host"],
|
|
)
|
|
|
|
platform(
|
|
name = "windows_x86_64_gnullvm",
|
|
constraint_values = [
|
|
"@platforms//cpu:x86_64",
|
|
"@platforms//os:windows",
|
|
"@llvm//constraints/windows/abi:gnullvm",
|
|
"@llvm//constraints/windows/crt:msvcrt",
|
|
],
|
|
)
|
|
|
|
platform(
|
|
name = "windows_x86_64_msvc",
|
|
constraint_values = [
|
|
"@platforms//cpu:x86_64",
|
|
"@platforms//os:windows",
|
|
"@llvm//constraints/windows/abi:msvc",
|
|
],
|
|
)
|
|
|
|
toolchain(
|
|
name = "windows_gnullvm_tests_on_msvc_host_toolchain",
|
|
exec_compatible_with = [
|
|
"@platforms//cpu:x86_64",
|
|
"@platforms//os:windows",
|
|
"@llvm//constraints/windows/abi:msvc",
|
|
],
|
|
target_compatible_with = [
|
|
"@platforms//cpu:x86_64",
|
|
"@platforms//os:windows",
|
|
"@llvm//constraints/windows/abi:gnullvm",
|
|
"@llvm//constraints/windows/crt:msvcrt",
|
|
],
|
|
toolchain = "@bazel_tools//tools/test:empty_toolchain",
|
|
toolchain_type = "@bazel_tools//tools/test:default_test_toolchain_type",
|
|
)
|
|
|
|
alias(
|
|
name = "rbe",
|
|
actual = "@rbe_platform",
|
|
)
|
|
|
|
exports_files([
|
|
"workspace_root_test_launcher.bat.tpl",
|
|
"workspace_root_test_launcher.sh.tpl",
|
|
])
|