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 <appro@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/4818)
This commit is contained in:
Richard Levitte 2017-11-29 13:16:53 +01:00
parent 7ecdf18d80
commit 89bea0830d

View file

@ -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};
}