| # |
| # Copyright 1999, 2000, 2001 Patrik Stridvall |
| # |
| # This library is free software; you can redistribute it and/or |
| # modify it under the terms of the GNU Lesser General Public |
| # License as published by the Free Software Foundation; either |
| # version 2.1 of the License, or (at your option) any later version. |
| # |
| # This library is distributed in the hope that it will be useful, |
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| # Lesser General Public License for more details. |
| # |
| # You should have received a copy of the GNU Lesser General Public |
| # License along with this library; if not, write to the Free Software |
| # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA |
| # |
| |
| 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); |
| |
| use vars qw($current_dir $wine_dir $winapi_dir); |
| |
| my $tool = $0; |
| $tool =~ s%^(?:.*?/)?([^/]+)$%$1%; |
| |
| if(defined($current_dir) && defined($wine_dir) && |
| defined($winapi_dir)) |
| { |
| # Nothing |
| } elsif($0 =~ m%^(.*?)/?tools/([^/]+)/[^/]+$%) { |
| my $dir = $2; |
| |
| if(defined($1) && $1 ne "") |
| { |
| $wine_dir = $1; |
| } else { |
| $wine_dir = "."; |
| |
| } |
| |
| require Cwd; |
| my $cwd = Cwd::cwd(); |
| |
| 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%/\.$%%; |
| } elsif($wine_dir eq $cwd) { |
| $wine_dir = "."; |
| $current_dir = "."; |
| } elsif($cwd =~ m%^$wine_dir/(.*?)?$%) { |
| $current_dir = $1; |
| $wine_dir = "."; |
| foreach my $dir (split(m%/%, $current_dir)) { |
| $wine_dir = "../$wine_dir"; |
| } |
| $wine_dir =~ s%/\.$%%; |
| } else { |
| print STDERR "$tool: You must run this tool in the main Wine directory or a sub directory\n"; |
| exit 1; |
| } |
| |
| $winapi_dir = "$wine_dir/tools/winapi"; |
| $winapi_dir =~ s%^\./%%; |
| |
| push @INC, $winapi_dir; |
| } else { |
| print STDERR "$tool: You must run this tool in the main Wine directory or a sub directory\n"; |
| exit 1; |
| } |
| } |
| |
| 1; |