toolchain-funcs.eclass: Fix _tc-getPROG with multi-parameter defaults
authorMichał Górny <mgorny@gentoo.org>
Wed, 22 Jun 2016 19:48:40 +0000 (21:48 +0200)
committerMichał Górny <mgorny@gentoo.org>
Sun, 26 Jun 2016 15:34:47 +0000 (17:34 +0200)
Fix _tc-getPROG function to account correctly for default values that
contain program name along with arguments, e.g. the default for CPP
containing "$(CC) -E".

eclass/toolchain-funcs.eclass

index e794559bbcfbd43ef71f6192158be5db19372944..8ecc73647a463f94ca3dbf77db632fd8a7e4d68d 100644 (file)
@@ -22,7 +22,7 @@ inherit multilib
 _tc-getPROG() {
        local tuple=$1
        local v var vars=$2
-       local prog=$3
+       local prog=( $3 )
 
        var=${vars%% *}
        for v in ${vars} ; do
@@ -34,11 +34,11 @@ _tc-getPROG() {
        done
 
        local search=
-       [[ -n $4 ]] && search=$(type -p "$4-${prog}")
-       [[ -z ${search} && -n ${!tuple} ]] && search=$(type -p "${!tuple}-${prog}")
-       [[ -n ${search} ]] && prog=${search##*/}
+       [[ -n $4 ]] && search=$(type -p $4-${prog[0]})
+       [[ -z ${search} && -n ${!tuple} ]] && search=$(type -p ${!tuple}-${prog[0]})
+       [[ -n ${search} ]] && prog[0]=${search##*/}
 
-       export ${var}=${prog}
+       export ${var}="${prog[*]}"
        echo "${!var}"
 }
 tc-getBUILD_PROG() { _tc-getPROG CBUILD "BUILD_$1 $1_FOR_BUILD HOST$1" "${@:2}"; }