Files
codex/third_party/v8/engine_rules.bzl
T
Sean Huang 108cf2975a Enforce V8 artifact profiles at Bazel target boundaries (#57165)
## Why

V8 source and release artifacts require different ABI and C++ runtime settings. Selecting a named artifact should also select its required settings, without callers coordinating separate sandbox, pointer compression, libc++, and CPU flags.

## What changed

- Add Bazel transitions for `source`, `release`, and `sandbox_release` profiles. Source builds use the sandbox ABI and workspace runtime; release pairs use Chromium's pinned runtime with their respective ABI.
- Select the V8 CPU from the artifact target and enforce matching target platform constraints.
- Make the underlying V8 settings unavailable as CLI flags and remove redundant configuration from release tooling and workflows.
- Select Darwin/Linux prebuilts solely through `rusty_v8_from_source`, keeping source archives and bindings paired when enabled.

GitOrigin-RevId: f72fc06b6f74b79ab2ab8ca697e4f2006076a833
2026-10-26 17:56:15 +00:00

14 lines
477 B
Python

"""Codex's fixed selection for branches of the imported V8 source inventory."""
load("@v8//:bazel/defs.bzl", "FlagInfo")
def _options_impl(ctx):
return FlagInfo(value = ctx.build_setting_value)
# Source-only features keep upstream select names without adding CLI options.
# ABI/runtime selections are internal settings controlled by artifact profiles.
v8_fixed_source_features = rule(
implementation = _options_impl,
build_setting = config.bool(flag = False),
)