Build system: VC-WIN64I fixups.
authorAndy Polyakov <appro@openssl.org>
Wed, 23 Mar 2016 19:33:29 +0000 (20:33 +0100)
committerAndy Polyakov <appro@openssl.org>
Tue, 29 Mar 2016 07:48:25 +0000 (09:48 +0200)
Reviewed-by: Richard Levitte <levitte@openssl.org>
Configurations/10-main.conf
Configurations/windows-makefile.tmpl
build.info

index 0ce9231..737ae85 100644 (file)
@@ -1274,8 +1274,10 @@ sub vc_wince_info {
         asflags          => "-d debug",
         asoutflag        => "-o",
         sys_id           => "WIN64I",
-        bn_asm_src       => sub { my $r=join(" ",@_); $r=~s|bn-ia64.s|bn_asm.c|; $r; },
+        bn_asm_src       => sub { return undef unless @_;
+                                  my $r=join(" ",@_); $r=~s|bn-ia64.s|bn_asm.c|; $r; },
         perlasm_scheme   => "ias",
+        multilib         => "-ia64",
     },
     "VC-WIN64A" => {
         inherit_from     => [ "VC-WIN64-common", asm("x86_64_asm"),
@@ -1287,6 +1289,7 @@ sub vc_wince_info {
         bn_asm_src       => sub { return undef unless @_;
                                   my $r=join(" ",@_); $r=~s|asm/x86_64-gcc|bn_asm|; $r; },
         perlasm_scheme   => "auto",
+        multilib         => "-x64",
     },
     "VC-WIN32" => {
         # x86 Win32 target defaults to ANSI API, if you want UNICODE,
index 0b8ac72..00149c3 100644 (file)
@@ -154,7 +154,8 @@ install: install_sw install_ssldirs install_docs
 uninstall: uninstall_docs uninstall_sw
 
 libclean:
-       del /Q /F $(LIBS) $(SHLIBS)
+       $(PERL) -e "map { m/(.*)\.dll$$/; unlink glob """$$1.*""" } @ARGV" $(SHLIBS)
+       del /Q /F $(LIBS)
        del lib.pdb
 
 clean: libclean
@@ -227,7 +228,7 @@ configdata.pm: {- $config{build_file_template} -} $(SRCDIR)\Configure
        @echo "***   Please run the same make command again   ***"
        @echo "***                                            ***"
        @echo "**************************************************"
-       @( exit 1 )
+       @exit 1
 
 {-
  use File::Basename;
@@ -294,12 +295,8 @@ EOF
  sub src2obj {
      my %args = @_;
      my $obj = $args{obj};
-      my @srcs = map { if ($unified_info{generate}->{$_}) {
-                           (my $x = $_) =~ s/\.[sS]$/.asm/; $x
-                       } else {
-                           $_
-                       }
-                     } ( @{$args{srcs}} );
+     my @srcs = map { (my $x = $_) =~ s/\.s$/.asm/; $x
+                    } ( @{$args{srcs}} );
      my $srcs = join(" ",  @srcs);
      my $deps = join(" ", @srcs, @{$args{deps}});
      my $incs = join("", map { " /I ".$_ } @{$args{incs}});
index 1a201c3..ab941f8 100644 (file)
@@ -13,8 +13,8 @@ ELSIF[{- $config{target} =~ /^mingw/ -}]
  SHARED_NAME[libcrypto]=libcrypto-{- $config{shlib_major}."_".$config{shlib_minor} -}{- $config{target} eq "mingw64" ? "-x64" : "" -}
  SHARED_NAME[libssl]=libssl-{- $config{shlib_major}."_".$config{shlib_minor} -}{- $config{target} eq "mingw64" ? "-x64" : "" -}
 ELSIF[{- $config{target} =~ /^VC-/ -}]
- SHARED_NAME[libcrypto]=libcrypto-{- $config{shlib_major}."_".$config{shlib_minor} -}{- $config{target} =~ /^VC-WIN64/ ? "-x64" : "" -}
- SHARED_NAME[libssl]=libssl-{- $config{shlib_major}."_".$config{shlib_minor} -}{- $config{target} =~ /^VC-WIN64/ ? "-x64" : "" -}
+ SHARED_NAME[libcrypto]=libcrypto-{- $config{shlib_major}."_".$config{shlib_minor} -}{- $target{multilib} -}
+ SHARED_NAME[libssl]=libssl-{- $config{shlib_major}."_".$config{shlib_minor} -}{- $target{multilib} -}
 ENDIF
 
 # VMS has a cultural standard where all libraries are prefixed.