Sweden-Number/tools/winapi/setup.pm

59 lines
1.3 KiB
Perl

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;