summaryrefslogtreecommitdiffstats
path: root/Configurations
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2016-08-31 19:47:35 +0200
committerRichard Levitte <levitte@openssl.org>2016-08-31 19:47:35 +0200
commitd63c12c697faa4e2fa0e5d7565521a5813c86415 (patch)
tree702b5395b52440e11d0c9a9dab3c7b13a2ef3bde /Configurations
parent0c0d78b88d0bc4171b577ba3877c7b7ed0e91935 (diff)
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>
Diffstat (limited to 'Configurations')
-rw-r--r--Configurations/10-main.conf33
1 files changed, 24 insertions, 9 deletions
diff --git a/Configurations/10-main.conf b/Configurations/10-main.conf
index 2838c3d176..e75d164197 100644
--- a/Configurations/10-main.conf
+++ b/Configurations/10-main.conf
@@ -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'};