This doesn't do automatic searches for extensions (I've got a bit
of DCL that *almost* does this, but you'd have to tell it what you
*don't* want built).  Instead it just changes the syntax of the
extensions in $Config{extensions} from 
        File::Glob     to    File/Glob

Included is is a patch to CONFIGURE.COM, to SUBCONFIGURE.COM for
the "canonical" BUILD_EXT.COM, and a patch to t/lib/glob-basic.t
so that it'll won't give us a bogus error when (after the change
above) it actually *does* run on VMS.

  
--- configure.com-orig  Fri Mar  3 23:55:23 2000
+++ configure.com       Fri Mar  3 23:48:24 2000
@@ -1969,6 +1969,40 @@
 $ rp = "[''dflt'] "
 $ GOSUB myread
 $ if ans.eqs."" then ans = "''dflt'"
+$ a = ""
+$ j = 0
+$ xloop1:
+$   x = f$elem(j," ",ans)
+$   j = j + 1
+$   if x .eqs. " " then goto exloop1
+$   xloop2:
+$       k = f$locate("::",x)
+$       if k .ge. f$len(x) then goto exloop2
+$       x = f$extract(0,k,x) + "/" + f$extract(k+2,f$len(x)-2,x)
+$   goto xloop2
+$   exloop2:
+$   a = a + " " + x
+$ goto xloop1
+$ exloop1:
+$ ans = f$edit(a,"trim")
+$!
+$ a = ""
+$ j = 0
+$ xloop3:
+$   x = f$elem(j," ",dflt)
+$   j = j + 1
+$   if x .eqs. " " then goto exloop3
+$   xloop4:
+$       k = f$locate("::",x)
+$       if k .ge. f$len(x) then goto exloop4
+$       x = f$extract(0,k,x) + "/" + f$extract(k+2,f$len(x)-2,x)
+$   goto xloop4
+$   exloop4:
+$   a = a + " " + x
+$ goto xloop3
+$ exloop3:
+$ dflt = f$edit(a,"trim")
+$!
 $ extensions = "''ans'"
 $ perl_known_extensions = "''dflt'"
 $!
--- vms/subconfigure.com-orig   Sat Mar  4 00:32:41 2000
+++ vms/subconfigure.com        Sat Mar  4 00:32:27 2000
@@ -4326,6 +4326,7 @@
 $    Define/User Perl_Env_Tables CLISYM_LOCAL
 $    miniperl
      ($extdir = $ENV{'ext'}) =~ s/::/./g;
+     $extdir =~ s#/#.#g;
      if ($extdir =~ /^vms/i) { $extdir =~ s/vms/.vms.ext/i; }
      else                    { $extdir = ".ext.$extdir";   }
      ($ENV{'extdir'} = "[$extdir]");
--- t/lib/glob-basic.t-orig     Fri Mar  3 16:44:47 2000
+++ t/lib/glob-basic.t  Sat Mar  4 01:19:53 2000
@@ -38,7 +38,7 @@
 
 # look up the user's home directory
 # should return a list with one item, and not set ERROR
-if ($^O ne 'MSWin32' || $^O ne 'VMS') {
+if ($^O ne 'MSWin32' && $^O ne 'VMS') {
   eval {
     ($name, $home) = (getpwuid($>))[0,7];
     1;
--
Chuck Lane              [EMAIL PROTECTED]

Reply via email to