aboutsummaryrefslogtreecommitdiff
path: root/Configure
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2018-02-02 12:27:29 +0100
committerRichard Levitte <levitte@openssl.org>2018-02-22 14:57:40 +0100
commitf729ba5537fe0733764b7eaa6f73f6e5f7f9b666 (patch)
tree90f03b2d31b46a2bd470f56ae59112d7efef8ad4 /Configure
parent8590b1f38d2f0278a730d5a7d077d24eb292e48f (diff)
downloadopenssl-f729ba5537fe0733764b7eaa6f73f6e5f7f9b666.zip
openssl-f729ba5537fe0733764b7eaa6f73f6e5f7f9b666.tar.gz
openssl-f729ba5537fe0733764b7eaa6f73f6e5f7f9b666.tar.bz2
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)
Diffstat (limited to 'Configure')
-rwxr-xr-xConfigure28
1 files changed, 16 insertions, 12 deletions
diff --git a/Configure b/Configure
index 32ba355..5ca4f8f 100755
--- a/Configure
+++ b/Configure
@@ -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});