From 5b01512e94e82bf111df3968784c9508e576a4da Mon Sep 17 00:00:00 2001 From: Derek Mauro Date: Thu, 8 Sep 2022 13:26:39 -0700 Subject: [PATCH] Add a case to detect when the Bazel compiler string is explicitly set to "gcc", instead of just detecting Bazel's default "compiler" string. When Bazel auto-configures GCC, it sets the compiler string to "compiler", probably for backwards compatibility. Some users manually set the string to "gcc". This should address the backwards compatibility issues described in https://github.com/bazelbuild/bazel/issues/12707 and hopefully fix https://github.com/abseil/abseil-cpp/issues/1263 PiperOrigin-RevId: 473069817 Change-Id: I8a24721f63f9d61447b22b3b05b06a9dde7d34d8 --- absl/BUILD.bazel | 8 ++++++++ absl/copts/configure_copts.bzl | 2 ++ 2 files changed, 10 insertions(+) diff --git a/absl/BUILD.bazel b/absl/BUILD.bazel index 7cccbbba..29963ccc 100644 --- a/absl/BUILD.bazel +++ b/absl/BUILD.bazel @@ -27,6 +27,14 @@ config_setting( visibility = [":__subpackages__"], ) +config_setting( + name = "gcc_compiler", + flag_values = { + "@bazel_tools//tools/cpp:compiler": "gcc", + }, + visibility = [":__subpackages__"], +) + config_setting( name = "msvc_compiler", flag_values = { diff --git a/absl/copts/configure_copts.bzl b/absl/copts/configure_copts.bzl index 40d5849a..c5e57b38 100644 --- a/absl/copts/configure_copts.bzl +++ b/absl/copts/configure_copts.bzl @@ -25,6 +25,7 @@ ABSL_DEFAULT_COPTS = select({ "//absl:msvc_compiler": ABSL_MSVC_FLAGS, "//absl:clang-cl_compiler": ABSL_CLANG_CL_FLAGS, "//absl:clang_compiler": ABSL_LLVM_FLAGS, + "//absl:gcc_compiler": ABSL_GCC_FLAGS, "//conditions:default": ABSL_GCC_FLAGS, }) @@ -32,6 +33,7 @@ ABSL_TEST_COPTS = ABSL_DEFAULT_COPTS + select({ "//absl:msvc_compiler": ABSL_MSVC_TEST_FLAGS, "//absl:clang-cl_compiler": ABSL_CLANG_CL_TEST_FLAGS, "//absl:clang_compiler": ABSL_LLVM_TEST_FLAGS, + "//absl:gcc_compiler": ABSL_GCC_TEST_FLAGS, "//conditions:default": ABSL_GCC_TEST_FLAGS, })