From: Richard Levitte Date: Mon, 18 Apr 2016 18:15:33 +0000 (+0200) Subject: Only allow Microsoft assembler with no-asm on Windows X-Git-Tag: OpenSSL_1_1_0-pre6~1118 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=43800958f1b080e4b75917c55df527cc96e29336;p=oweals%2Fopenssl.git 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 --- 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" => {