| package setup; | |
| use strict; | |
| BEGIN { | |
| use vars qw($VERSION @ISA @EXPORT @EXPORT_OK); | |
| require Exporter; | |
| @ISA = qw(Exporter); | |
| @EXPORT = qw(); | |
| @EXPORT_OK = qw($current_dir $wine_dir $winapi_dir $winapi_check_dir); | |
| use vars qw($current_dir $wine_dir $winapi_dir $winapi_check_dir); | |
| my $dir; | |
| my $tool; | |
| if($0 =~ m%^((.*?)/?tools/([^/]+))/([^/]+)$%) | |
| { | |
| $winapi_dir = $1; | |
| $winapi_check_dir = $1; | |
| $dir = $3; | |
| $tool = $4; | |
| if(defined($2) && $2 ne "") | |
| { | |
| $wine_dir = $2; | |
| } else { | |
| $wine_dir = "."; | |
| } | |
| if($wine_dir =~ /^\./) { | |
| $current_dir = "."; | |
| my $pwd; chomp($pwd = `pwd`); | |
| foreach my $n (1..((length($wine_dir) + 1) / 3)) { | |
| $pwd =~ s/\/([^\/]*)$//; | |
| $current_dir = "$1/$current_dir"; | |
| } | |
| $current_dir =~ s%/\.$%%; | |
| } | |
| $winapi_dir =~ s%^\./%%; | |
| $winapi_dir =~ s/$dir/winapi/g; | |
| $winapi_check_dir =~ s%^\./%%; | |
| $winapi_check_dir =~ s/$dir/winapi_check/g; | |
| } else { | |
| print STDERR "$tool: You must run this tool in the main Wine directory or a sub directory\n"; | |
| exit 1; | |
| } | |
| push @INC, ($winapi_check_dir, $winapi_dir) if $tool eq "winapi_check"; | |
| push @INC, ($winapi_dir, $winapi_check_dir) if $tool eq "winapi_extract"; | |
| push @INC, ($winapi_dir, $winapi_check_dir) if $tool eq "winapi_fixup"; | |
| } | |
| 1; |