Files
codex/third_party/v8/dependency_config.bzl
T
Sean Huang 85de07048c Isolate V8 source dependencies and their C++ runtime settings (#56261)
## Why

V8's Abseil and protobuf's shared Abseil can be built for different C++ runtimes. Give V8's copy a distinct inline namespace so both can link into one binary without interposing incompatible functions.

## What changed

- Move pinned V8 dependency imports and BUILD overlays into `third_party/v8`, and inject those repositories into V8 through a module-extension bridge with no fallback downloads.
- Build V8's Abseil with a V8-specific inline namespace while preserving protobuf's shared Abseil namespace.
- Apply V8's C++ runtime settings in the Abseil, Highway, and simdutf overlays, and remove the shared `rules_cc` patch.
- Document source dependency ownership and the version, checksum, and overlay review procedure for V8 upgrades.

GitOrigin-RevId: 2b8e3deed285559f8dd3324647cb4b81089f2f56
2026-10-22 20:49:13 +00:00

24 lines
791 B
Python

"""Runtime settings for Codex's Highway and simdutf V8 dependencies.
These targets build with the same Chromium libc++ headers as V8 when that
profile is active. Shared libraries such as Abseil remain separate.
"""
RUSTY_V8_DEPENDENCY_COPTS = select({
"@@//third_party/v8: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": [],
})
RUSTY_V8_DEPENDENCY_DEPS = select({
"@@//third_party/v8:use_rusty_v8_custom_libcxx": [
"@@//third_party/v8:rusty_v8_custom_libcxx_headers",
],
"//conditions:default": [],
})