appveyor.yml: engage VC-WIN64A-masm.
authorAndy Polyakov <appro@openssl.org>
Sun, 19 Feb 2017 21:11:29 +0000 (22:11 +0100)
committerAndy Polyakov <appro@openssl.org>
Tue, 21 Feb 2017 21:39:00 +0000 (22:39 +0100)
One of the reasons for why masm/ml64 is not [fully] supported is that
it's problematic to support multiple versions. But latest one usually
works and/or it's lesser problem to make it work. So idea here is to
have a "whistle" when it breaks, so that problems can be evaluated as
they emerge. It's kind of "best effort" thing, as opposite to "full
support".

Reviewed-by: Richard Levitte <levitte@openssl.org>
Configurations/50-masm.conf
appveyor.yml

index 60a55072f2560644ee4d5b5830c38efe299f97f7..84cf2f12e85a92b2bc9a4950fcccd98388666f31 100644 (file)
@@ -9,9 +9,14 @@
 
 %targets = (
     "VC-WIN64A-masm" => {
-        inherit_from    => [ "VC-WIN64A" ],
+        inherit_from    => [ "VC-WIN64-common", asm("x86_64_asm"),
+                             sub { $disabled{shared} ? () : "x86_64_uplink" } ],
         as              => "ml64",
         asflags         => "/c /Cp /Cx /Zi",
         asoutflag       => "/Fo",
+        sys_id          => "WIN64A",
+        bn_asm_src      => sub { return undef unless @_;
+                                 my $r=join(" ",@_); $r=~s|asm/x86_64-gcc|bn_asm|; $r; },
+        perlasm_scheme   => "masm",
     },
 );
index af2bfede52f792dac2a90a53eaee4ddb1fa76c60..d47c6cd6d7f4997fec55750601583bc619b9b3c5 100644 (file)
@@ -14,10 +14,10 @@ before_build:
     - ps: >-
         If ($env:Platform -Match "x86") {
             $env:VCVARS_PLATFORM="x86"
-            $env:TARGET="VC-WIN32"
+            $env:TARGET="VC-WIN32 no-asm"
         } Else {
             $env:VCVARS_PLATFORM="amd64"
-            $env:TARGET="VC-WIN64A"
+            $env:TARGET="VC-WIN64A-masm"
         }
     - ps: >-
         If ($env:Configuration -Match "shared") {
@@ -29,7 +29,7 @@ before_build:
     - call "%VSCOMNTOOLS%\..\..\VC\vcvarsall.bat" %VCVARS_PLATFORM%
     - mkdir _build
     - cd _build
-    - perl ..\Configure %TARGET% no-asm %SHARED%
+    - perl ..\Configure %TARGET% %SHARED%
     - cd ..
 
 build_script: