Index: tools/winapi_check/modules.pm
===================================================================
RCS file: /home/wine/wine/tools/winapi_check/modules.pm,v
retrieving revision 1.20
diff -u -r1.20 modules.pm
--- tools/winapi_check/modules.pm	27 Nov 2002 20:11:10 -0000	1.20
+++ tools/winapi_check/modules.pm	17 Jan 2004 21:26:56 -0000
@@ -95,54 +95,35 @@
     my $self  = {};
     bless ($self, $class);
 
-    my $spec_file_found = $self->read_module_file();
+    my $spec_file_found = $self->find_spec_files();
     $self->read_spec_files($spec_file_found);
 
     return $self;
 }
 
-sub read_module_file {
+sub find_spec_files {
     my $self = shift;
 
     my $dir2spec_file = \%{$self->{DIR2SPEC_FILE}};
     my $spec_file2dir = \%{$self->{SPEC_FILE2DIR}};
 
-    my $module_file = "$winapi_check_dir/modules.dat";
-
-    $output->progress("modules.dat");
+    $output->progress("modules");
 
     my $spec_file_found = {};
     my $allowed_dir;
     my $spec_file;
 
-    open(IN, "< $module_file");
-    local $/ = "\n";
-    while(<IN>) {
-	s/^\s*?(.*?)\s*$/$1/; # remove whitespace at begining and end of line
-	s/^(.*?)\s*#.*$/$1/;  # remove comments
-	/^$/ && next;         # skip empty lines
-
-	if(/^%\s+(.*?)$/) {
-	    $spec_file = $1;
+    my @spec_files = <{dlls/*/*.spec,dlls/*/*/*.spec}>;
 
-	    if(!-f "$wine_dir/$spec_file") {
-		$output->write("modules.dat: $spec_file: file ($spec_file) doesn't exist or is no file\n");
-	    }
+    foreach $spec_file (@spec_files) {
+        $spec_file =~ /(.*)\/.*\.spec/;
 
-	    $$spec_file_found{$spec_file}++;
-	    $$spec_file2dir{$spec_file} = {};
-	    next;
-	} else {
-	    $allowed_dir = $1;
-	    $$spec_file2dir{$spec_file}{$allowed_dir}++;
-	}
-	$$dir2spec_file{$allowed_dir}{$spec_file}++;
+        $allowed_dir = $1;
 
-	if(!-d "$wine_dir/$allowed_dir") {
-	    $output->write("modules.dat: $spec_file: directory ($allowed_dir) doesn't exist or is no directory\n");
-	}
+        $$spec_file_found{$spec_file}++;
+        $$spec_file2dir{$spec_file}{$allowed_dir}++;
+        $$dir2spec_file{$allowed_dir}{$spec_file}++;
     }
-    close(IN);
 
     return $spec_file_found;
 }
@@ -192,7 +173,7 @@
 
     foreach my $spec_file (@spec_files) {
 	if(!$$spec_file_found{$spec_file} && $spec_file !~ m%tests/[^/]+$%) {
-	    $output->write("modules.dat: $spec_file: exists but is not specified\n");
+	    $output->write("modules: $spec_file: exists but is not specified\n");
 	}
     }
 }
@@ -359,7 +340,7 @@
 	foreach my $module ($self->all_modules) {
 	    if(!$$used_module_dirs{$module}{$dir}) {
 		my $spec_file = $$module2spec_file{$module};
-		push @messages, "modules.dat: $spec_file: directory ($dir) is not used\n";
+		push @messages, "modules: $spec_file: directory ($dir) is not used\n";
 	    }
 	}
     }
Index: tools/winapi_check/winapi_global.pm
===================================================================
RCS file: /home/wine/wine/tools/winapi_check/winapi_global.pm,v
retrieving revision 1.13
diff -u -r1.13 winapi_global.pm
--- tools/winapi_check/winapi_global.pm	8 Aug 2003 21:04:17 -0000	1.13
+++ tools/winapi_check/winapi_global.pm	17 Jan 2004 21:27:05 -0000
@@ -41,9 +41,11 @@
 		    next if $internal_name =~ /\./;
 		    my $function = $functions->{$internal_name};
 		    if(!defined($function) && !$nativeapi->is_function($internal_name) &&
-		       !($module eq "user" && $internal_name =~
-			 /^(?:GlobalAddAtomA|GlobalDeleteAtom|GlobalFindAtomA|
-			    GlobalGetAtomNameA|lstrcmpiA)$/x))
+               # FIXME: remove these when DLL separation is complete 
+               !($module eq "advapi" || $module eq "gdi32" || $module eq "kernel32" ||
+                 $module eq "user.exe" || $module eq "user32" || $module eq "msvcrt" ||
+                 $module eq "keyboard.drv" || $module eq "gdi.exe" || $module eq "ddeml" ||
+                 $module eq "krnl386.exe" || $module eq "dispdib" || $module eq "ntdll"))
 		    {
 			$output->write("*.c: $module: $internal_name: " .
 				       "function declared but not implemented or declared external\n");
