summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2016-06-17 09:30:26 +0200
committerMichał Górny <mgorny@gentoo.org>2016-06-26 17:34:47 +0200
commitc65f6083898968b5442eeb66afd4298a3b4264e2 (patch)
tree2c37f0dc0f16a0dd0f2fea8a61f5dfdb4cf50a17 /eclass/toolchain-funcs.eclass
parenttoolchain-funcs.eclass: Fix _tc-getPROG with multi-parameter defaults (diff)
downloadgentoo-c65f6083898968b5442eeb66afd4298a3b4264e2.tar.gz
gentoo-c65f6083898968b5442eeb66afd4298a3b4264e2.tar.bz2
gentoo-c65f6083898968b5442eeb66afd4298a3b4264e2.zip
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
Diffstat (limited to 'eclass/toolchain-funcs.eclass')
-rw-r--r--eclass/toolchain-funcs.eclass4
1 files 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