mirror of
https://github.com/openssl/openssl.git
synced 2025-03-19 19:50:42 +08:00
Have Configure's HASH or TABLE produce complete lists
Because some targets execute perl code that might die, we risk incomplete lists. Make it so dying doesn't happen when we're listing targets. Reviewed-by: Rich Salz <rsalz@openssl.org>
This commit is contained in:
parent
0c0d78b88d
commit
d63c12c697
@ -14,7 +14,10 @@ sub vc_win64a_info {
|
||||
asflags => "/c /Cp /Cx /Zi",
|
||||
asoutflag => "/Fo" };
|
||||
} else {
|
||||
die "NASM not found - please read INSTALL and NOTES.WIN for further details\n";
|
||||
$die->("NASM not found - please read INSTALL and NOTES.WIN for further details\n");
|
||||
$vc_win64a_info = { as => "{unknown}",
|
||||
asflags => "",
|
||||
asoutflag => "" };
|
||||
}
|
||||
}
|
||||
return $vc_win64a_info;
|
||||
@ -36,7 +39,11 @@ sub vc_win32_info {
|
||||
asoutflag => "/Fo",
|
||||
perlasm_scheme => "win32" };
|
||||
} else {
|
||||
die "NASM not found - please read INSTALL and NOTES.WIN for further details\n";
|
||||
$die->("NASM not found - please read INSTALL and NOTES.WIN for further details\n");
|
||||
$vc_win32_info = { as => "{unknown}",
|
||||
asflags => "",
|
||||
asoutflag => "",
|
||||
perlasm_scheme => "win32" };
|
||||
}
|
||||
}
|
||||
return $vc_win32_info;
|
||||
@ -46,18 +53,26 @@ my $vc_wince_info = {};
|
||||
sub vc_wince_info {
|
||||
unless (%$vc_wince_info) {
|
||||
# sanity check
|
||||
die '%OSVERSION% is not defined' if (!defined($ENV{'OSVERSION'}));
|
||||
die '%PLATFORM% is not defined' if (!defined($ENV{'PLATFORM'}));
|
||||
die '%TARGETCPU% is not defined' if (!defined($ENV{'TARGETCPU'}));
|
||||
$die->('%OSVERSION% is not defined') if (!defined($ENV{'OSVERSION'}));
|
||||
$die->('%PLATFORM% is not defined') if (!defined($ENV{'PLATFORM'}));
|
||||
$die->('%TARGETCPU% is not defined') if (!defined($ENV{'TARGETCPU'}));
|
||||
|
||||
#
|
||||
# Idea behind this is to mimic flags set by eVC++ IDE...
|
||||
#
|
||||
my $wcevers = $ENV{'OSVERSION'}; # WCENNN
|
||||
die '%OSVERSION% value is insane'
|
||||
if ($wcevers !~ /^WCE([1-9])([0-9]{2})$/);
|
||||
my $wcecdefs = "-D_WIN32_WCE=$1$2 -DUNDER_CE=$1$2"; # -D_WIN32_WCE=NNN
|
||||
my $wcelflag = "/subsystem:windowsce,$1.$2"; # ...,N.NN
|
||||
my $wcevernum;
|
||||
my $wceverdotnum;
|
||||
if ($wcevers =~ /^WCE([1-9])([0-9]{2})$/) {
|
||||
$wcevernum = "$1$2";
|
||||
$wceverdotnum = "$1.$2";
|
||||
} else {
|
||||
$die->('%OSVERSION% value is insane');
|
||||
$wcevernum = "{unknown}";
|
||||
$wceverdotnum = "{unknown}";
|
||||
}
|
||||
my $wcecdefs = "-D_WIN32_WCE=$wcevernum -DUNDER_CE=$wcevernum"; # -D_WIN32_WCE=NNN
|
||||
my $wcelflag = "/subsystem:windowsce,$wceverdotnum"; # ...,N.NN
|
||||
|
||||
my $wceplatf = $ENV{'PLATFORM'};
|
||||
|
||||
|
@ -788,7 +788,9 @@ while (@tocheckfor) {
|
||||
@tocheckfor = (keys %new_tocheckfor);
|
||||
}
|
||||
|
||||
our $die = sub { die @_; };
|
||||
if ($target eq "TABLE") {
|
||||
local $die = sub { warn @_; };
|
||||
foreach (sort keys %table) {
|
||||
print_table_entry($_, "TABLE");
|
||||
}
|
||||
@ -803,6 +805,7 @@ if ($target eq "LIST") {
|
||||
}
|
||||
|
||||
if ($target eq "HASH") {
|
||||
local $die = sub { warn @_; };
|
||||
print "%table = (\n";
|
||||
foreach (sort keys %table) {
|
||||
print_table_entry($_, "HASH");
|
||||
|
Loading…
x
Reference in New Issue
Block a user