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