From: Richard Levitte Date: Wed, 29 Nov 2017 12:16:53 +0000 (+0100) Subject: Make it possible to add env var assignments as Configure options X-Git-Tag: OpenSSL_1_1_1-pre1~360 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=89bea0830de908c6713166ff376ab767b91a2dfd;hp=7ecdf18d80cba14ad1afa6c0d18574d2ad2929c3;p=oweals%2Fopenssl.git Make it possible to add env var assignments as Configure options In other words, make the following possible: ./config CC=clang or ./Configure CC=clang linux-x86_64 Reviewed-by: Andy Polyakov (Merged from https://github.com/openssl/openssl/pull/4818) --- diff --git a/Configure b/Configure index 6f2aee38ca..9624af4820 100755 --- a/Configure +++ b/Configure @@ -538,6 +538,14 @@ my @seed_sources = (); while (@argvcopy) { $_ = shift @argvcopy; + + # Support env variable assignments among the options + if (m|^(\w+)=(.+)?$|) + { + $config{perlenv}->{$1} = $2; + next; + } + # VMS is a case insensitive environment, and depending on settings # out of our control, we may receive options uppercased. Let's # downcase at least the part before any equal sign. @@ -2529,8 +2537,12 @@ sub env { my $name = shift; - return $config{perlenv}->{$name} if exists $config{perlenv}->{$name}; - $config{perlenv}->{$name} = $ENV{$name}; + # Note that if $ENV{$name} doesn't exist or is undefined, + # $config{perlenv}->{$name} will be created with the value + # undef. This is intentional. + + $config{perlenv}->{$name} = $ENV{$name} + if ! exists $config{perlenv}->{$name}; return $config{perlenv}->{$name}; }