aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar scentini <rosica.dejanovska@gmail.com>2018-07-19 18:24:16 +0200
committerGravatar Marcel Hlopko <hlopko@google.com>2018-08-06 14:35:27 +0200
commitcade3ac4af588f66dc9bb0369790857fbd7b1965 (patch)
tree4344b5ad6af19b307350a9924aaa49fab432cacc
parentdb18e6b4c8a7cbb5c19cd1af74da8b7e503d33bf (diff)
Replace config_setting.values{"compiler"} with config_setting.flag_values{"@bazel_tools//tools/cpp:compiler"}
-rw-r--r--third_party/BUILD23
-rw-r--r--third_party/compiler_config_setting.bzl35
-rw-r--r--third_party/protobuf/3.6.0/BUILD7
-rw-r--r--third_party/protobuf/3.6.0/compiler_config_setting.bzl35
4 files changed, 78 insertions, 22 deletions
diff --git a/third_party/BUILD b/third_party/BUILD
index 78207da35a..88cd35740d 100644
--- a/third_party/BUILD
+++ b/third_party/BUILD
@@ -563,25 +563,12 @@ filegroup(
],
)
-config_setting(
- name = "windows_mingw",
- values = {"compiler": "windows_mingw"},
-)
-
-config_setting(
- name = "windows_msys64",
- values = {"compiler": "windows_msys64"},
-)
+load(":compiler_config_setting.bzl", "create_compiler_config_setting")
-config_setting(
- name = "windows_msys64_mingw64",
- values = {"compiler": "windows_msys64_mingw64"},
-)
-
-config_setting(
- name = "windows_clang",
- values = {"compiler": "windows_clang"},
-)
+create_compiler_config_setting(name = "windows_mingw", value = "windows_mingw")
+create_compiler_config_setting(name = "windows_msys64", value = "windows_msys64")
+create_compiler_config_setting(name = "windows_msys64_mingw64", value = "windows_msys64_mingw64")
+create_compiler_config_setting(name = "windows_clang", value = "windows_clang")
config_setting(
name = "darwin",
diff --git a/third_party/compiler_config_setting.bzl b/third_party/compiler_config_setting.bzl
new file mode 100644
index 0000000000..21b1cdb788
--- /dev/null
+++ b/third_party/compiler_config_setting.bzl
@@ -0,0 +1,35 @@
+# Copyright 2018 The Bazel Authors. All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+"""Creates config_setting that allows selecting based on 'compiler' value."""
+
+def create_compiler_config_setting(name, value):
+ # The "do_not_use_tools_cpp_compiler_present" attribute exists to
+ # distinguish between older versions of Bazel that do not support
+ # "@bazel_tools//tools/cpp:compiler" flag_value, and newer ones that do.
+ # In the future, the only way to select on the compiler will be through
+ # flag_values{"@bazel_tools//tools/cpp:compiler"} and the else branch can
+ # be removed.
+ if hasattr(cc_common, "do_not_use_tools_cpp_compiler_present"):
+ native.config_setting(
+ name = name,
+ flag_values = {
+ "@bazel_tools//tools/cpp:compiler": value,
+ },
+ )
+ else:
+ native.config_setting(
+ name = name,
+ values = {"compiler": value},
+ )
diff --git a/third_party/protobuf/3.6.0/BUILD b/third_party/protobuf/3.6.0/BUILD
index ca503be57d..e9674eeda9 100644
--- a/third_party/protobuf/3.6.0/BUILD
+++ b/third_party/protobuf/3.6.0/BUILD
@@ -101,10 +101,9 @@ COPTS = select({
],
})
-config_setting(
- name = "msvc",
- values = { "compiler": "msvc-cl" },
-)
+load(":compiler_config_setting.bzl", "create_compiler_config_setting")
+
+create_compiler_config_setting(name = "msvc", value = "msvc-cl")
config_setting(
name = "android",
diff --git a/third_party/protobuf/3.6.0/compiler_config_setting.bzl b/third_party/protobuf/3.6.0/compiler_config_setting.bzl
new file mode 100644
index 0000000000..21b1cdb788
--- /dev/null
+++ b/third_party/protobuf/3.6.0/compiler_config_setting.bzl
@@ -0,0 +1,35 @@
+# Copyright 2018 The Bazel Authors. All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+"""Creates config_setting that allows selecting based on 'compiler' value."""
+
+def create_compiler_config_setting(name, value):
+ # The "do_not_use_tools_cpp_compiler_present" attribute exists to
+ # distinguish between older versions of Bazel that do not support
+ # "@bazel_tools//tools/cpp:compiler" flag_value, and newer ones that do.
+ # In the future, the only way to select on the compiler will be through
+ # flag_values{"@bazel_tools//tools/cpp:compiler"} and the else branch can
+ # be removed.
+ if hasattr(cc_common, "do_not_use_tools_cpp_compiler_present"):
+ native.config_setting(
+ name = name,
+ flag_values = {
+ "@bazel_tools//tools/cpp:compiler": value,
+ },
+ )
+ else:
+ native.config_setting(
+ name = name,
+ values = {"compiler": value},
+ )