- Check for missing modules in modules.dat.

- Minor bug fixes
This commit is contained in:
Patrik Stridvall 2000-05-07 18:28:18 +00:00 committed by Alexandre Julliard
parent 40aa8c92a8
commit aceeaa94f2
3 changed files with 36 additions and 5 deletions

View File

@ -201,6 +201,10 @@ dlls/rasapi32
dlls/rasapi32
% dlls/richedit/riched32.spec
dlls/richedit
% dlls/setupx/setupx.spec
dlls/setupx

View File

@ -17,10 +17,25 @@ sub new {
$$output = shift;
my $wine_dir = shift;
my $current_dir = shift;
my $file_type = shift;
my $module_file = shift;
$module_file =~ s/^\.\///;
my @all_spec_files = map {
s/^.\/(.*)$/$1/;
if(&$file_type($_) eq "library") {
$_;
} else {
();
}
} split(/\n/, `find $wine_dir -name \\*.spec`);
my %all_spec_files;
foreach my $file (@all_spec_files) {
$all_spec_files{$file}++ ;
}
if($$options->progress) {
$$output->progress("$module_file");
}
@ -37,6 +52,12 @@ sub new {
if(/^%\s+(.*?)$/) {
$spec_file = $1;
if($wine_dir eq ".") {
$all_spec_files{$spec_file}--;
} else {
$all_spec_files{"$wine_dir/$spec_file"}--;
}
$$spec_files{""}{$spec_file}++; # FIXME: Kludge
next;
} else {
$allowed_dir = $1;
@ -49,6 +70,12 @@ sub new {
}
close(IN);
foreach my $spec_file (sort(keys(%all_spec_files))) {
if($all_spec_files{$spec_file} > 0) {
$$output->write("$module_file: $spec_file: exists but is not specified\n");
}
}
return $self;
}

View File

@ -66,11 +66,6 @@ if(!defined($options)) {
exit;
}
my $modules = 'modules'->new($options, $output, $wine_dir, $current_dir, "$winapi_check_dir/modules.dat");
my $win16api = 'winapi'->new($options, $output, "win16", "$winapi_check_dir/win16");
my $win32api = 'winapi'->new($options, $output, "win32", "$winapi_check_dir/win32");
sub file_type {
my $file = shift;
@ -93,6 +88,11 @@ sub file_type {
}
}
my $modules = 'modules'->new($options, $output, $wine_dir, $current_dir, \&file_type, "$winapi_check_dir/modules.dat");
my $win16api = 'winapi'->new($options, $output, "win16", "$winapi_check_dir/win16");
my $win32api = 'winapi'->new($options, $output, "win32", "$winapi_check_dir/win32");
if($options->global) {
'winapi'->read_all_spec_files($modules, $wine_dir, $current_dir, \&file_type, $win16api, $win32api);
} else {