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 16load("@bazel_skylib//lib:selects.bzl", "selects") 17 18package(default_visibility = ["//visibility:public"]) 19 20licenses(["notice"]) 21 22config_setting( 23 name = "clang_compiler", 24 flag_values = { 25 "@bazel_tools//tools/cpp:compiler": "clang", 26 }, 27 visibility = [":__subpackages__"], 28) 29 30config_setting( 31 name = "gcc_compiler", 32 flag_values = { 33 "@bazel_tools//tools/cpp:compiler": "gcc", 34 }, 35 visibility = [":__subpackages__"], 36) 37 38config_setting( 39 name = "msvc_compiler", 40 flag_values = { 41 "@bazel_tools//tools/cpp:compiler": "msvc-cl", 42 }, 43 visibility = [":__subpackages__"], 44) 45 46config_setting( 47 name = "clang-cl_compiler", 48 flag_values = { 49 "@bazel_tools//tools/cpp:compiler": "clang-cl", 50 }, 51 visibility = [":__subpackages__"], 52) 53 54config_setting( 55 name = "osx", 56 constraint_values = [ 57 "@platforms//os:osx", 58 ], 59) 60 61config_setting( 62 name = "ios", 63 constraint_values = [ 64 "@platforms//os:ios", 65 ], 66) 67 68config_setting( 69 name = "ppc", 70 values = { 71 "cpu": "ppc", 72 }, 73 visibility = [":__subpackages__"], 74) 75 76config_setting( 77 name = "cpu_wasm", 78 values = { 79 "cpu": "wasm", 80 }, 81 visibility = [":__subpackages__"], 82) 83 84config_setting( 85 name = "cpu_wasm32", 86 values = { 87 "cpu": "wasm32", 88 }, 89 visibility = [":__subpackages__"], 90) 91 92config_setting( 93 name = "platforms_wasm32", 94 constraint_values = [ 95 "@platforms//cpu:wasm32", 96 ], 97 visibility = [":__subpackages__"], 98) 99 100config_setting( 101 name = "platforms_wasm64", 102 constraint_values = [ 103 "@platforms//cpu:wasm64", 104 ], 105 visibility = [":__subpackages__"], 106) 107 108selects.config_setting_group( 109 name = "wasm", 110 match_any = [ 111 ":cpu_wasm", 112 ":cpu_wasm32", 113 ":platforms_wasm32", 114 ":platforms_wasm64", 115 ], 116 visibility = [":__subpackages__"], 117) 118 119config_setting( 120 name = "fuchsia", 121 values = { 122 "cpu": "fuchsia", 123 }, 124 visibility = [":__subpackages__"], 125) 126