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;