diff options
author | Jarkko Hietaniemi <jhi@iki.fi> | 2002-05-30 13:29:13 +0000 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2002-05-30 13:29:13 +0000 |
commit | e69a2255d0db4d110e403864fcb97407ce8e4ff9 (patch) | |
tree | d06bcf736b723222fffb9ae32c9018de2277632a /lib/blib.pm | |
parent | 5df8692c9adbc24ad55369ec6cb2fef5fc7cdcaa (diff) | |
download | perl-e69a2255d0db4d110e403864fcb97407ce8e4ff9.tar.gz |
Integrate macperl patch #16868.
p4raw-id: //depot/perl@16882
p4raw-integrated: from //depot/macperl@16881 'copy in'
ext/B/B/Concise.pm ext/B/t/deparse.t ext/B/t/terse.t
ext/DynaLoader/DynaLoader_pm.PL ext/IO/lib/IO/t/io_dup.t
ext/POSIX/t/sigaction.t ext/PerlIO/t/encoding.t
ext/Socket/Socket.t lib/AutoSplit.t
lib/Net/Ping/t/110_icmp_inst.t lib/Net/hostent.t
lib/Pod/t/Usage.t lib/Pod/t/pod2html-lib.pl
lib/Test/Harness/t/callback.t lib/blib.pm lib/strict.t
lib/subs.t t/lib/filter-util.pl t/lib/warnings/doio
t/lib/warnings/mg t/x2p/s2p.t (@16123..)
lib/Test/Simple/t/exit.t (@16230..) lib/open.t lib/warnings.t
(@16255..) perl.c (@16475..) lib/Unicode/Collate.pm
lib/Unicode/UCD.t (@16651..) ext/PerlIO/t/fallback.t
lib/Test/Harness/t/strap-analyze.t
lib/Test/Harness/t/test-harness.t (@16825..)
p4raw-integrated: from //depot/macperl@16868 'copy in' lib/blib.t
(@16123..) t/lib/warnings/op (@16230..) ext/Cwd/t/cwd.t
ext/Digest/MD5/t/files.t (@16475..) 'merge in'
ext/Storable/t/utf8hash.t lib/Test/Harness/Straps.pm (@16730..)
Diffstat (limited to 'lib/blib.pm')
-rw-r--r-- | lib/blib.pm | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/lib/blib.pm b/lib/blib.pm index 9797f2f229..df20add94c 100644 --- a/lib/blib.pm +++ b/lib/blib.pm @@ -34,12 +34,13 @@ Pollutes global name space for development only task. Nick Ing-Simmons nik@tiuk.ti.com -=cut +=cut use Cwd; +use File::Spec; use vars qw($VERSION $Verbose); -$VERSION = '1.01'; +$VERSION = '1.02'; $Verbose = 0; sub import @@ -52,20 +53,32 @@ sub import $dir = shift; $dir =~ s/blib\z//; $dir =~ s,/+\z,,; - $dir = '.' unless ($dir); + $dir = File::Spec->curdir unless ($dir); die "$dir is not a directory\n" unless (-d $dir); } - my $i = 5; + my $i = 5; + my($blib, $blib_lib, $blib_arch); while ($i--) { - my $blib = "${dir}/blib"; - if (-d $blib && -d "$blib/arch" && -d "$blib/lib") + $blib = File::Spec->catdir($dir, "blib"); + $blib_lib = File::Spec->catdir($blib, "lib"); + + if ($^O eq 'MacOS') + { + $blib_arch = File::Spec->catdir($blib_lib, $MacPerl::Architecture); + } + else + { + $blib_arch = File::Spec->catdir($blib, "arch"); + } + + if (-d $blib && -d $blib_arch && -d $blib_lib) { - unshift(@INC,"$blib/arch","$blib/lib"); + unshift(@INC,$blib_arch,$blib_lib); warn "Using $blib\n" if $Verbose; return; } - $dir .= "/.."; + $dir = File::Spec->catdir($dir, File::Spec->updir); } die "Cannot find blib even in $dir\n"; } |