[openssl-commits] [openssl] master update

Richard Levitte levitte at openssl.org
Tue Apr 19 18:57:39 UTC 2016


The branch master has been updated
       via  43800958f1b080e4b75917c55df527cc96e29336 (commit)
      from  1b741653ce9c1a893a9402c5fc36c46f4b62f4a9 (commit)


- Log -----------------------------------------------------------------
commit 43800958f1b080e4b75917c55df527cc96e29336
Author: Richard Levitte <levitte at openssl.org>
Date:   Mon Apr 18 20:15:33 2016 +0200

    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 at openssl.org>

-----------------------------------------------------------------------

Summary of changes:
 Configurations/10-main.conf | 36 +++++++++++++++++++++++++++++-------
 1 file changed, 29 insertions(+), 7 deletions(-)

diff --git a/Configurations/10-main.conf b/Configurations/10-main.conf
index de591c9..e3473c8 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" => {


More information about the openssl-commits mailing list