mirror of
https://github.com/pchuan98/codex.git
synced 2026-07-01 00:31:56 +08:00
740c4f269d
## Intent Keep Bazel and Starlark files consistently formatted without requiring contributors to install or version buildifier themselves. ## Implementation - Add a SHA-256-pinned, cross-platform DotSlash manifest for buildifier v8.5.1. - Run buildifier from the shared `just fmt` and `just fmt-check` driver, with Windows-safe explicit DotSlash invocation. - Provision DotSlash in formatting CI and contributor devcontainers, and document the source-build prerequisite. - Apply the initial mechanical buildifier formatting baseline.
100 lines
2.8 KiB
Plaintext
100 lines
2.8 KiB
Plaintext
load("@llvm//toolchain/runtimes:cc_runtime_library.bzl", "cc_runtime_stage0_library")
|
|
load("@rules_cc//cc:defs.bzl", "cc_library")
|
|
|
|
package(default_visibility = ["//visibility:public"])
|
|
|
|
config_setting(
|
|
name = "is_linux",
|
|
constraint_values = ["@platforms//os:linux"],
|
|
)
|
|
|
|
config_setting(
|
|
name = "is_windows",
|
|
constraint_values = ["@platforms//os:windows"],
|
|
)
|
|
|
|
cc_library(
|
|
name = "headers",
|
|
hdrs = glob(["include/**"]),
|
|
strip_include_prefix = "include",
|
|
)
|
|
|
|
cc_runtime_stage0_library(
|
|
name = "libcxxabi",
|
|
srcs = [
|
|
"src/abort_message.cpp",
|
|
"src/cxa_aux_runtime.cpp",
|
|
"src/cxa_default_handlers.cpp",
|
|
"src/cxa_demangle.cpp",
|
|
"src/cxa_exception.cpp",
|
|
"src/cxa_exception_storage.cpp",
|
|
"src/cxa_guard.cpp",
|
|
"src/cxa_handlers.cpp",
|
|
"src/cxa_personality.cpp",
|
|
"src/cxa_vector.cpp",
|
|
"src/cxa_virtual.cpp",
|
|
"src/fallback_malloc.cpp",
|
|
"src/private_typeinfo.cpp",
|
|
"src/stdlib_exception.cpp",
|
|
"src/stdlib_stdexcept.cpp",
|
|
"src/stdlib_typeinfo.cpp",
|
|
] + select({
|
|
":is_linux": ["src/cxa_thread_atexit.cpp"],
|
|
"//conditions:default": [],
|
|
}),
|
|
copts = [
|
|
"-fexceptions",
|
|
"-frtti",
|
|
"-fstrict-aliasing",
|
|
"-fvisibility=hidden",
|
|
"-fvisibility-inlines-hidden",
|
|
"-nostdinc++",
|
|
"-std=c++23",
|
|
"-Wno-nullability-completeness",
|
|
"-Wno-unused-parameter",
|
|
"-Wundef",
|
|
] + select({
|
|
":is_windows": ["-Wno-macro-redefined"],
|
|
"//conditions:default": ["-fPIC"],
|
|
}),
|
|
defines = [
|
|
"LIBCXXABI_SILENT_TERMINATE",
|
|
"_LIBCPP_BUILDING_LIBRARY",
|
|
"_LIBCPP_CONSTINIT=constinit",
|
|
"_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS",
|
|
"_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE",
|
|
"_LIBCPP_INSTRUMENTED_WITH_ASAN=0",
|
|
"_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS",
|
|
] + select({
|
|
"@llvm//platforms/config:musl": [
|
|
"ANDROID_HOST_MUSL",
|
|
],
|
|
"//conditions:default": [],
|
|
}),
|
|
implementation_deps = [
|
|
":headers",
|
|
"@//third_party/v8/libcxx_config:headers",
|
|
"@rusty_v8_libcxx//:headers",
|
|
"@rusty_v8_libcxx//:internal_headers",
|
|
] + select({
|
|
":is_linux": [
|
|
"@@llvm++kernel_headers+kernel_headers//:kernel_headers",
|
|
],
|
|
"//conditions:default": [],
|
|
}) + select({
|
|
"@llvm//platforms/config:gnu": [
|
|
"@@llvm++glibc+glibc//:gnu_libc_headers",
|
|
],
|
|
"@llvm//platforms/config:musl": [
|
|
"@@llvm++musl+musl_libc//:musl_libc_headers",
|
|
],
|
|
"//conditions:default": [],
|
|
}),
|
|
includes = ["src"],
|
|
textual_hdrs = glob([
|
|
"src/**/*.def",
|
|
"src/**/*.h",
|
|
"src/**/*.inc",
|
|
]),
|
|
)
|