diff options
author | Richard Levitte <levitte@openssl.org> | 2018-01-30 17:16:13 +0100 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2018-01-30 19:08:49 +0100 |
commit | 63468812bdbee64bb3ca757c4692cb3cf2ace01e (patch) | |
tree | ffc87a1cd4304bd78fd21706c62925d2ba1af6ef | |
parent | 3faa07b5829d6616679adc5ac2dbf34f8bfcc8b4 (diff) |
Configure: add configure command line C flags after the configured C flags
Fixes #5203
Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/5207)
-rwxr-xr-x | Configure | 26 |
1 files changed, 16 insertions, 10 deletions
@@ -1074,13 +1074,6 @@ foreach (keys %user) { $config{$target_key} = $mkvalue->($ref_type, $user{$_}) || $mkvalue->($ref_type, $target{$target_key}); - if (defined $useradd{$_} && @{$useradd{$_}}) { - if (defined $config{$target_key}) { - push @{$config{$target_key}}, @{$useradd{$_}}; - } else { - $config{$target_key} = [ @{$useradd{$_}} ]; - } - } delete $config{$target_key} unless defined $config{$target_key}; } $config{plib_lflags} = [ $target{plib_lflags} ]; @@ -1088,9 +1081,6 @@ $config{plib_lflags} = [ $target{plib_lflags} ]; # Allow overriding the build file name $config{build_file} = env('BUILDFILE') || $target{build_file} || "Makefile"; -# ALL USE OF %useradd MUST BE DONE FROM HERE ON -%useradd = undef; - my %disabled_info = (); # For configdata.pm foreach my $what (sort keys %disabled) { $config{options} .= " no-$what"; @@ -1492,6 +1482,22 @@ unless ($disabled{afalgeng}) { push @{$config{openssl_other_defines}}, "OPENSSL_NO_AFALGENG" if ($disabled{afalgeng}); +# Finish up %config by appending things the user gave us on the command line +# apart from "make variables" +foreach (keys %useradd) { + # The must all be lists, so we assert that here + die "internal error: \$useradd{$_} isn't an ARRAY\n" + unless ref $useradd{$_} eq 'ARRAY'; + + my $target_key = $user_to_target{$_} // lc $_; + + if (defined $config{$target_key}) { + push @{$config{$target_key}}, @{$useradd{$_}}; + } else { + $config{$target_key} = [ @{$useradd{$_}} ]; + } +} + # ALL MODIFICATIONS TO %config and %target MUST BE DONE FROM HERE ON # If we use the unified build, collect information from build.info files |