Commit 89bea083 authored by Richard Levitte's avatar Richard Levitte
Browse files

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: default avatarAndy Polyakov <appro@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/4818)
parent 7ecdf18d
Loading
Loading
Loading
Loading
+14 −2
Original line number Diff line number Diff line
@@ -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};
}