On 04/19/2018 10:41 AM, Richard Henderson wrote:
> On 04/19/2018 03:58 AM, Alex Bennée wrote:
>> +  --cross-cc-*) cc_arch=${opt#--cross-cc-}
>> +                eval "cross_cc_${cc_arch}=\$optarg"
> 
> This doesn't work as intended.
> 
> Given e.g. --cross-cc-aarch64=aarch64-linux-gcc
> 
> + cc_arch=aarch64=aarch64-linux-gcc
> + eval 'cross_cc_aarch64=aarch64-linux-gcc=$optarg'
> ++ cross_cc_aarch64=aarch64-linux-gcc=aarch64-linux-gcc
> 
> Which sets the variable "cross_cc_aarch64"
> to "aarch64-linux-gcc=aarch64-linux-gcc".
> Which of course won't exist to execute.

-  --cross-cc-*) cc_arch=${opt#--cross-cc-}
+  --cross-cc-*) cc_arch=$(expr "$opt" : '--cross-cc-\([^=]*\)')

seems to do the trick.  Obviously a similar change will be needed for
--cross-cc-flags-*.


r~

Reply via email to