Files
codex/third_party/v8/BUILD.bazel
T
Sean Huang 0818b91867 Add native Windows MSVC V8 source archive builds (#57269)
## Why

The Bazel V8 source build supported Windows GNU but lacked an MSVC-targeting toolchain to produce `*-pc-windows-msvc` archives.

## What changed

- Add opt-in archive targets for native Windows x64 and ARM64 hosts, selected by `//third_party/v8:rusty_v8_native_windows_archive_for_target`.
- Fetch pinned LLVM and scope its `clang-cl` toolchain to V8 artifacts, using the installed Microsoft SDK. Bundle Chromium libc++ and compiler-rt builtins into the resulting `.lib`.
- Adapt V8 dependencies, assembly, snapshot generation, and platform feature settings for MSVC, and derive test metadata from the selected engine features.
- Document the native build workflow. Existing MSVC consumers continue using prebuilt artifacts; generated Rust bindings and publishing integration remain separate.

GitOrigin-RevId: abd5049245aece90a116fc3bfeac2b158a76f6af
2026-10-26 21:30:41 +00:00

719 lines
24 KiB
Python

load("@@//third_party/v8:artifact_profile.bzl", "v8_artifact_files")
load("@bazel_skylib//rules:copy_file.bzl", "copy_file")
load("@rules_cc//cc:cc_static_library.bzl", "cc_static_library")
load("@rules_cc//cc:defs.bzl", "cc_library")
package(default_visibility = ["//visibility:public"])
exports_files([
"abseil.BUILD.bazel",
"abseil_repository.bzl",
"artifact_profile.bzl",
"dependencies.bzl",
"dependency_config.bzl",
"dragonbox.BUILD.bazel",
"engine.BUILD.bazel",
"engine_repository.bzl",
"engine_rules.bzl",
"fast_float.BUILD.bazel",
"fp16.BUILD.bazel",
"highway.BUILD.bazel",
"icu.BUILD.bazel",
"libcxx_rules.bzl",
"native_windows.bzl",
"push_registers_gnullvm.S",
"simdutf.BUILD.bazel",
"v8_defs.patch",
])
config_setting(
name = "platform_windows_msvc",
constraint_values = [
"@platforms//os:windows",
"@llvm//constraints/windows/abi:msvc",
],
)
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",
],
)
config_setting(
name = "use_rusty_v8_custom_libcxx",
flag_values = {
"@v8//:v8_use_rusty_v8_custom_libcxx": "True",
},
)
config_setting(
name = "use_rusty_v8_custom_libcxx_native_windows",
constraint_values = [
"@platforms//os:windows",
"@llvm//constraints/windows/abi:msvc",
],
flag_values = {
"@v8//:v8_use_rusty_v8_custom_libcxx": "True",
},
)
alias(
name = "v8_152_2_0_x86_64_pc_windows_msvc",
actual = "@rusty_v8_152_2_0_x86_64_pc_windows_msvc_archive//file",
)
alias(
name = "v8_152_2_0_aarch64_pc_windows_msvc",
actual = "@rusty_v8_152_2_0_aarch64_pc_windows_msvc_archive//file",
)
alias(
name = "v8_152_2_0_aarch64_pc_windows_gnullvm",
# `rusty_v8` only ships prebuilt Windows archives for MSVC. Build the
# GNU-flavored archive in-tree so windows-gnullvm consumers can link
# against a matching ABI instead of trying to reuse the MSVC release.
actual = ":v8_152_2_0_aarch64_pc_windows_gnullvm_bazel",
)
alias(
name = "v8_152_2_0_x86_64_pc_windows_gnullvm",
actual = ":v8_152_2_0_x86_64_pc_windows_gnullvm_bazel",
)
alias(
name = "src_binding_release_x86_64_pc_windows_gnullvm_152_2_0_release",
# `rusty_v8` does not publish a Windows GNU binding file. The generated
# binding only describes this V8 release's C++ API surface, so reuse the
# Linux release binding while the windows-gnullvm archive build is still
# experimental.
actual = ":src_binding_release_x86_64_unknown_linux_gnu_152_2_0_release",
)
alias(
name = "src_binding_release_aarch64_pc_windows_gnullvm_152_2_0_release",
actual = ":src_binding_release_aarch64_unknown_linux_gnu_152_2_0_release",
)
# Both ordinary consumers and source consumers use the current sandbox ABI.
# Switch the archive and binding together for source instrumentation. The same
# root setting is visible in the @v8_targets copy used by rules_rs.
config_setting(
name = "use_rusty_v8_prebuilts",
flag_values = {
"@//:rusty_v8_from_source": "False",
},
)
alias(
name = "rusty_v8_archive_for_target",
actual = select({
":use_rusty_v8_prebuilts": ":rusty_v8_prebuilt_archive_for_target",
"//conditions:default": ":rusty_v8_source_archive_for_target",
}),
)
alias(
name = "rusty_v8_prebuilt_archive_for_target",
actual = select({
"@rules_rs//rs/platforms/config:aarch64-pc-windows-msvc": ":v8_152_2_0_aarch64_pc_windows_msvc",
"@rules_rs//rs/platforms/config:x86_64-pc-windows-msvc": ":v8_152_2_0_x86_64_pc_windows_msvc",
"@rules_rs//rs/platforms/config:aarch64-apple-darwin": "@rusty_v8_152_2_0_aarch64_apple_darwin_archive//file",
"@rules_rs//rs/platforms/config:aarch64-unknown-linux-gnu": ":v8_152_2_0_aarch64_unknown_linux_gnu_prebuilt",
"@rules_rs//rs/platforms/config:x86_64-apple-darwin": "@rusty_v8_152_2_0_x86_64_apple_darwin_archive//file",
"@rules_rs//rs/platforms/config:x86_64-unknown-linux-gnu": ":v8_152_2_0_x86_64_unknown_linux_gnu_prebuilt",
":platform_aarch64_unknown_linux_musl": ":v8_152_2_0_aarch64_unknown_linux_musl_prebuilt",
":platform_x86_64_unknown_linux_musl": ":v8_152_2_0_x86_64_unknown_linux_musl_prebuilt",
"//conditions:default": ":rusty_v8_source_archive_for_target",
}),
)
# A Linux Codex release archive carries Chromium's namespaced libc++ runtime.
# Bazel also links its own libc++. Both keep their exception classes in std::,
# so prefer the toolchain definitions of just those shared ABI entry points.
# Inputs remain checksum-verified and immutable; only the Bazel output changes.
[
genrule(
name = "v8_152_2_0_%s_unknown_linux_%s_prebuilt" % (arch, libc),
srcs = [
":gnu_libcxx_shared_exception_symbols.txt",
"@rusty_v8_152_2_0_%s_unknown_linux_%s_archive//file" % (arch, libc),
],
outs = ["libv8_152_2_0_%s_unknown_linux_%s_prebuilt.a" % (arch, libc)],
cmd = """
gzip -dc "$(location @rusty_v8_152_2_0_%s_unknown_linux_%s_archive//file)" > "$@.unadjusted"
$(location @llvm//tools:llvm-objcopy) \
--weaken-symbols="$(location :gnu_libcxx_shared_exception_symbols.txt)" \
"$@.unadjusted" "$@"
rm "$@.unadjusted"
""" % (arch, libc),
tools = ["@llvm//tools:llvm-objcopy"],
)
for arch in [
"aarch64",
"x86_64",
]
for libc in [
"gnu",
"musl",
]
]
alias(
name = "rusty_v8_source_archive_for_target",
actual = select({
"@rules_rs//rs/platforms/config:aarch64-apple-darwin": ":v8_152_2_0_aarch64_apple_darwin_bazel",
"@rules_rs//rs/platforms/config:aarch64-pc-windows-gnullvm": ":v8_152_2_0_aarch64_pc_windows_gnullvm",
"@rules_rs//rs/platforms/config:aarch64-pc-windows-msvc": ":v8_152_2_0_aarch64_pc_windows_msvc",
"@rules_rs//rs/platforms/config:aarch64-unknown-linux-gnu": ":v8_152_2_0_aarch64_unknown_linux_gnu_bazel",
# Rust's compiler-builtins archive does not supply V8's __clear_cache.
# Use the merged archive containing the ARM64 compiler-rt builtins.
":platform_aarch64_unknown_linux_musl": ":v8_152_2_0_aarch64_unknown_linux_musl_release",
"@rules_rs//rs/platforms/config:x86_64-apple-darwin": ":v8_152_2_0_x86_64_apple_darwin_bazel",
"@rules_rs//rs/platforms/config:x86_64-pc-windows-gnullvm": ":v8_152_2_0_x86_64_pc_windows_gnullvm",
"@rules_rs//rs/platforms/config:x86_64-pc-windows-msvc": ":v8_152_2_0_x86_64_pc_windows_msvc",
"@rules_rs//rs/platforms/config:x86_64-unknown-linux-gnu": ":v8_152_2_0_x86_64_unknown_linux_gnu_bazel",
":platform_x86_64_unknown_linux_musl": ":v8_152_2_0_x86_64_unknown_linux_musl_release",
"//conditions:default": ":v8_152_2_0_x86_64_unknown_linux_gnu_bazel",
}),
)
alias(
name = "rusty_v8_binding_for_target",
actual = select({
":use_rusty_v8_prebuilts": ":rusty_v8_prebuilt_binding_for_target",
"//conditions:default": ":rusty_v8_source_binding_for_target",
}),
)
alias(
name = "rusty_v8_prebuilt_binding_for_target",
actual = select({
"@rules_rs//rs/platforms/config:aarch64-pc-windows-msvc": "@rusty_v8_152_2_0_aarch64_pc_windows_msvc_binding//file",
"@rules_rs//rs/platforms/config:x86_64-pc-windows-msvc": "@rusty_v8_152_2_0_x86_64_pc_windows_msvc_binding//file",
"@rules_rs//rs/platforms/config:aarch64-apple-darwin": "@rusty_v8_152_2_0_aarch64_apple_darwin_binding//file",
"@rules_rs//rs/platforms/config:aarch64-unknown-linux-gnu": "@rusty_v8_152_2_0_aarch64_unknown_linux_gnu_binding//file",
"@rules_rs//rs/platforms/config:x86_64-apple-darwin": "@rusty_v8_152_2_0_x86_64_apple_darwin_binding//file",
"@rules_rs//rs/platforms/config:x86_64-unknown-linux-gnu": "@rusty_v8_152_2_0_x86_64_unknown_linux_gnu_binding//file",
":platform_aarch64_unknown_linux_musl": "@rusty_v8_152_2_0_aarch64_unknown_linux_musl_binding//file",
":platform_x86_64_unknown_linux_musl": "@rusty_v8_152_2_0_x86_64_unknown_linux_musl_binding//file",
"//conditions:default": ":rusty_v8_source_binding_for_target",
}),
)
alias(
name = "rusty_v8_source_binding_for_target",
actual = select({
"@rules_rs//rs/platforms/config:aarch64-apple-darwin": ":src_binding_release_aarch64_apple_darwin_152_2_0_release",
"@rules_rs//rs/platforms/config:aarch64-pc-windows-gnullvm": ":src_binding_release_aarch64_pc_windows_gnullvm_152_2_0_release",
"@rules_rs//rs/platforms/config:aarch64-pc-windows-msvc": ":src_binding_release_aarch64_pc_windows_msvc_152_2_0_release",
"@rules_rs//rs/platforms/config:aarch64-unknown-linux-gnu": ":src_binding_release_aarch64_unknown_linux_gnu_152_2_0_release",
":platform_aarch64_unknown_linux_musl": ":src_binding_release_aarch64_unknown_linux_musl_152_2_0_release",
"@rules_rs//rs/platforms/config:x86_64-apple-darwin": ":src_binding_release_x86_64_apple_darwin_152_2_0_release",
"@rules_rs//rs/platforms/config:x86_64-pc-windows-gnullvm": ":src_binding_release_x86_64_pc_windows_gnullvm_152_2_0_release",
"@rules_rs//rs/platforms/config:x86_64-pc-windows-msvc": ":src_binding_release_x86_64_pc_windows_msvc_152_2_0_release",
"@rules_rs//rs/platforms/config:x86_64-unknown-linux-gnu": ":src_binding_release_x86_64_unknown_linux_gnu_152_2_0_release",
":platform_x86_64_unknown_linux_musl": ":src_binding_release_x86_64_unknown_linux_musl_152_2_0_release",
"//conditions:default": ":src_binding_release_x86_64_unknown_linux_gnu_152_2_0_release",
}),
)
V8_COPTS = select({
":platform_windows_msvc": [
"/std:c++20",
"/Zc:__cplusplus",
],
"//conditions:default": ["-std=c++20"],
})
V8_CUSTOM_LIBCXX_COPTS = select({
":use_rusty_v8_custom_libcxx_native_windows": [
"/D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS",
"/D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE",
"/D_LIBCPP_INSTRUMENTED_WITH_ASAN=0",
],
":use_rusty_v8_custom_libcxx": [
"-nostdinc++",
"-D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS",
"-D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE",
"-D_LIBCPP_INSTRUMENTED_WITH_ASAN=0",
"-D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS",
],
"//conditions:default": [],
})
V8_STATIC_LIBRARY_FEATURES = [
"-symbol_check",
"-validate-static-library",
]
alias(
name = "rusty_v8_llvm_libc_headers",
actual = "@rusty_v8_llvm_libc//:v8_headers",
)
cc_library(
name = "rusty_v8_custom_libcxx_headers",
defines = select({
":platform_aarch64_unknown_linux_musl": ["ANDROID_HOST_MUSL"],
":platform_x86_64_unknown_linux_musl": ["ANDROID_HOST_MUSL"],
"//conditions:default": [],
}),
visibility = ["//visibility:public"],
deps = ["@rusty_v8_libcxx//:headers"] + select({
":use_rusty_v8_custom_libcxx_native_windows": [],
"//conditions:default": ["@rusty_v8_libcxxabi//:headers"],
}),
)
cc_library(
name = "rusty_v8_custom_libcxx_runtime",
visibility = ["//visibility:public"],
deps = ["@rusty_v8_libcxx//:libcxx"] + select({
":use_rusty_v8_custom_libcxx_native_windows": [],
"//conditions:default": ["@rusty_v8_libcxxabi//:libcxxabi"],
}),
)
genrule(
name = "binding_cc_152_2_0",
srcs = ["@v8_crate_152_2_0//:binding_cc"],
outs = ["binding_152_2_0.cc"],
cmd = " ".join([
"sed",
"-e '/#include \"v8\\/src\\/flags\\/flags.h\"/d'",
"-e 's|\"v8/src/libplatform/default-platform.h\"|\"src/libplatform/default-platform.h\"|'",
"-e 's|#include \"support.h\"|#include \"support_152_2_0.h\"|'",
"-e 's| namespace i = v8::internal;| (void)usage;|'",
"-e '/using HelpOptions = i::FlagList::HelpOptions;/d'",
"-e '/HelpOptions help_options = HelpOptions(HelpOptions::kExit, usage);/d'",
"-e 's| i::FlagList::SetFlagsFromCommandLine(argc, argv, true, help_options);| v8::V8::SetFlagsFromCommandLine(argc, argv, true);|'",
"$(location @v8_crate_152_2_0//:binding_cc)",
">",
'"$@"',
]),
)
genrule(
name = "crdtp_binding_cc_152_2_0",
srcs = ["@v8_crate_152_2_0//:crdtp_binding_cc"],
outs = ["crdtp_binding_152_2_0.cc"],
cmd = " ".join([
"sed",
"-e 's|#include \"support.h\"|#include \"support_152_2_0.h\"|'",
"-e 's|\"v8/third_party/inspector_protocol/|\"third_party/inspector_protocol/|g'",
"$(location @v8_crate_152_2_0//:crdtp_binding_cc)",
">",
'"$@"',
]),
)
copy_file(
name = "support_h_152_2_0",
src = "@v8_crate_152_2_0//:support_h",
out = "support_152_2_0.h",
)
cc_library(
name = "v8_152_2_0_binding",
srcs = [
":binding_cc_152_2_0",
":crdtp_binding_cc_152_2_0",
],
hdrs = [":support_h_152_2_0"],
copts = V8_COPTS + V8_CUSTOM_LIBCXX_COPTS,
deps = [
"@v8//:core_lib_icu",
"@v8//:rusty_v8_crdtp_headers",
"@v8//:rusty_v8_internal_headers",
] + select({
":use_rusty_v8_custom_libcxx": [
":rusty_v8_custom_libcxx_headers",
],
"//conditions:default": [],
}),
)
alias(
name = "native_windows_compiler_builtins",
actual = "@v8_native_windows_llvm//:builtins",
tags = ["manual"],
target_compatible_with = select({
":platform_windows_msvc": [],
"//conditions:default": ["@platforms//:incompatible"],
}),
)
# Compile the pinned Chromium libc++ into V8 with the Microsoft CRT.
cc_static_library(
name = "v8_152_2_0_native_windows_objects",
features = V8_STATIC_LIBRARY_FEATURES,
tags = ["manual"],
target_compatible_with = select({
":platform_windows_msvc": [],
"//conditions:default": ["@platforms//:incompatible"],
}),
deps = [
":rusty_v8_custom_libcxx_runtime",
":v8_152_2_0_binding",
],
)
# cc_static_library only collects object files, not prebuilt libraries.
# The Rust build script receives one .lib without Bazel's CcInfo/linkdeps, so
# merge compiler-rt into the staged artifact explicitly.
genrule(
name = "v8_152_2_0_native_windows_library",
srcs = [
":v8_152_2_0_native_windows_objects",
"@v8_native_windows_llvm//:builtins_archive",
],
outs = ["rusty_v8_native_windows.lib"],
cmd_bat = '""$(location @v8_native_windows_llvm//:llvm-lib)" /NOLOGO /OUT:"$@" "$(location :v8_152_2_0_native_windows_objects)" "$(location @v8_native_windows_llvm//:builtins_archive)""',
tags = ["manual"],
target_compatible_with = [
"@platforms//os:windows",
"@llvm//constraints/windows/abi:msvc",
],
tools = ["@v8_native_windows_llvm//:llvm-lib"],
)
[
v8_artifact_files(
name = "v8_152_2_0_%s_pc_windows_msvc_bazel" % arch,
srcs = [":v8_152_2_0_native_windows_library"],
profile = "sandbox_release",
tags = ["manual"],
target_compatible_with = [
"@platforms//cpu:%s" % arch,
"@platforms//os:windows",
"@llvm//constraints/windows/abi:msvc",
],
v8_cpu = cpu,
)
for arch, cpu in [
("x86_64", "x64"),
("aarch64", "arm64"),
]
]
# Producer selectors never fall back to published inputs. Keep them separate
# from the consumer aliases so a version upgrade can build before publishing.
alias(
name = "rusty_v8_native_windows_archive_for_target",
actual = select({
"@rules_rs//rs/platforms/config:aarch64-pc-windows-msvc": ":v8_152_2_0_aarch64_pc_windows_msvc_bazel",
"@rules_rs//rs/platforms/config:x86_64-pc-windows-msvc": ":v8_152_2_0_x86_64_pc_windows_msvc_bazel",
}),
tags = ["manual"],
)
cc_static_library(
name = "_v8_152_2_0_aarch64_apple_darwin_bazel",
features = V8_STATIC_LIBRARY_FEATURES,
visibility = ["//visibility:private"],
deps = [
":rusty_v8_custom_libcxx_runtime",
":v8_152_2_0_binding",
],
)
cc_static_library(
name = "_v8_152_2_0_aarch64_unknown_linux_gnu_bazel",
features = V8_STATIC_LIBRARY_FEATURES,
visibility = ["//visibility:private"],
deps = [
":rusty_v8_custom_libcxx_runtime",
":v8_152_2_0_binding",
],
)
cc_static_library(
name = "_v8_152_2_0_aarch64_pc_windows_gnullvm_bazel",
features = V8_STATIC_LIBRARY_FEATURES,
visibility = ["//visibility:private"],
deps = [":v8_152_2_0_binding"],
)
cc_static_library(
name = "_v8_152_2_0_aarch64_unknown_linux_musl_release_base",
features = V8_STATIC_LIBRARY_FEATURES,
visibility = ["//visibility:private"],
deps = [
":rusty_v8_custom_libcxx_runtime",
":v8_152_2_0_binding",
],
)
genrule(
name = "_v8_152_2_0_aarch64_unknown_linux_musl_release",
srcs = [
":_v8_152_2_0_aarch64_unknown_linux_musl_release_base",
"@llvm//runtimes/compiler-rt:clang_rt.builtins.static",
],
outs = ["libv8_152_2_0_aarch64_unknown_linux_musl.a"],
cmd = """
cat > "$(@D)/merge.mri" <<'EOF'
create $@
addlib $(location :_v8_152_2_0_aarch64_unknown_linux_musl_release_base)
addlib $(location @llvm//runtimes/compiler-rt:clang_rt.builtins.static)
save
end
EOF
$(location @llvm//tools:llvm-ar) -M < "$(@D)/merge.mri"
$(location @llvm//tools:llvm-ranlib) "$@"
""",
tools = [
"@llvm//tools:llvm-ar",
"@llvm//tools:llvm-ranlib",
],
visibility = ["//visibility:private"],
)
cc_static_library(
name = "_v8_152_2_0_x86_64_apple_darwin_bazel",
features = V8_STATIC_LIBRARY_FEATURES,
visibility = ["//visibility:private"],
deps = [
":rusty_v8_custom_libcxx_runtime",
":v8_152_2_0_binding",
],
)
cc_static_library(
name = "_v8_152_2_0_x86_64_unknown_linux_gnu_bazel",
features = V8_STATIC_LIBRARY_FEATURES,
visibility = ["//visibility:private"],
deps = [
":rusty_v8_custom_libcxx_runtime",
":v8_152_2_0_binding",
],
)
cc_static_library(
name = "_v8_152_2_0_x86_64_pc_windows_gnullvm_bazel",
features = V8_STATIC_LIBRARY_FEATURES,
visibility = ["//visibility:private"],
deps = [":v8_152_2_0_binding"],
)
cc_static_library(
name = "_v8_152_2_0_x86_64_unknown_linux_musl_release",
features = V8_STATIC_LIBRARY_FEATURES,
visibility = ["//visibility:private"],
deps = [
":rusty_v8_custom_libcxx_runtime",
":v8_152_2_0_binding",
],
)
# Local source producers match the Rust consumer's sandbox ABI, and use the
# workspace C++ runtime. Release pairs below select pinned Chromium libc++ and
# build the private source nodes directly under their own profiles.
[
v8_artifact_files(
name = name,
srcs = [":_" + name],
profile = "source",
v8_cpu = cpu,
)
for name, cpu in [
("v8_152_2_0_aarch64_apple_darwin_bazel", "arm64"),
("v8_152_2_0_aarch64_unknown_linux_gnu_bazel", "arm64"),
("v8_152_2_0_aarch64_pc_windows_gnullvm_bazel", "arm64"),
("v8_152_2_0_aarch64_unknown_linux_musl_release", "arm64"),
("v8_152_2_0_x86_64_apple_darwin_bazel", "x64"),
("v8_152_2_0_x86_64_unknown_linux_gnu_bazel", "x64"),
("v8_152_2_0_x86_64_pc_windows_gnullvm_bazel", "x64"),
("v8_152_2_0_x86_64_unknown_linux_musl_release", "x64"),
]
]
filegroup(
name = "src_binding_release_aarch64_apple_darwin_152_2_0_release",
srcs = ["@v8_crate_152_2_0//:src_binding_release_aarch64_apple_darwin"],
)
filegroup(
name = "src_binding_release_x86_64_apple_darwin_152_2_0_release",
srcs = ["@v8_crate_152_2_0//:src_binding_release_x86_64_apple_darwin"],
)
filegroup(
name = "src_binding_release_aarch64_unknown_linux_gnu_152_2_0_release",
srcs = ["@v8_crate_152_2_0//:src_binding_release_aarch64_unknown_linux_gnu"],
)
filegroup(
name = "src_binding_release_x86_64_unknown_linux_gnu_152_2_0_release",
srcs = ["@v8_crate_152_2_0//:src_binding_release_x86_64_unknown_linux_gnu"],
)
filegroup(
name = "src_binding_release_aarch64_unknown_linux_musl_152_2_0_release",
srcs = ["@v8_crate_152_2_0//:src_binding_release_aarch64_unknown_linux_gnu"],
)
filegroup(
name = "src_binding_release_x86_64_unknown_linux_musl_152_2_0_release",
srcs = ["@v8_crate_152_2_0//:src_binding_release_x86_64_unknown_linux_gnu"],
)
alias(
name = "src_binding_release_aarch64_pc_windows_msvc_152_2_0_release",
actual = "@rusty_v8_152_2_0_aarch64_pc_windows_msvc_binding//file",
)
alias(
name = "src_binding_release_x86_64_pc_windows_msvc_152_2_0_release",
actual = "@rusty_v8_152_2_0_x86_64_pc_windows_msvc_binding//file",
)
v8_artifact_files(
name = "rusty_v8_release_pair_x86_64_apple_darwin",
srcs = [
":_v8_152_2_0_x86_64_apple_darwin_bazel",
":src_binding_release_x86_64_apple_darwin_152_2_0_release",
],
profile = "release",
v8_cpu = "x64",
)
v8_artifact_files(
name = "rusty_v8_release_pair_aarch64_apple_darwin",
srcs = [
":_v8_152_2_0_aarch64_apple_darwin_bazel",
":src_binding_release_aarch64_apple_darwin_152_2_0_release",
],
profile = "release",
v8_cpu = "arm64",
)
v8_artifact_files(
name = "rusty_v8_release_pair_x86_64_unknown_linux_gnu",
srcs = [
":_v8_152_2_0_x86_64_unknown_linux_gnu_bazel",
":src_binding_release_x86_64_unknown_linux_gnu_152_2_0_release",
],
profile = "release",
v8_cpu = "x64",
)
v8_artifact_files(
name = "rusty_v8_release_pair_aarch64_unknown_linux_gnu",
srcs = [
":_v8_152_2_0_aarch64_unknown_linux_gnu_bazel",
":src_binding_release_aarch64_unknown_linux_gnu_152_2_0_release",
],
profile = "release",
v8_cpu = "arm64",
)
v8_artifact_files(
name = "rusty_v8_release_pair_x86_64_unknown_linux_musl",
srcs = [
":_v8_152_2_0_x86_64_unknown_linux_musl_release",
":src_binding_release_x86_64_unknown_linux_musl_152_2_0_release",
],
profile = "release",
v8_cpu = "x64",
)
v8_artifact_files(
name = "rusty_v8_release_pair_aarch64_unknown_linux_musl",
srcs = [
":_v8_152_2_0_aarch64_unknown_linux_musl_release",
":src_binding_release_aarch64_unknown_linux_musl_152_2_0_release",
],
profile = "release",
v8_cpu = "arm64",
)
filegroup(
name = "rusty_v8_release_pair_x86_64_pc_windows_msvc",
srcs = [
":src_binding_release_x86_64_pc_windows_msvc_152_2_0_release",
":v8_152_2_0_x86_64_pc_windows_msvc",
],
)
filegroup(
name = "rusty_v8_release_pair_aarch64_pc_windows_msvc",
srcs = [
":src_binding_release_aarch64_pc_windows_msvc_152_2_0_release",
":v8_152_2_0_aarch64_pc_windows_msvc",
],
)
v8_artifact_files(
name = "rusty_v8_sandbox_release_pair_x86_64_apple_darwin",
srcs = [
":_v8_152_2_0_x86_64_apple_darwin_bazel",
":src_binding_release_x86_64_apple_darwin_152_2_0_release",
],
profile = "sandbox_release",
v8_cpu = "x64",
)
v8_artifact_files(
name = "rusty_v8_sandbox_release_pair_aarch64_apple_darwin",
srcs = [
":_v8_152_2_0_aarch64_apple_darwin_bazel",
":src_binding_release_aarch64_apple_darwin_152_2_0_release",
],
profile = "sandbox_release",
v8_cpu = "arm64",
)
v8_artifact_files(
name = "rusty_v8_sandbox_release_pair_x86_64_unknown_linux_gnu",
srcs = [
":_v8_152_2_0_x86_64_unknown_linux_gnu_bazel",
":src_binding_release_x86_64_unknown_linux_gnu_152_2_0_release",
],
profile = "sandbox_release",
v8_cpu = "x64",
)
v8_artifact_files(
name = "rusty_v8_sandbox_release_pair_aarch64_unknown_linux_gnu",
srcs = [
":_v8_152_2_0_aarch64_unknown_linux_gnu_bazel",
":src_binding_release_aarch64_unknown_linux_gnu_152_2_0_release",
],
profile = "sandbox_release",
v8_cpu = "arm64",
)
v8_artifact_files(
name = "rusty_v8_sandbox_release_pair_x86_64_unknown_linux_musl",
srcs = [
":_v8_152_2_0_x86_64_unknown_linux_musl_release",
":src_binding_release_x86_64_unknown_linux_musl_152_2_0_release",
],
profile = "sandbox_release",
v8_cpu = "x64",
)
v8_artifact_files(
name = "rusty_v8_sandbox_release_pair_aarch64_unknown_linux_musl",
srcs = [
":_v8_152_2_0_aarch64_unknown_linux_musl_release",
":src_binding_release_aarch64_unknown_linux_musl_152_2_0_release",
],
profile = "sandbox_release",
v8_cpu = "arm64",
)