diff options
author | Richard Levitte <levitte@openssl.org> | 2016-04-18 20:15:33 +0200 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2016-04-19 20:57:08 +0200 |
commit | 43800958f1b080e4b75917c55df527cc96e29336 (patch) | |
tree | 186d80d2e4042773ec619572a89e425962adbc95 /Configurations/10-main.conf | |
parent | 1b741653ce9c1a893a9402c5fc36c46f4b62f4a9 (diff) | |
download | openssl-43800958f1b080e4b75917c55df527cc96e29336.tar.gz |
Only allow Microsoft assembler with no-asm on Windows
This also restores the possibility to have ml used with VC-WIN32 with
no-asm, which was lost during the mk1mf -> unified transition.
Reviewed-by: Andy Polyakov <appro@openssl.org>
Diffstat (limited to 'Configurations/10-main.conf')
-rw-r--r-- | Configurations/10-main.conf | 36 |
1 files changed, 29 insertions, 7 deletions
diff --git a/Configurations/10-main.conf b/Configurations/10-main.conf index de591c90e1..e3473c85ef 100644 --- a/Configurations/10-main.conf +++ b/Configurations/10-main.conf @@ -9,15 +9,39 @@ sub vc_win64a_info { $vc_win64a_info = { as => "nasm", asflags => "-f win64 -DNEAR -Ox -g", asoutflag => "-o" }; - } else { + } elsif ($disabled{asm}) { $vc_win64a_info = { as => "ml64", asflags => "/c /Cp /Cx /Zi", asoutflag => "/Fo" }; + } else { + die "NASM not found - please read INSTALL and NOTES.WIN for further details\n"; } } return $vc_win64a_info; } +my $vc_win32_info = {}; +sub vc_win32_info { + unless (%$vc_win32_info) { + my $ver=`nasm -v 2>NUL`; + my $vew=`nasmw -v 2>NUL`; + if ($ver ne "" || $vew ne "") { + $vc_win32_info = { as => $ver ge $vew ? "nasm" : "nasmw", + asflags => "-f win32", + asoutflag => "-o", + perlasm_scheme => "win32n" }; + } elsif ($disabled{asm}) { + $vc_win32_info = { as => "ml", + asflags => "/nologo /Cp /coff /c /Cx /Zi", + asoutflag => "/Fo", + perlasm_scheme => "win32" }; + } else { + die "NASM not found - please read INSTALL and NOTES.WIN for further details\n"; + } + } + return $vc_win32_info; +} + my $vc_wince_info = {}; sub vc_wince_info { unless (%$vc_wince_info) { @@ -1344,11 +1368,9 @@ sub vms_info { # configure with 'perl Configure VC-WIN32 -DUNICODE -D_UNICODE' inherit_from => [ "VC-noCE-common", asm("x86_asm"), sub { $disabled{shared} ? () : "uplink_common" } ], - as => sub { my $ver=`nasm -v 2>NUL`; - my $vew=`nasmw -v 2>NUL`; - return $ver ge $vew ? "nasm" : "nasmw" }, - asflags => "-f win32", - asoutflag => "-o", + as => sub { vc_win32_info()->{as} }, + asflags => sub { vc_win32_info()->{asflags} }, + asoutflag => sub { vc_win32_info()->{asoutflag} }, ex_libs => add(sub { my @ex_libs = (); # WIN32 UNICODE build gets linked with unicows.lib for @@ -1359,7 +1381,7 @@ sub vms_info { }), sys_id => "WIN32", bn_ops => "BN_LLONG EXPORT_VAR_AS_FN", - perlasm_scheme => "win32n", + asoutflag => sub { vc_win32_info()->{perlasm_scheme} }, build_scheme => add("VC-W32", { separator => undef }), }, "VC-CE" => { |