Make CROSS_COMPILE another supported "make variable" in Configure

No more special casing for that one, and this means it gets displayed
by 'perl configdata.pm --make-variables' among all the others.

Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/5247)
This commit is contained in:
Richard Levitte 2018-02-02 12:27:29 +01:00
parent 8590b1f38d
commit f729ba5537
1 changed files with 16 additions and 12 deletions

View File

@ -287,7 +287,6 @@ $config{prefix}="";
$config{openssldir}="";
$config{processor}="";
$config{libdir}="";
$config{cross_compile_prefix}="";
my $auto_threads=1; # enable threads automatically? true by default
my $default_ranlib;
@ -537,6 +536,7 @@ my %user = (
CPPFLAGS => [], # -D, -I, -Wp,
CPPDEFINES => [], # Alternative for -D
CPPINCLUDES => [], # Alternative for -I
CROSS_COMPILE => undef,
HASHBANGPERL=> undef,
LD => undef,
LDFLAGS => [], # -L, -Wl,
@ -548,6 +548,9 @@ my %user = (
RCFLAGS => [],
RM => undef,
);
# Info about what "make variables" may be prefixed with the cross compiler
# prefix. This should NEVER mention any such variable with a list for value.
my @user_crossable = qw ( AR AS CC CXX CPP LD MT RANLIB RC );
# The same but for flags given as Configure options. These are *additional*
# input, as opposed to the VAR=string option that override the corresponding
# config target attributes
@ -569,6 +572,7 @@ my %user_to_target = (
# If not given here, the value is the lc of the key
CPPDEFINES => 'defines',
CPPINCLUDES => 'includes',
CROSS_COMPILE => 'cross_compile_prefix',
LDFLAGS => 'lflags',
LDLIBS => 'ex_libs',
);
@ -784,7 +788,7 @@ while (@argvcopy)
}
elsif (/^--cross-compile-prefix=(.*)$/)
{
$config{cross_compile_prefix}=$1;
$user{CROSS_COMPILE}=$1;
}
elsif (/^--config=(.*)$/)
{
@ -1039,10 +1043,6 @@ $target{dso_extension}=$target{shared_extension_simple};
($target{shared_import_extension}=$target{shared_extension_simple}.".a")
if ($config{target} =~ /^(?:Cygwin|mingw)/);
$config{cross_compile_prefix} = env('CROSS_COMPILE')
if $config{cross_compile_prefix} eq "";
# Allow overriding the names of some tools. USE WITH CARE
# Note: only Unix cares about HASHBANGPERL... that explains
# the default string.
@ -2326,6 +2326,7 @@ foreach my $what (sort keys %disabled_info) {
print OUT " },\n";
}
print OUT ");\n";
print OUT 'my @user_crossable = qw( ', join (' ', @user_crossable), " );\n";
print OUT << 'EOF';
# If run directly, we can give some answers, and even reconfigure
unless (caller) {
@ -2437,13 +2438,16 @@ _____
}
if ($dump || $makevars) {
print "\nMakevars:\n\n";
foreach (sort keys %makevars) {
print ' ',$_,' ' x (16 - length $_),'= ',
(ref $config{$makevars{$_}} eq 'ARRAY'
? join(' ', @{$config{$makevars{$_}}})
: $config{$makevars{$_}}),
foreach my $var (sort keys %makevars) {
my $prefix = '';
$prefix = $config{cross_compile_prefix}
if grep { $var eq $_ } @user_crossable;
print ' ',$var,' ' x (16 - length $var),'= ',
(ref $config{$makevars{$var}} eq 'ARRAY'
? join(' ', @{$config{$makevars{$var}}})
: $prefix.$config{$makevars{$var}}),
"\n"
if defined $config{$makevars{$_}};
if defined $config{$makevars{$var}};
}
my @buildfile = ($config{builddir}, $config{build_file});