Change 17658 by pudge@pudge-mobile on 2002/07/29 18:18:35

        Portability fixes for blib
        (already in 5.8/5.9)

Affected files ...

.... //depot/maint-5.6/macperl/lib/blib.pm#2 edit

Differences ...

==== //depot/maint-5.6/macperl/lib/blib.pm#2 (text) ====
Index: macperl/lib/blib.pm
--- macperl/lib/blib.pm#1~11007~        Thu Jun 28 10:46:27 2001
+++ macperl/lib/blib.pm Mon Jul 29 11:18:35 2002
@@ -34,12 +34,14 @@
 
 Nick Ing-Simmons [EMAIL PROTECTED]
 
-=cut 
+=cut
 
 use Cwd;
+use File::Spec;
 
-use vars qw($VERSION);
-$VERSION = '1.00';
+use vars qw($VERSION $Verbose);
+$VERSION = '1.02';
+$Verbose = 0;
 
 sub import
 {
@@ -51,20 +53,32 @@
    $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");
-     warn "Using $blib\n";
+     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";
 }
End of Patch.
-- 
Chris Nandor                      [EMAIL PROTECTED]    http://pudge.net/
Open Source Development Network    [EMAIL PROTECTED]     http://osdn.com/

Reply via email to