Rob Shearman : msvcmaker: Fix detection of static libraries.

Alexandre Julliard julliard at winehq.org
Tue Sep 30 11:15:32 CDT 2008


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

Author: Rob Shearman <robertshearman at gmail.com>
Date:   Thu Sep 25 16:44:23 2008 +0100

msvcmaker: Fix detection of static libraries.

Also don't generate a custom build step for the .spec file for static
libraries, since they don't have a .spec file.

---

 tools/winapi/msvcmaker |   11 ++++++-----
 1 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/tools/winapi/msvcmaker b/tools/winapi/msvcmaker
index 7309f1e..fc7d022 100755
--- a/tools/winapi/msvcmaker
+++ b/tools/winapi/msvcmaker
@@ -120,6 +120,7 @@ MAKEFILE_IN: foreach my $makefile_in_file (@makefile_in_files) {
     my $module;
     my $testdll;
     my @imports;
+    my $type;
 
     my %vars;
 
@@ -164,8 +165,8 @@ MAKEFILE_IN: foreach my $makefile_in_file (@makefile_in_files) {
 		    next MAKEFILE_IN;
 		}
 	    }
-	} elsif(/^LIBRARY\s*=\s*(\S+)\s*$/) {
-	    $module = $1  . "\.lib";
+	} elsif (/^\@MAKE_IMPLIB_RULES\@/) {
+	    $type = "lib";
 	} elsif(/^TOPOBJDIR\s*=\s*(\S+)\s*$/) {
 	    $topobjdir = $1;
 	} elsif (/^TESTDLL\s*=\s*(\S+)\s*$/) {
@@ -249,12 +250,11 @@ MAKEFILE_IN: foreach my $makefile_in_file (@makefile_in_files) {
     $project =~ s/\.(?:dll|exe|lib)$//;
     $project =~ y/./_/;
 
-    my $type;
     if($module =~ /\.exe$/) {
 	$type = "exe";
     } elsif($module =~ /\.lib$/) {
 	$type = "lib";
-    } else {
+    } elsif(!$type) {
 	$type = "dll";
     }
 
@@ -449,7 +449,8 @@ sub _generate_dsp($$) {
 
     if ($project !~ /^wine(?:build|runtests|test)?$/ &&
         $project !~ /^(?:gdi32)_.+?$/ &&
-        $project !~ /_test$/)
+        $project !~ /_test$/ &&
+        !$lib)
     {
 	push @source_files, "$base_module.spec";
 	@source_files = sort(@source_files);




More information about the wine-cvs mailing list