• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
71# x64_windows-clang-cl - used for selecting clang-cl for CI builds
72platform(
73    name = "x64_windows-clang-cl",
74    constraint_values = [
75        "@platforms//cpu:x86_64",
76        "@platforms//os:windows",
77        "@bazel_tools//tools/cpp:clang-cl",
78    ],
79    visibility = [":__subpackages__"],
80)
81
82config_setting(
83    name = "osx",
84    constraint_values = [
85        "@platforms//os:osx",
86    ],
87)
88
89config_setting(
90    name = "ios",
91    constraint_values = [
92        "@platforms//os:ios",
93    ],
94)
95
96config_setting(
97    name = "ppc",
98    values = {
99        "cpu": "ppc",
100    },
101    visibility = [":__subpackages__"],
102)
103
104config_setting(
105    name = "cpu_wasm",
106    values = {
107        "cpu": "wasm",
108    },
109    visibility = [":__subpackages__"],
110)
111
112config_setting(
113    name = "cpu_wasm32",
114    values = {
115        "cpu": "wasm32",
116    },
117    visibility = [":__subpackages__"],
118)
119
120config_setting(
121    name = "platforms_wasm32",
122    constraint_values = [
123        "@platforms//cpu:wasm32",
124    ],
125    visibility = [":__subpackages__"],
126)
127
128config_setting(
129    name = "platforms_wasm64",
130    constraint_values = [
131        "@platforms//cpu:wasm64",
132    ],
133    visibility = [":__subpackages__"],
134)
135
136selects.config_setting_group(
137    name = "wasm",
138    match_any = [
139        ":cpu_wasm",
140        ":cpu_wasm32",
141        ":platforms_wasm32",
142        ":platforms_wasm64",
143    ],
144    visibility = [":__subpackages__"],
145)
146
147config_setting(
148    name = "fuchsia",
149    values = {
150        "cpu": "fuchsia",
151    },
152    visibility = [":__subpackages__"],
153)
154
155selects.config_setting_group(
156    name = "mingw_compiler",
157    match_any = [
158        ":mingw_unspecified_compiler",
159        ":mingw-gcc_compiler",
160    ],
161    visibility = [":__subpackages__"],
162)
163