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 = "msvc_compiler", 32 flag_values = { 33 "@bazel_tools//tools/cpp:compiler": "msvc-cl", 34 }, 35 visibility = [":__subpackages__"], 36) 37 38config_setting( 39 name = "clang-cl_compiler", 40 flag_values = { 41 "@bazel_tools//tools/cpp:compiler": "clang-cl", 42 }, 43 visibility = [":__subpackages__"], 44) 45 46config_setting( 47 name = "osx", 48 constraint_values = [ 49 "@platforms//os:osx", 50 ], 51) 52 53config_setting( 54 name = "ios", 55 constraint_values = [ 56 "@platforms//os:ios", 57 ], 58) 59 60config_setting( 61 name = "ppc", 62 values = { 63 "cpu": "ppc", 64 }, 65 visibility = [":__subpackages__"], 66) 67 68config_setting( 69 name = "cpu_wasm", 70 values = { 71 "cpu": "wasm", 72 }, 73 visibility = [":__subpackages__"], 74) 75 76config_setting( 77 name = "cpu_wasm32", 78 values = { 79 "cpu": "wasm32", 80 }, 81 visibility = [":__subpackages__"], 82) 83 84config_setting( 85 name = "platforms_wasm32", 86 constraint_values = [ 87 "@platforms//cpu:wasm32", 88 ], 89 visibility = [":__subpackages__"], 90) 91 92config_setting( 93 name = "platforms_wasm64", 94 constraint_values = [ 95 "@platforms//cpu:wasm64", 96 ], 97 visibility = [":__subpackages__"], 98) 99 100selects.config_setting_group( 101 name = "wasm", 102 match_any = [ 103 ":cpu_wasm", 104 ":cpu_wasm32", 105 ":platforms_wasm32", 106 ":platforms_wasm64", 107 ], 108 visibility = [":__subpackages__"], 109) 110 111config_setting( 112 name = "fuchsia", 113 values = { 114 "cpu": "fuchsia", 115 }, 116 visibility = [":__subpackages__"], 117) 118