From c65f6083898968b5442eeb66afd4298a3b4264e2 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Micha=C5=82=20G=C3=B3rny?= Date: Fri, 17 Jun 2016 09:30:26 +0200 Subject: [PATCH] toolchain-funcs.eclass: Assume CPP="$(tc-getCC) -E" when unset, #582822 Modify the tc-getCPP and tc-getBUILD_CPP functions to use "$(tc-getCC) -E" (i.e. the C compiler's preprocessing call) instead of falling back to 'cpp'. This ensures that in environment with CC (and CXX) overriden the correct compiler is used rather than the one selected by gcc-config, which in turn fixes gcc version queries. The alternative would be to always override CPP along with CC & CXX. However, that is uncommon and is known to break some packages. Bug: https://bugs.gentoo.org/show_bug.cgi?id=582822 --- eclass/toolchain-funcs.eclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eclass/toolchain-funcs.eclass b/eclass/toolchain-funcs.eclass index 8ecc73647a46..1baab96aeb70 100644 --- a/eclass/toolchain-funcs.eclass +++ b/eclass/toolchain-funcs.eclass @@ -59,7 +59,7 @@ tc-getCC() { tc-getPROG CC gcc "$@"; } # @FUNCTION: tc-getCPP # @USAGE: [toolchain prefix] # @RETURN: name of the C preprocessor -tc-getCPP() { tc-getPROG CPP cpp "$@"; } +tc-getCPP() { tc-getPROG CPP "${CC:-gcc} -E" "$@"; } # @FUNCTION: tc-getCXX # @USAGE: [toolchain prefix] # @RETURN: name of the C++ compiler @@ -132,7 +132,7 @@ tc-getBUILD_CC() { tc-getBUILD_PROG CC gcc "$@"; } # @FUNCTION: tc-getBUILD_CPP # @USAGE: [toolchain prefix] # @RETURN: name of the C preprocessor for building binaries to run on the build machine -tc-getBUILD_CPP() { tc-getBUILD_PROG CPP cpp "$@"; } +tc-getBUILD_CPP() { tc-getBUILD_PROG CPP "$(tc-getBUILD_CC) -E" "$@"; } # @FUNCTION: tc-getBUILD_CXX # @USAGE: [toolchain prefix] # @RETURN: name of the C++ compiler for building binaries to run on the build machine -- 2.26.2