$config{openssldir}="";
$config{processor}="";
$config{libdir}="";
-$config{cross_compile_prefix}="";
my $auto_threads=1; # enable threads automatically? true by default
my $default_ranlib;
CPPFLAGS => [], # -D, -I, -Wp,
CPPDEFINES => [], # Alternative for -D
CPPINCLUDES => [], # Alternative for -I
+ CROSS_COMPILE => undef,
HASHBANGPERL=> undef,
LD => undef,
LDFLAGS => [], # -L, -Wl,
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
# 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',
);
}
elsif (/^--cross-compile-prefix=(.*)$/)
{
- $config{cross_compile_prefix}=$1;
+ $user{CROSS_COMPILE}=$1;
}
elsif (/^--config=(.*)$/)
{
($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.
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) {
}
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});