5 use setup qw($current_dir $wine_dir $winapi_dir $winapi_check_dir);
7 use vars qw($VERSION @ISA @EXPORT @EXPORT_OK);
12 &file_type &files_filter
13 &file_skip &files_skip
14 &file_absolutize &file_normalize
16 &translate_calling_convention16 &translate_calling_convention32
19 $current_dir $wine_dir $winapi_dir $winapi_check_dir
22 use vars qw($current_dir $wine_dir $winapi_dir $winapi_check_dir);
27 $_ = file_absolutize($_);
29 m%^(?:libtest|rc|server|tests|tools)/% && return "";
30 m%^(?:programs|debugger|miscemu)/% && return "wineapp";
31 m%^(?:library|tsx11|unicode)/% && return "library";
32 m%^windows/x11drv/wineclipsrv.c% && return "application";
41 foreach my $file (@_) {
42 if(file_type($file) eq $type) {
53 $_ = file_absolutize($_);
55 m%^(?:libtest|programs|rc|server|tests|tools)/% && return 1;
56 m%^(?:debugger|miscemu|tsx11|server|unicode)/% && return 1;
57 m%^dlls/wineps/data/% && return 1;
58 m%^windows/x11drv/wineclipsrv.c% && return 1;
59 m%^dlls/winmm/wineoss/midipatch.c% && return 1;
66 foreach my $file (@_) {
67 if(!file_skip($file)) {
78 $_ = file_normalize($_);
79 if(!s%^$wine_dir/%%) {
80 $_ = "$current_dir/$_";
90 foreach my $dir (split(m%/%, $current_dir)) {
91 s%^(\.\./)*\.\./$dir/%%;
101 output->progress("$wine_dir: searching for *.spec");
103 my @spec_files = map {
106 if(file_type($_) eq "winelib") {
111 } split(/\n/, `find $wine_dir -name \\*.spec`);
116 sub translate_calling_convention16 {
121 } elsif(/^VFWAPIV|WINAPIV$/) {
123 } elsif(/^__stdcall|VFWAPI|WINAPI|CALLBACK$/) {
132 sub translate_calling_convention32 {
137 } elsif(/^VFWAPIV|WINAPIV$/) {
139 } elsif(/^__stdcall|VFWAPI|WINAPI|CALLBACK$/) {