Files
codex/third_party/v8/simdutf.BUILD.bazel
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

29 lines
946 B
Plaintext

# Codex overlay for upstream simdutf source, not copied from V8's BUILD.
# V8 builds Chromium's single-header vendored form; match its Version field
# and review vendor changes on each upgrade (README.md#updating-source-dependencies).
load("@@//third_party/v8:dependency_config.bzl", "RUSTY_V8_DEPENDENCY_COPTS", "RUSTY_V8_DEPENDENCY_DEPS")
load("@rules_cc//cc:defs.bzl", "cc_library")
cc_library(
name = "simdutf",
srcs = ["src/simdutf.cpp"],
hdrs = glob(["include/**/*.h"]),
copts = ["-std=c++20"] + RUSTY_V8_DEPENDENCY_COPTS,
features = ["-module_maps"],
include_prefix = "third_party/simdutf",
includes = [
"include",
"src",
],
strip_include_prefix = "include",
textual_hdrs = glob(
[
"src/**/*.h",
"src/**/*.cpp",
],
exclude = ["src/simdutf.cpp"],
),
visibility = ["//visibility:public"],
deps = RUSTY_V8_DEPENDENCY_DEPS,
)