Libraries in @INC may be in Unix or VMS format on VMS.
authorCraig A. Berry <craigberry@mac.com>
Mon, 7 Mar 2011 03:58:34 +0000 (21:58 -0600)
committerCraig A. Berry <craigberry@mac.com>
Mon, 7 Mar 2011 03:58:34 +0000 (21:58 -0600)
We now (after 816005240f1a3b9989c940e630e829048597537c) will store
them in @INC in Unix format, but either format is legal.  We can't
change the values in %Config to be Unix format, though, because
MakeMaker and other utilities may use those to construct paths
for native software that needs them in native format.

lib/Config.t

index 76ce6b6..ee2eaea 100644 (file)
@@ -264,6 +264,11 @@ foreach my $lib (qw(applibexp archlibexp privlibexp sitearchexp sitelibexp
     skip "lib $lib not in \@INC on Win32" if $^O eq 'MSWin32';
     skip "lib $lib not defined" unless defined $dir;
     skip "lib $lib not set" unless length $dir;
+    # May be in @INC in either Unix or VMS format on VMS.
+    if ($^O eq 'VMS' && !exists($orig_inc{$dir})) {
+        $dir = VMS::Filespec::unixify($dir);
+        $dir =~ s|/$||;
+    }
     # So we expect to find it in @INC
 
     ok (exists $orig_inc{$dir}, "Expect $lib '$dir' to be in \@INC")