1# 2# Copyright 2017 The Abseil Authors. 3# 4# Licensed under the Apache License, Version 2.0 (the "License"); 5# you may not use this file except in compliance with the License. 6# You may obtain a copy of the License at 7# 8# https://www.apache.org/licenses/LICENSE-2.0 9# 10# Unless required by applicable law or agreed to in writing, software 11# distributed under the License is distributed on an "AS IS" BASIS, 12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13# See the License for the specific language governing permissions and 14# limitations under the License. 15# 16 17load("@bazel_skylib//lib:selects.bzl", "selects") 18 19package(default_visibility = ["//visibility:public"]) 20 21licenses(["notice"]) 22 23config_setting( 24 name = "clang_compiler", 25 flag_values = { 26 "@bazel_tools//tools/cpp:compiler": "clang", 27 }, 28 visibility = [":__subpackages__"], 29) 30 31config_setting( 32 name = "gcc_compiler", 33 flag_values = { 34 "@bazel_tools//tools/cpp:compiler": "gcc", 35 }, 36 visibility = [":__subpackages__"], 37) 38 39config_setting( 40 name = "mingw_unspecified_compiler", 41 flag_values = { 42 "@bazel_tools//tools/cpp:compiler": "mingw", 43 }, 44 visibility = [":__subpackages__"], 45) 46 47config_setting( 48 name = "mingw-gcc_compiler", 49 flag_values = { 50 "@bazel_tools//tools/cpp:compiler": "mingw-gcc", 51 }, 52 visibility = [":__subpackages__"], 53) 54 55config_setting( 56 name = "msvc_compiler", 57 flag_values = { 58 "@bazel_tools//tools/cpp:compiler": "msvc-cl", 59 }, 60 visibility = [":__subpackages__"], 61) 62 63config_setting( 64 name = "clang-cl_compiler", 65 flag_values = { 66 "@bazel_tools//tools/cpp:compiler": "clang-cl", 67 }, 68 visibility = [":__subpackages__"], 69) 70 71config_setting( 72 name = "osx", 73 constraint_values = [ 74 "@platforms//os:osx", 75 ], 76) 77 78config_setting( 79 name = "ios", 80 constraint_values = [ 81 "@platforms//os:ios", 82 ], 83) 84 85config_setting( 86 name = "ppc", 87 values = { 88 "cpu": "ppc", 89 }, 90 visibility = [":__subpackages__"], 91) 92 93config_setting( 94 name = "cpu_wasm", 95 values = { 96 "cpu": "wasm", 97 }, 98 visibility = [":__subpackages__"], 99) 100 101config_setting( 102 name = "cpu_wasm32", 103 values = { 104 "cpu": "wasm32", 105 }, 106 visibility = [":__subpackages__"], 107) 108 109config_setting( 110 name = "platforms_wasm32", 111 constraint_values = [ 112 "@platforms//cpu:wasm32", 113 ], 114 visibility = [":__subpackages__"], 115) 116 117config_setting( 118 name = "platforms_wasm64", 119 constraint_values = [ 120 "@platforms//cpu:wasm64", 121 ], 122 visibility = [":__subpackages__"], 123) 124 125selects.config_setting_group( 126 name = "wasm", 127 match_any = [ 128 ":cpu_wasm", 129 ":cpu_wasm32", 130 ":platforms_wasm32", 131 ":platforms_wasm64", 132 ], 133 visibility = [":__subpackages__"], 134) 135 136config_setting( 137 name = "fuchsia", 138 values = { 139 "cpu": "fuchsia", 140 }, 141 visibility = [":__subpackages__"], 142) 143 144selects.config_setting_group( 145 name = "mingw_compiler", 146 match_any = [ 147 ":mingw_unspecified_compiler", 148 ":mingw-gcc_compiler", 149 ], 150 visibility = [":__subpackages__"], 151) 152