Working on all platforms

This commit is contained in:
Channing Conger
2026-03-20 03:10:07 +00:00
parent 20ce3015e6
commit 9ae2f06755
4 changed files with 275 additions and 173 deletions

View File

@@ -133,21 +133,22 @@ crate.annotation(
workspace_cargo_toml = "rust/runfiles/Cargo.toml",
)
http_archive = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_file = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_file")
crate.annotation(
build_script_data = [
"//codex-rs/v8-poc:rusty_v8_archive_for_target",
"//codex-rs/v8-poc:rusty_v8_binding_for_target",
"//third_party/v8:rusty_v8_archive_for_target",
"//third_party/v8:rusty_v8_binding_for_target",
],
build_script_env = {
"RUSTY_V8_ARCHIVE": "$(execpath //codex-rs/v8-poc:rusty_v8_archive_for_target)",
"RUSTY_V8_SRC_BINDING_PATH": "$(execpath //codex-rs/v8-poc:rusty_v8_binding_for_target)",
"RUSTY_V8_ARCHIVE": "$(execpath //third_party/v8:rusty_v8_archive_for_target)",
"RUSTY_V8_SRC_BINDING_PATH": "$(execpath //third_party/v8:rusty_v8_binding_for_target)",
},
crate = "v8",
gen_build_script = "on",
)
http_archive = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
llvm = use_extension("@llvm//extensions:llvm.bzl", "llvm")
use_repo(llvm, "llvm-project")
@@ -213,6 +214,86 @@ http_archive(
urls = ["https://static.crates.io/crates/v8/v8-146.4.0.crate"],
)
http_file(
name = "rusty_v8_146_4_0_aarch64_apple_darwin_archive",
downloaded_file_path = "librusty_v8_release_aarch64-apple-darwin.a.gz",
urls = [
"https://github.com/denoland/rusty_v8/releases/download/v146.4.0/librusty_v8_release_aarch64-apple-darwin.a.gz",
],
)
http_file(
name = "rusty_v8_146_4_0_aarch64_unknown_linux_gnu_archive",
downloaded_file_path = "librusty_v8_release_aarch64-unknown-linux-gnu.a.gz",
urls = [
"https://github.com/denoland/rusty_v8/releases/download/v146.4.0/librusty_v8_release_aarch64-unknown-linux-gnu.a.gz",
],
)
http_file(
name = "rusty_v8_146_4_0_aarch64_pc_windows_msvc_archive",
downloaded_file_path = "rusty_v8_release_aarch64-pc-windows-msvc.lib.gz",
urls = [
"https://github.com/denoland/rusty_v8/releases/download/v146.4.0/rusty_v8_release_aarch64-pc-windows-msvc.lib.gz",
],
)
http_file(
name = "rusty_v8_146_4_0_x86_64_apple_darwin_archive",
downloaded_file_path = "librusty_v8_release_x86_64-apple-darwin.a.gz",
urls = [
"https://github.com/denoland/rusty_v8/releases/download/v146.4.0/librusty_v8_release_x86_64-apple-darwin.a.gz",
],
)
http_file(
name = "rusty_v8_146_4_0_x86_64_unknown_linux_gnu_archive",
downloaded_file_path = "librusty_v8_release_x86_64-unknown-linux-gnu.a.gz",
urls = [
"https://github.com/denoland/rusty_v8/releases/download/v146.4.0/librusty_v8_release_x86_64-unknown-linux-gnu.a.gz",
],
)
http_file(
name = "rusty_v8_146_4_0_x86_64_pc_windows_msvc_archive",
downloaded_file_path = "rusty_v8_release_x86_64-pc-windows-msvc.lib.gz",
urls = [
"https://github.com/denoland/rusty_v8/releases/download/v146.4.0/rusty_v8_release_x86_64-pc-windows-msvc.lib.gz",
],
)
http_file(
name = "rusty_v8_146_4_0_aarch64_unknown_linux_musl_archive",
downloaded_file_path = "librusty_v8_release_aarch64-unknown-linux-musl.a.gz",
urls = [
"https://github.com/openai/codex/releases/download/rusty-v8-v146.4.0/librusty_v8_release_aarch64-unknown-linux-musl.a.gz",
],
)
http_file(
name = "rusty_v8_146_4_0_aarch64_unknown_linux_musl_binding",
downloaded_file_path = "src_binding_release_aarch64-unknown-linux-musl.rs",
urls = [
"https://github.com/openai/codex/releases/download/rusty-v8-v146.4.0/src_binding_release_aarch64-unknown-linux-musl.rs",
],
)
http_file(
name = "rusty_v8_146_4_0_x86_64_unknown_linux_musl_archive",
downloaded_file_path = "librusty_v8_release_x86_64-unknown-linux-musl.a.gz",
urls = [
"https://github.com/openai/codex/releases/download/rusty-v8-v146.4.0/librusty_v8_release_x86_64-unknown-linux-musl.a.gz",
],
)
http_file(
name = "rusty_v8_146_4_0_x86_64_unknown_linux_musl_binding",
downloaded_file_path = "src_binding_release_x86_64-unknown-linux-musl.rs",
urls = [
"https://github.com/openai/codex/releases/download/rusty-v8-v146.4.0/src_binding_release_x86_64-unknown-linux-musl.rs",
],
)
use_repo(crate, "crates")
bazel_dep(name = "libcap", version = "2.27.bcr.1")

View File

@@ -1,41 +1,5 @@
load("//:defs.bzl", "codex_rust_crate")
package(default_visibility = ["//visibility:public"])
alias(
name = "rusty_v8_archive_for_target",
actual = select({
"@rules_rs//rs/experimental/platforms/config:aarch64-apple-darwin": "//third_party/v8:v8_146_4_0_aarch64_apple_darwin",
"@rules_rs//rs/experimental/platforms/config:aarch64-pc-windows-gnullvm": "//third_party/v8:v8_146_4_0_aarch64_pc_windows_gnullvm",
"@rules_rs//rs/experimental/platforms/config:aarch64-pc-windows-msvc": "//third_party/v8:v8_146_4_0_aarch64_pc_windows_msvc",
"@rules_rs//rs/experimental/platforms/config:aarch64-unknown-linux-gnu": "//third_party/v8:v8_146_4_0_aarch64_unknown_linux_gnu",
"@rules_rs//rs/experimental/platforms/config:aarch64-unknown-linux-musl": "//third_party/v8:v8_146_4_0_aarch64_unknown_linux_musl",
"@rules_rs//rs/experimental/platforms/config:x86_64-apple-darwin": "//third_party/v8:v8_146_4_0_x86_64_apple_darwin",
"@rules_rs//rs/experimental/platforms/config:x86_64-pc-windows-gnullvm": "//third_party/v8:v8_146_4_0_x86_64_pc_windows_gnullvm",
"@rules_rs//rs/experimental/platforms/config:x86_64-pc-windows-msvc": "//third_party/v8:v8_146_4_0_x86_64_pc_windows_msvc",
"@rules_rs//rs/experimental/platforms/config:x86_64-unknown-linux-gnu": "//third_party/v8:v8_146_4_0_x86_64_unknown_linux_gnu",
"@rules_rs//rs/experimental/platforms/config:x86_64-unknown-linux-musl": "//third_party/v8:v8_146_4_0_x86_64_unknown_linux_musl",
"//conditions:default": "//third_party/v8:v8_146_4_0_x86_64_unknown_linux_gnu",
}),
)
alias(
name = "rusty_v8_binding_for_target",
actual = select({
"@rules_rs//rs/experimental/platforms/config:aarch64-apple-darwin": "//third_party/v8:src_binding_release_aarch64_apple_darwin",
"@rules_rs//rs/experimental/platforms/config:aarch64-pc-windows-gnullvm": "//third_party/v8:src_binding_release_aarch64_pc_windows_gnullvm",
"@rules_rs//rs/experimental/platforms/config:aarch64-pc-windows-msvc": "//third_party/v8:src_binding_release_aarch64_pc_windows_msvc",
"@rules_rs//rs/experimental/platforms/config:aarch64-unknown-linux-gnu": "//third_party/v8:src_binding_release_aarch64_unknown_linux_gnu",
"@rules_rs//rs/experimental/platforms/config:aarch64-unknown-linux-musl": "//third_party/v8:src_binding_release_aarch64_unknown_linux_musl",
"@rules_rs//rs/experimental/platforms/config:x86_64-apple-darwin": "//third_party/v8:src_binding_release_x86_64_apple_darwin",
"@rules_rs//rs/experimental/platforms/config:x86_64-pc-windows-gnullvm": "//third_party/v8:src_binding_release_x86_64_pc_windows_gnullvm",
"@rules_rs//rs/experimental/platforms/config:x86_64-pc-windows-msvc": "//third_party/v8:src_binding_release_x86_64_pc_windows_msvc",
"@rules_rs//rs/experimental/platforms/config:x86_64-unknown-linux-gnu": "//third_party/v8:src_binding_release_x86_64_unknown_linux_gnu",
"@rules_rs//rs/experimental/platforms/config:x86_64-unknown-linux-musl": "//third_party/v8:src_binding_release_x86_64_unknown_linux_musl",
"//conditions:default": "//third_party/v8:src_binding_release_x86_64_unknown_linux_gnu",
}),
)
codex_rust_crate(
name = "v8-poc",
crate_name = "codex_v8_poc",

View File

@@ -4,6 +4,158 @@ load("@rules_cc//cc:defs.bzl", "cc_library")
package(default_visibility = ["//visibility:public"])
config_setting(
name = "platform_aarch64_unknown_linux_musl",
constraint_values = [
"@platforms//cpu:aarch64",
"@platforms//os:linux",
"@llvm//constraints/libc:musl",
],
)
config_setting(
name = "platform_x86_64_unknown_linux_musl",
constraint_values = [
"@platforms//cpu:x86_64",
"@platforms//os:linux",
"@llvm//constraints/libc:musl",
],
)
alias(
name = "v8_146_4_0_x86_64_apple_darwin",
actual = "@rusty_v8_146_4_0_x86_64_apple_darwin_archive//file",
)
alias(
name = "v8_146_4_0_aarch64_apple_darwin",
actual = "@rusty_v8_146_4_0_aarch64_apple_darwin_archive//file",
)
alias(
name = "v8_146_4_0_x86_64_unknown_linux_gnu",
actual = "@rusty_v8_146_4_0_x86_64_unknown_linux_gnu_archive//file",
)
alias(
name = "v8_146_4_0_aarch64_unknown_linux_gnu",
actual = "@rusty_v8_146_4_0_aarch64_unknown_linux_gnu_archive//file",
)
alias(
name = "v8_146_4_0_x86_64_unknown_linux_musl",
actual = "@rusty_v8_146_4_0_x86_64_unknown_linux_musl_archive//file",
)
alias(
name = "v8_146_4_0_aarch64_unknown_linux_musl",
actual = "@rusty_v8_146_4_0_aarch64_unknown_linux_musl_archive//file",
)
alias(
name = "v8_146_4_0_x86_64_pc_windows_msvc",
actual = "@rusty_v8_146_4_0_x86_64_pc_windows_msvc_archive//file",
)
alias(
name = "v8_146_4_0_aarch64_pc_windows_msvc",
actual = "@rusty_v8_146_4_0_aarch64_pc_windows_msvc_archive//file",
)
alias(
name = "v8_146_4_0_aarch64_pc_windows_gnullvm",
actual = ":v8_146_4_0_aarch64_pc_windows_msvc",
)
alias(
name = "v8_146_4_0_x86_64_pc_windows_gnullvm",
actual = ":v8_146_4_0_x86_64_pc_windows_msvc",
)
filegroup(
name = "src_binding_release_x86_64_apple_darwin",
srcs = ["@v8_crate_146_4_0//:src_binding_release_x86_64_apple_darwin"],
)
filegroup(
name = "src_binding_release_aarch64_apple_darwin",
srcs = ["@v8_crate_146_4_0//:src_binding_release_aarch64_apple_darwin"],
)
filegroup(
name = "src_binding_release_aarch64_unknown_linux_gnu",
srcs = ["@v8_crate_146_4_0//:src_binding_release_aarch64_unknown_linux_gnu"],
)
filegroup(
name = "src_binding_release_x86_64_unknown_linux_gnu",
srcs = ["@v8_crate_146_4_0//:src_binding_release_x86_64_unknown_linux_gnu"],
)
alias(
name = "src_binding_release_x86_64_unknown_linux_musl",
actual = "@rusty_v8_146_4_0_x86_64_unknown_linux_musl_binding//file",
)
alias(
name = "src_binding_release_aarch64_unknown_linux_musl",
actual = "@rusty_v8_146_4_0_aarch64_unknown_linux_musl_binding//file",
)
filegroup(
name = "src_binding_release_x86_64_pc_windows_msvc",
srcs = ["@v8_crate_146_4_0//:src_binding_release_x86_64_pc_windows_msvc"],
)
filegroup(
name = "src_binding_release_aarch64_pc_windows_msvc",
srcs = ["@v8_crate_146_4_0//:src_binding_release_aarch64_pc_windows_msvc"],
)
alias(
name = "src_binding_release_x86_64_pc_windows_gnullvm",
actual = ":src_binding_release_x86_64_pc_windows_msvc",
)
alias(
name = "src_binding_release_aarch64_pc_windows_gnullvm",
actual = ":src_binding_release_aarch64_pc_windows_msvc",
)
alias(
name = "rusty_v8_archive_for_target",
actual = select({
"@rules_rs//rs/experimental/platforms/config:aarch64-apple-darwin": ":v8_146_4_0_aarch64_apple_darwin",
"@rules_rs//rs/experimental/platforms/config:aarch64-pc-windows-gnullvm": ":v8_146_4_0_aarch64_pc_windows_gnullvm",
"@rules_rs//rs/experimental/platforms/config:aarch64-pc-windows-msvc": ":v8_146_4_0_aarch64_pc_windows_msvc",
"@rules_rs//rs/experimental/platforms/config:aarch64-unknown-linux-gnu": ":v8_146_4_0_aarch64_unknown_linux_gnu",
":platform_aarch64_unknown_linux_musl": ":v8_146_4_0_aarch64_unknown_linux_musl",
"@rules_rs//rs/experimental/platforms/config:x86_64-apple-darwin": ":v8_146_4_0_x86_64_apple_darwin",
"@rules_rs//rs/experimental/platforms/config:x86_64-pc-windows-gnullvm": ":v8_146_4_0_x86_64_pc_windows_gnullvm",
"@rules_rs//rs/experimental/platforms/config:x86_64-pc-windows-msvc": ":v8_146_4_0_x86_64_pc_windows_msvc",
"@rules_rs//rs/experimental/platforms/config:x86_64-unknown-linux-gnu": ":v8_146_4_0_x86_64_unknown_linux_gnu",
":platform_x86_64_unknown_linux_musl": ":v8_146_4_0_x86_64_unknown_linux_musl",
"//conditions:default": ":v8_146_4_0_x86_64_unknown_linux_gnu",
}),
)
alias(
name = "rusty_v8_binding_for_target",
actual = select({
"@rules_rs//rs/experimental/platforms/config:aarch64-apple-darwin": ":src_binding_release_aarch64_apple_darwin",
"@rules_rs//rs/experimental/platforms/config:aarch64-pc-windows-gnullvm": ":src_binding_release_aarch64_pc_windows_gnullvm",
"@rules_rs//rs/experimental/platforms/config:aarch64-pc-windows-msvc": ":src_binding_release_aarch64_pc_windows_msvc",
"@rules_rs//rs/experimental/platforms/config:aarch64-unknown-linux-gnu": ":src_binding_release_aarch64_unknown_linux_gnu",
":platform_aarch64_unknown_linux_musl": ":src_binding_release_aarch64_unknown_linux_musl",
"@rules_rs//rs/experimental/platforms/config:x86_64-apple-darwin": ":src_binding_release_x86_64_apple_darwin",
"@rules_rs//rs/experimental/platforms/config:x86_64-pc-windows-gnullvm": ":src_binding_release_x86_64_pc_windows_gnullvm",
"@rules_rs//rs/experimental/platforms/config:x86_64-pc-windows-msvc": ":src_binding_release_x86_64_pc_windows_msvc",
"@rules_rs//rs/experimental/platforms/config:x86_64-unknown-linux-gnu": ":src_binding_release_x86_64_unknown_linux_gnu",
":platform_x86_64_unknown_linux_musl": ":src_binding_release_x86_64_unknown_linux_musl",
"//conditions:default": ":src_binding_release_x86_64_unknown_linux_gnu",
}),
)
V8_COPTS = ["-std=c++20"]
V8_STATIC_LIBRARY_FEATURES = [
@@ -45,39 +197,15 @@ cc_library(
)
cc_static_library(
name = "v8_146_4_0_x86_64_apple_darwin",
deps = [":v8_146_4_0_binding"],
features = V8_STATIC_LIBRARY_FEATURES,
)
cc_static_library(
name = "v8_146_4_0_aarch64_apple_darwin",
deps = [":v8_146_4_0_binding"],
features = V8_STATIC_LIBRARY_FEATURES,
)
cc_static_library(
name = "v8_146_4_0_aarch64_unknown_linux_gnu",
deps = [":v8_146_4_0_binding"],
features = V8_STATIC_LIBRARY_FEATURES,
)
cc_static_library(
name = "v8_146_4_0_x86_64_unknown_linux_gnu",
deps = [":v8_146_4_0_binding"],
features = V8_STATIC_LIBRARY_FEATURES,
)
cc_static_library(
name = "v8_146_4_0_aarch64_unknown_linux_musl_base",
name = "v8_146_4_0_aarch64_unknown_linux_musl_release_base",
deps = [":v8_146_4_0_binding"],
features = V8_STATIC_LIBRARY_FEATURES,
)
genrule(
name = "v8_146_4_0_aarch64_unknown_linux_musl",
name = "v8_146_4_0_aarch64_unknown_linux_musl_release",
srcs = [
":v8_146_4_0_aarch64_unknown_linux_musl_base",
":v8_146_4_0_aarch64_unknown_linux_musl_release_base",
"@llvm//runtimes/compiler-rt:clang_rt.builtins.static",
],
tools = [
@@ -88,7 +216,7 @@ genrule(
cmd = """
cat > "$(@D)/merge.mri" <<'EOF'
create $@
addlib $(location :v8_146_4_0_aarch64_unknown_linux_musl_base)
addlib $(location :v8_146_4_0_aarch64_unknown_linux_musl_release_base)
addlib $(location @llvm//runtimes/compiler-rt:clang_rt.builtins.static)
save
end
@@ -99,83 +227,21 @@ EOF
)
cc_static_library(
name = "v8_146_4_0_x86_64_unknown_linux_musl",
name = "v8_146_4_0_x86_64_unknown_linux_musl_release",
deps = [":v8_146_4_0_binding"],
features = V8_STATIC_LIBRARY_FEATURES,
)
cc_static_library(
name = "v8_146_4_0_aarch64_pc_windows_msvc",
deps = [":v8_146_4_0_binding"],
features = V8_STATIC_LIBRARY_FEATURES,
)
cc_static_library(
name = "v8_146_4_0_x86_64_pc_windows_msvc",
deps = [":v8_146_4_0_binding"],
features = V8_STATIC_LIBRARY_FEATURES,
)
alias(
name = "v8_146_4_0_aarch64_pc_windows_gnullvm",
actual = ":v8_146_4_0_aarch64_pc_windows_msvc",
)
alias(
name = "v8_146_4_0_x86_64_pc_windows_gnullvm",
actual = ":v8_146_4_0_x86_64_pc_windows_msvc",
)
filegroup(
name = "src_binding_release_x86_64_apple_darwin",
srcs = ["@v8_crate_146_4_0//:src_binding_release_x86_64_apple_darwin"],
)
filegroup(
name = "src_binding_release_aarch64_apple_darwin",
srcs = ["@v8_crate_146_4_0//:src_binding_release_aarch64_apple_darwin"],
)
filegroup(
name = "src_binding_release_aarch64_unknown_linux_gnu",
name = "src_binding_release_aarch64_unknown_linux_musl_release",
srcs = ["@v8_crate_146_4_0//:src_binding_release_aarch64_unknown_linux_gnu"],
)
filegroup(
name = "src_binding_release_x86_64_unknown_linux_gnu",
name = "src_binding_release_x86_64_unknown_linux_musl_release",
srcs = ["@v8_crate_146_4_0//:src_binding_release_x86_64_unknown_linux_gnu"],
)
filegroup(
name = "src_binding_release_aarch64_unknown_linux_musl",
srcs = ["@v8_crate_146_4_0//:src_binding_release_aarch64_unknown_linux_gnu"],
)
filegroup(
name = "src_binding_release_x86_64_unknown_linux_musl",
srcs = ["@v8_crate_146_4_0//:src_binding_release_x86_64_unknown_linux_gnu"],
)
filegroup(
name = "src_binding_release_x86_64_pc_windows_msvc",
srcs = ["@v8_crate_146_4_0//:src_binding_release_x86_64_pc_windows_msvc"],
)
filegroup(
name = "src_binding_release_aarch64_pc_windows_msvc",
srcs = ["@v8_crate_146_4_0//:src_binding_release_aarch64_pc_windows_msvc"],
)
alias(
name = "src_binding_release_x86_64_pc_windows_gnullvm",
actual = ":src_binding_release_x86_64_pc_windows_msvc",
)
alias(
name = "src_binding_release_aarch64_pc_windows_gnullvm",
actual = ":src_binding_release_aarch64_pc_windows_msvc",
)
filegroup(
name = "rusty_v8_release_pair_x86_64_apple_darwin",
srcs = [
@@ -211,16 +277,16 @@ filegroup(
filegroup(
name = "rusty_v8_release_pair_x86_64_unknown_linux_musl",
srcs = [
":v8_146_4_0_x86_64_unknown_linux_musl",
":src_binding_release_x86_64_unknown_linux_musl",
":v8_146_4_0_x86_64_unknown_linux_musl_release",
":src_binding_release_x86_64_unknown_linux_musl_release",
],
)
filegroup(
name = "rusty_v8_release_pair_aarch64_unknown_linux_musl",
srcs = [
":v8_146_4_0_aarch64_unknown_linux_musl",
":src_binding_release_aarch64_unknown_linux_musl",
":v8_146_4_0_aarch64_unknown_linux_musl_release",
":src_binding_release_aarch64_unknown_linux_musl_release",
],
)

View File

@@ -1,45 +1,36 @@
# `rusty_v8` Release Artifacts
# `rusty_v8` Consumer Artifacts
This directory contains the Bazel packaging used to build and stage
target-specific `rusty_v8` release artifacts for Bazel-managed consumers.
This directory wires the `v8` crate to exact-version prebuilt artifacts.
Consumer builds use:
- upstream `denoland/rusty_v8` release archives on Darwin, GNU Linux, and Windows
- `openai/codex` release assets for `x86_64-unknown-linux-musl` and
`aarch64-unknown-linux-musl`
Current pinned versions:
- Rust crate: `v8 = =146.4.0`
- Embedded upstream V8 source: `14.6.202.9`
- Embedded upstream V8 source for musl release builds: `14.6.202.9`
The generated release pairs include:
The consumer-facing selectors are:
- `//third_party/v8:rusty_v8_archive_for_target`
- `//third_party/v8:rusty_v8_binding_for_target`
Musl release assets are expected at the tag:
- `rusty-v8-v<crate_version>`
with these raw asset names:
- `librusty_v8_release_<target>.a.gz`
- `src_binding_release_<target>.rs`
The dedicated publishing workflow is `.github/workflows/rusty-v8-release.yml`.
It only builds musl release pairs from source:
- `//third_party/v8:rusty_v8_release_pair_x86_64_apple_darwin`
- `//third_party/v8:rusty_v8_release_pair_aarch64_apple_darwin`
- `//third_party/v8:rusty_v8_release_pair_x86_64_unknown_linux_gnu`
- `//third_party/v8:rusty_v8_release_pair_aarch64_unknown_linux_gnu`
- `//third_party/v8:rusty_v8_release_pair_x86_64_unknown_linux_musl`
- `//third_party/v8:rusty_v8_release_pair_aarch64_unknown_linux_musl`
- `//third_party/v8:rusty_v8_release_pair_x86_64_pc_windows_msvc`
- `//third_party/v8:rusty_v8_release_pair_aarch64_pc_windows_msvc`
Each release pair contains:
- a static library built from source
- a Rust binding file copied from the exact same `v8` crate version for that
target
Do not mix artifacts across crate versions. The archive and binding must match
the exact pinned `v8` crate version used by this repo.
The dedicated publishing workflow is:
- `.github/workflows/rusty-v8-release.yml`
That workflow currently stages musl artifacts:
- `librusty_v8_release_x86_64-unknown-linux-musl.a.gz`
- `librusty_v8_release_aarch64-unknown-linux-musl.a.gz`
- `src_binding_release_x86_64-unknown-linux-musl.rs`
- `src_binding_release_aarch64-unknown-linux-musl.rs`
During musl staging, the produced static archive is merged with the target's
LLVM `libc++` and `libc++abi` static runtime archives. Rust's musl toolchain
already provides the matching `libunwind`, so staging does not bundle a second
copy.
the exact resolved `v8` crate version in `codex-rs/Cargo.lock`.