From cade3ac4af588f66dc9bb0369790857fbd7b1965 Mon Sep 17 00:00:00 2001 From: scentini Date: Thu, 19 Jul 2018 18:24:16 +0200 Subject: Replace config_setting.values{"compiler"} with config_setting.flag_values{"@bazel_tools//tools/cpp:compiler"} --- third_party/BUILD | 23 ++++---------- third_party/compiler_config_setting.bzl | 35 ++++++++++++++++++++++ third_party/protobuf/3.6.0/BUILD | 7 ++--- .../protobuf/3.6.0/compiler_config_setting.bzl | 35 ++++++++++++++++++++++ 4 files changed, 78 insertions(+), 22 deletions(-) create mode 100644 third_party/compiler_config_setting.bzl create mode 100644 third_party/protobuf/3.6.0/compiler_config_setting.bzl (limited to 'third_party') 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}, + ) -- cgit v1.2.3