summaryrefslogtreecommitdiff
path: root/lib/blib.pm
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2002-05-30 13:29:13 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2002-05-30 13:29:13 +0000
commite69a2255d0db4d110e403864fcb97407ce8e4ff9 (patch)
treed06bcf736b723222fffb9ae32c9018de2277632a /lib/blib.pm
parent5df8692c9adbc24ad55369ec6cb2fef5fc7cdcaa (diff)
downloadperl-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.pm29
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";
}