diff --git a/tools/cpp/unix_cc_configure.bzl b/tools/cpp/unix_cc_configure.bzl index 6d6e7171edc98b..57652584860e1d 100644 --- a/tools/cpp/unix_cc_configure.bzl +++ b/tools/cpp/unix_cc_configure.bzl @@ -273,7 +273,14 @@ def _is_clang(repository_ctx, cc): def _is_gcc(repository_ctx, cc): # GCC's version output uses the basename of argv[0] as the program name: # https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=gcc/gcc.cc;h=158461167951c1b9540322fb19be6a89d6da07fc;hb=HEAD#l8728 - return repository_ctx.execute([cc, "--version"]).stdout.startswith("gcc ") + cc_argv0 = repository_ctx.execute([cc, "--version"]).stdout.partition(" ")[0] + if (cc_argv0 == "gcc"): + return True + + if (cc_argv0.startswith("gcc-")): + return cc_argv0.removeprefix("gcc-").isdigit() + + return False def _get_compiler_name(repository_ctx, cc): if _is_clang(repository_ctx, cc):