提交 f729ba55 编写于 作者: R Richard Levitte

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: NRich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/5247)
上级 8590b1f3
...@@ -287,7 +287,6 @@ $config{prefix}=""; ...@@ -287,7 +287,6 @@ $config{prefix}="";
$config{openssldir}=""; $config{openssldir}="";
$config{processor}=""; $config{processor}="";
$config{libdir}=""; $config{libdir}="";
$config{cross_compile_prefix}="";
my $auto_threads=1; # enable threads automatically? true by default my $auto_threads=1; # enable threads automatically? true by default
my $default_ranlib; my $default_ranlib;
...@@ -537,6 +536,7 @@ my %user = ( ...@@ -537,6 +536,7 @@ my %user = (
CPPFLAGS => [], # -D, -I, -Wp, CPPFLAGS => [], # -D, -I, -Wp,
CPPDEFINES => [], # Alternative for -D CPPDEFINES => [], # Alternative for -D
CPPINCLUDES => [], # Alternative for -I CPPINCLUDES => [], # Alternative for -I
CROSS_COMPILE => undef,
HASHBANGPERL=> undef, HASHBANGPERL=> undef,
LD => undef, LD => undef,
LDFLAGS => [], # -L, -Wl, LDFLAGS => [], # -L, -Wl,
...@@ -548,6 +548,9 @@ my %user = ( ...@@ -548,6 +548,9 @@ my %user = (
RCFLAGS => [], RCFLAGS => [],
RM => undef, 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* # The same but for flags given as Configure options. These are *additional*
# input, as opposed to the VAR=string option that override the corresponding # input, as opposed to the VAR=string option that override the corresponding
# config target attributes # config target attributes
...@@ -569,6 +572,7 @@ my %user_to_target = ( ...@@ -569,6 +572,7 @@ my %user_to_target = (
# If not given here, the value is the lc of the key # If not given here, the value is the lc of the key
CPPDEFINES => 'defines', CPPDEFINES => 'defines',
CPPINCLUDES => 'includes', CPPINCLUDES => 'includes',
CROSS_COMPILE => 'cross_compile_prefix',
LDFLAGS => 'lflags', LDFLAGS => 'lflags',
LDLIBS => 'ex_libs', LDLIBS => 'ex_libs',
); );
...@@ -784,7 +788,7 @@ while (@argvcopy) ...@@ -784,7 +788,7 @@ while (@argvcopy)
} }
elsif (/^--cross-compile-prefix=(.*)$/) elsif (/^--cross-compile-prefix=(.*)$/)
{ {
$config{cross_compile_prefix}=$1; $user{CROSS_COMPILE}=$1;
} }
elsif (/^--config=(.*)$/) elsif (/^--config=(.*)$/)
{ {
...@@ -1039,10 +1043,6 @@ $target{dso_extension}=$target{shared_extension_simple}; ...@@ -1039,10 +1043,6 @@ $target{dso_extension}=$target{shared_extension_simple};
($target{shared_import_extension}=$target{shared_extension_simple}.".a") ($target{shared_import_extension}=$target{shared_extension_simple}.".a")
if ($config{target} =~ /^(?:Cygwin|mingw)/); 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 # Allow overriding the names of some tools. USE WITH CARE
# Note: only Unix cares about HASHBANGPERL... that explains # Note: only Unix cares about HASHBANGPERL... that explains
# the default string. # the default string.
...@@ -2326,6 +2326,7 @@ foreach my $what (sort keys %disabled_info) { ...@@ -2326,6 +2326,7 @@ foreach my $what (sort keys %disabled_info) {
print OUT " },\n"; print OUT " },\n";
} }
print OUT ");\n"; print OUT ");\n";
print OUT 'my @user_crossable = qw( ', join (' ', @user_crossable), " );\n";
print OUT << 'EOF'; print OUT << 'EOF';
# If run directly, we can give some answers, and even reconfigure # If run directly, we can give some answers, and even reconfigure
unless (caller) { unless (caller) {
...@@ -2437,13 +2438,16 @@ _____ ...@@ -2437,13 +2438,16 @@ _____
} }
if ($dump || $makevars) { if ($dump || $makevars) {
print "\nMakevars:\n\n"; print "\nMakevars:\n\n";
foreach (sort keys %makevars) { foreach my $var (sort keys %makevars) {
print ' ',$_,' ' x (16 - length $_),'= ', my $prefix = '';
(ref $config{$makevars{$_}} eq 'ARRAY' $prefix = $config{cross_compile_prefix}
? join(' ', @{$config{$makevars{$_}}}) if grep { $var eq $_ } @user_crossable;
: $config{$makevars{$_}}), print ' ',$var,' ' x (16 - length $var),'= ',
(ref $config{$makevars{$var}} eq 'ARRAY'
? join(' ', @{$config{$makevars{$var}}})
: $prefix.$config{$makevars{$var}}),
"\n" "\n"
if defined $config{$makevars{$_}}; if defined $config{$makevars{$var}};
} }
my @buildfile = ($config{builddir}, $config{build_file}); my @buildfile = ($config{builddir}, $config{build_file});
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册