Rob Shearman : msvcmaker: Don't generate project files for DLLs that can' t be compiled with MSVC.

Alexandre Julliard julliard at winehq.org
Thu Oct 9 07:43:12 CDT 2008


Module: wine
Branch: master
Commit: 86ffc2b59feaed7b7f2a5c60d1733e56d90a1dfe
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=86ffc2b59feaed7b7f2a5c60d1733e56d90a1dfe

Author: Rob Shearman <robertshearman at gmail.com>
Date:   Thu Oct  9 11:53:58 2008 +0100

msvcmaker: Don't generate project files for DLLs that can't be compiled with MSVC.

---

 tools/winapi/msvcmaker |   29 +++++++++++++++++++++++++++--
 1 files changed, 27 insertions(+), 2 deletions(-)

diff --git a/tools/winapi/msvcmaker b/tools/winapi/msvcmaker
index 1fec041..655d171 100755
--- a/tools/winapi/msvcmaker
+++ b/tools/winapi/msvcmaker
@@ -36,6 +36,22 @@ my $no_release = 1;
 
 my %modules;
 
+# These DLLs don't have a hope of compiling properly
+my @unix_dependent_dlls = qw(iphlpapi mountmgr.sys ntdll mswsock opengl32
+                             secur32 winex11 wnaspi32 ws2_32);
+
+sub is_unix_dependent_dll($) {
+    my $dll = shift;
+
+    foreach my $unix_only_dll (@unix_dependent_dlls) {
+	if($dll eq $unix_only_dll) {
+	    return 1;
+	}
+    }
+
+    return 0;
+}
+
 sub read_spec_file($) {
     my $spec_file = shift;
 
@@ -85,7 +101,11 @@ sub read_spec_file($) {
 
 if ($options->wine || $options->winetest) {
     foreach my $spec_file (@spec_files) {
-	read_spec_file($spec_file);
+	my $dll = $spec_file;
+        $dll =~ s%dlls/([^/]+)/[^/]+\.spec%$1%;
+	if(!is_unix_dependent_dll($dll)) {
+	    read_spec_file($spec_file);
+	}
     }
 }
 
@@ -121,13 +141,18 @@ MAKEFILE_IN: foreach my $makefile_in_file (@makefile_in_files) {
     my $testdll;
     my @imports;
     my $type;
+    my $dll;
 
     my %vars;
 
     my $again = 0;
     my $lookahead = 0;
 
-    if($makefile_in_file eq "loader/Makefile.in") {
+    $dll = $makefile_in_file;
+    $dll =~ s%dlls/([^/]+)/Makefile\.in%$1%;
+
+    if($makefile_in_file eq "loader/Makefile.in" ||
+       is_unix_dependent_dll($dll)) {
         next;
     }
 




More information about the wine-cvs mailing list