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)
This commit is contained in:
Richard Levitte 2018-01-30 17:16:13 +01:00
parent 3faa07b582
commit 63468812bd

View file

@ -1074,13 +1074,6 @@ foreach (keys %user) {
$config{$target_key} = $config{$target_key} =
$mkvalue->($ref_type, $user{$_}) $mkvalue->($ref_type, $user{$_})
|| $mkvalue->($ref_type, $target{$target_key}); || $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}; delete $config{$target_key} unless defined $config{$target_key};
} }
$config{plib_lflags} = [ $target{plib_lflags} ]; $config{plib_lflags} = [ $target{plib_lflags} ];
@ -1088,9 +1081,6 @@ $config{plib_lflags} = [ $target{plib_lflags} ];
# Allow overriding the build file name # Allow overriding the build file name
$config{build_file} = env('BUILDFILE') || $target{build_file} || "Makefile"; $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 my %disabled_info = (); # For configdata.pm
foreach my $what (sort keys %disabled) { foreach my $what (sort keys %disabled) {
$config{options} .= " no-$what"; $config{options} .= " no-$what";
@ -1492,6 +1482,22 @@ unless ($disabled{afalgeng}) {
push @{$config{openssl_other_defines}}, "OPENSSL_NO_AFALGENG" if ($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 # ALL MODIFICATIONS TO %config and %target MUST BE DONE FROM HERE ON
# If we use the unified build, collect information from build.info files # If we use the unified build, collect information from build.info files