mirror of
https://github.com/openai/codex.git
synced 2026-10-23 18:08:45 +00:00
## 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
24 lines
791 B
Python
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": [],
|
|
})
|