mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-05 11:51:04 +01:00
LLVM_SYMBOLIZER_PATH is required if `llvm-symbolizer` isn't in the developer's PATH. This sets it via bazel instead of having a developer handle it. I noticed this because the apt install of clang doesn't put llvm-symbolizer in the PATH. I'd like to make this the default without putting it everywhere, but I don't see a way to do this intrinsically through [the toolchain](https://bazel.build/docs/cc-toolchain-config-reference), and the [rules_cc/defs.bzl](https://github.com/bazelbuild/rules_cc/blob/main/cc/defs.bzl) remains a thin wrapper around the native cc_binary. Since I'm adding another env, it seems undesirable to have the macos asan workaround separate. As a consequence, this merges it in. Note bazel doesn't support merging a dict and a select, so it's also necessary to have the two env vars at least mildly aware there's something up (and this could get worse if we end up having more selects).
48 lines
1.1 KiB
Python
48 lines
1.1 KiB
Python
# Part of the Carbon Language project, under the Apache License v2.0 with LLVM
|
|
# Exceptions. See /LICENSE for license information.
|
|
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
|
|
load("//bazel/cc_toolchains:defs.bzl", "cc_env")
|
|
|
|
package(default_visibility = [
|
|
"//bazel/check_deps:__pkg__",
|
|
"//explorer:__subpackages__",
|
|
"//installers:__subpackages__",
|
|
])
|
|
|
|
filegroup(
|
|
name = "standard_libraries",
|
|
srcs = ["data/prelude.carbon"],
|
|
)
|
|
|
|
cc_library(
|
|
name = "main",
|
|
srcs = ["main.cpp"],
|
|
hdrs = ["main.h"],
|
|
deps = [
|
|
"//common:error",
|
|
"//explorer/common:arena",
|
|
"//explorer/common:nonnull",
|
|
"//explorer/interpreter:exec_program",
|
|
"//explorer/syntax",
|
|
"//explorer/syntax:prelude",
|
|
"@llvm-project//llvm:Support",
|
|
],
|
|
)
|
|
|
|
cc_binary(
|
|
name = "explorer",
|
|
srcs = ["main_bin.cpp"],
|
|
env = cc_env(),
|
|
deps = [
|
|
":main",
|
|
"//common:bazel_working_dir",
|
|
"@llvm-project//llvm:Support",
|
|
],
|
|
)
|
|
|
|
py_binary(
|
|
name = "gen_rtti",
|
|
srcs = ["gen_rtti.py"],
|
|
)
|