blob: e5ef6c1c97652395aa4f6377ba703b768b3671cb [file] [log] [blame] [edit]
load("@bazel_skylib//:bzl_library.bzl", "bzl_library")
load(
"@bazel_skylib//rules:common_settings.bzl",
"string_list_flag",
)
load("//cc_bindings_from_rs/bazel_support:toolchain.bzl", "cc_bindings_from_rs_toolchain")
package(
default_applicable_licenses = ["//:license"],
default_visibility = ["//common/bazel_support:__subpackages__"],
)
bzl_library(
name = "cc_info_util_bzl",
srcs = ["cc_info_util.bzl"],
visibility = ["//:__subpackages__"],
)
# FLAGS
# =====
#
# The following flags can be used by either direction of interop to control behavior of the tool.
string_list_flag(
name = "globally_enabled_features",
build_setting_default = [],
visibility = ["//visibility:public"],
)
# TOOLCHAINS
# ==========
#
# The following are all of the Crubit toolchain implementations.
# The actual registration happens in MODULE.bazel and toolchains/BUILD.
# cc_bindings_from_rs
# -------------------
cc_bindings_from_rs_toolchain(
name = "cc_bindings_from_rs_on_demand_impl",
binary = "//cc_bindings_from_rs:cc_bindings_from_rs",
)
# rs_bindings_from_cc
# -------------------
config_setting(
name = "use_fake_rs_bindings_from_cc_setting",
flag_values = {
"//rs_bindings_from_cc/bazel_support:use_actual_bindings_generator": "False",
},
)
config_setting(
name = "use_actual_rs_bindings_from_cc_setting",
flag_values = {
"//rs_bindings_from_cc/bazel_support:use_actual_bindings_generator": "True",
},
)
rs_bindings_from_cc_toolchain(
name = "rs_bindings_from_cc_on_demand_impl",
binary = "//rs_bindings_from_cc:rs_bindings_from_cc",
builtin_headers = [
"//llvm/llvm-project/clang:builtin_headers_filegroup",
"//llvm/llvm-project/compiler-rt:fuzzer_filegroup",
"//llvm/llvm-project/compiler-rt:sanitizer_filegroup",
],
stl_headers = ["//nowhere/llvm:cc-std-headers"],
)
rs_bindings_from_cc_toolchain(
name = "rs_bindings_from_cc_fake_impl",
binary = "//rs_bindings_from_cc/bazel_support:fake_rust_bindings_from_cc",
builtin_headers = [],
stl_headers = [],
)
config_setting(
name = "cpu_arm",
constraint_values = [
"@platforms//cpu:aarch64",
],
visibility = [
],
)
config_setting(
name = "cpu_x86",
constraint_values = [
"@platforms//cpu:x86_64",
],
visibility = [
],
)