summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2018-01-30 17:16:13 +0100
committerRichard Levitte <levitte@openssl.org>2018-01-30 19:08:49 +0100
commit63468812bdbee64bb3ca757c4692cb3cf2ace01e (patch)
treeffc87a1cd4304bd78fd21706c62925d2ba1af6ef
parent3faa07b5829d6616679adc5ac2dbf34f8bfcc8b4 (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-xConfigure26
1 files changed, 16 insertions, 10 deletions
diff --git a/Configure b/Configure
index 8410e42c62..cde97f9b2a 100755
--- a/Configure
+++ b/Configure
@@ -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