xref: /aosp_15_r20/build/bazel/toolchains/clang/host/linux-x86/BUILD.bazel (revision 7594170e27e0732bc44b93d1440d87a54b6ffe7c)
1# Copyright (C) 2023 The Android Open Source Project
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7#     http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15load("@bazel_skylib//rules:common_settings.bzl", "bool_flag", "string_flag")
16load("@env//:env.bzl", "env")
17load("//build/bazel/flags:common.bzl", "is_env_true")
18load(":cc_toolchain_clang_version_test.bzl", "cc_toolchain_clang_version_test_suite")
19load(":cc_toolchain_features_arm_isa_test.bzl", "cc_toolchain_features_arm_isa_test_suite")
20load(":cc_toolchain_features_cfi_test.bzl", "cc_toolchain_features_cfi_test_suite")
21load(":cc_toolchain_features_env_based_flags_test.bzl", "cc_toolchain_features_env_based_flags_test_suite")
22load(":cc_toolchain_features_flag_order_test.bzl", "cc_toolchain_features_flag_order_test_suite")
23load(":cc_toolchain_features_linker_alignment_test.bzl", "cc_toolchain_features_linker_alignment_test_suite")
24load(":cc_toolchain_features_memtag_test.bzl", "cc_toolchain_features_memtag_test_suite")
25load(":cc_toolchain_features_misc_test.bzl", "cc_toolchain_features_test_suite")
26load(":cc_toolchain_features_pack_relocation_test.bzl", "cc_toolchain_features_pack_relocation_test_suite")
27load(":cc_toolchain_features_thinlto_test.bzl", "cc_toolchain_features_lto_test_suite")
28load(":cc_toolchain_features_ubsan_test.bzl", "cc_toolchain_features_ubsan_test_suite")
29
30package(default_visibility = ["//build/bazel:__subpackages__"])
31
32bool_flag(
33    name = "auto_zero_initialize_env",
34    build_setting_default = is_env_true(env.get("AUTO_ZERO_INITIALIZE")),
35)
36
37bool_flag(
38    name = "auto_pattern_initialize_env",
39    build_setting_default = is_env_true(env.get("AUTO_PATTERN_INITIALIZE")),
40)
41
42bool_flag(
43    name = "auto_uninitialize_env",
44    build_setting_default = is_env_true(env.get("AUTO_UNINITIALIZE")),
45)
46
47bool_flag(
48    name = "use_ccache_env",
49    build_setting_default = is_env_true(env.get("USE_CCACHE")),
50)
51
52bool_flag(
53    name = "llvm_next_env",
54    build_setting_default = is_env_true(env.get("LLVM_NEXT")),
55)
56
57bool_flag(
58    name = "allow_unknown_warning_option_env",
59    build_setting_default = is_env_true(env.get("ALLOW_UNKNOWN_WARNING_OPTION")),
60)
61
62string_flag(
63    name = "clang_default_debug_level",
64    build_setting_default = env.get("CLANG_DEFAULT_DEBUG_LEVEL") or "",
65    values = [
66        "debug_level_g",
67        "debug_level_0",
68        "debug_level_1",
69        "debug_level_2",
70        "debug_level_3",
71        "",
72    ],
73)
74
75cc_toolchain_features_arm_isa_test_suite(
76    name = "cc_toolchain_features_arm_isa_test",
77)
78
79cc_toolchain_clang_version_test_suite(
80    name = "cc_toolchain_clang_version_tests",
81)
82
83cc_toolchain_features_test_suite(
84    name = "cc_toolchain_features_tests",
85)
86
87cc_toolchain_features_cfi_test_suite(
88    name = "cc_toolchain_features_cfi_tests",
89)
90
91cc_toolchain_features_pack_relocation_test_suite(
92    name = "cc_toolchain_features_pack_relocation_tests",
93)
94
95cc_toolchain_features_lto_test_suite(
96    name = "cc_toolchain_features_thinlto_tests",
97)
98
99cc_toolchain_features_ubsan_test_suite(
100    name = "cc_toolchain_features_ubsan_tests",
101)
102
103cc_toolchain_features_env_based_flags_test_suite(
104    name = "cc_toolchain_features_env_based_flags_tests",
105)
106
107cc_toolchain_features_flag_order_test_suite(
108    name = "cc_toolchain_features_flag_order_tests",
109)
110
111cc_toolchain_features_linker_alignment_test_suite(
112    name = "cc_toolchain_features_linker_alignment_tests",
113)
114
115cc_toolchain_features_memtag_test_suite(
116    name = "cc_toolchain_features_memtag_tests",
117)
118