toolchain-funcs.eclass: Use host vars in tc-getBUILD* when not cross
authorMichał Górny <mgorny@gentoo.org>
Fri, 8 Sep 2017 08:30:29 +0000 (10:30 +0200)
committerMichał Górny <mgorny@gentoo.org>
Mon, 1 Jan 2018 10:34:45 +0000 (11:34 +0100)
Make tc-getBUILD* functions respect host variables (CC & co.) when
not cross-compiling. This removes the necessity of overriding BUILD_*
along with the regular variables on the systems that are not concerned
about cross-compilation, and does not change the behavior for those
which are.

Closes: https://bugs.gentoo.org/630282

eclass/toolchain-funcs.eclass

index aeb6f7c702991f1022603087eed1e84b0fef9d08..4b1876b8e09bf0a61a881b050e92308b6228e4ad 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: toolchain-funcs.eclass
@@ -40,7 +40,13 @@ _tc-getPROG() {
        export ${var}="${prog[*]}"
        echo "${!var}"
 }
-tc-getBUILD_PROG() { _tc-getPROG CBUILD "BUILD_$1 $1_FOR_BUILD HOST$1" "${@:2}"; }
+tc-getBUILD_PROG() {
+       local vars="BUILD_$1 $1_FOR_BUILD HOST$1"
+       # respect host vars if not cross-compiling
+       # https://bugs.gentoo.org/630282
+       tc-is-cross-compiler || vars+=" $1"
+       _tc-getPROG CBUILD "${vars}" "${@:2}"
+}
 tc-getPROG() { _tc-getPROG CHOST "$@"; }
 
 # @FUNCTION: tc-getAR