mirror of
https://github.com/openai/codex.git
synced 2026-10-29 19:08:43 +00:00
Generate Rust bindings that match Bazel-built V8 archives (#57644)
## Why Pre-generated bindings can disagree with native V8 layouts, including CppGC member storage and the inline typed-array size. Source archives need bindings generated with the same headers, defines, and target configuration. ## What changed - Generate bindings through Bazel using the archive's C++ compilation metadata, and include them in Darwin and Linux release pairs and source builds. - Select native Windows MSVC archives and matching bindings together with `--//:rusty_v8_from_source=true`, and generate target-specific Windows GNU bindings. - Pin a corrected `rusty_v8` revision for Cargo and Bazel, and track native Windows LLVM tools and resources as action inputs so pin changes invalidate cached actions. - Run release and canary Cargo smoke tests with explicit target triples, required Linux linkers, and `--include-ignored`. ## Testing Add `codex-v8-poc` coverage for CppGC member size, alignment, tracing, and weak references; typed-array contents and backing-store promotion; and microtask queues across garbage collection and context reassignment. Enable the otherwise ignored CppGC ABI checks for Bazel source builds and staged release smoke tests. GitOrigin-RevId: 9edfa057a0ef2e323543bb8132c070d336ded1b2
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# What: make `rusty_v8` accept Bazel-provided archives and bindings for the
|
||||
# windows-gnullvm experiment.
|
||||
# Scope: `rusty_v8` build.rs only; no V8 source or Bazel rule changes.
|
||||
# Make rusty_v8 use the Bazel-provided archive and bindings. Mark the Git
|
||||
# checkout's vendored third_party directory as a package so rules_rs does not
|
||||
# stage libc++ test names containing '=' as Cargo build-script runfiles.
|
||||
|
||||
--- a/build.rs
|
||||
+++ b/build.rs
|
||||
@@ -72,3 +72,7 @@
|
||||
if target.contains("msvc") {
|
||||
// nothing to link to
|
||||
} else if target.contains("apple")
|
||||
--- /dev/null
|
||||
+++ b/third_party/BUILD.bazel
|
||||
@@ -0,0 +1 @@
|
||||
+package(default_visibility = ["//visibility:private"])
|
||||
|
||||
Reference in New Issue
Block a user