The attached patch (plus one additional step) gets bleadperl building on
VMS again. The additional step is renaming the directory

ext/Compress/Zlib/zlib-src-1.2.3

to

ext/Compress/Zlib/zlib-src

which I assume needs to be done in Perforce. The related changes to
MANIFEST and ext/Compress/Zlib/config.in are in the patch. The dot is
the directory delimiter on VMS, and although newer versions of VMS have
ways to escape the dots when the non-default features for doing so are
enabled, it's a heck of a lot easier to just avoid dots in directory names.

--- MANIFEST;-0 Thu Jul 21 08:09:42 2005
+++ MANIFEST    Sat Jul 23 18:54:48 2005
@@ -170,28 +170,28 @@ ext/Compress/Zlib/t/04encoding.t  Compres
 ext/Compress/Zlib/t/05gzsetp.t         Compress::Zlib
 ext/Compress/Zlib/t/06gzdopen.t                Compress::Zlib
 ext/Compress/Zlib/typemap              Compress::Zlib
-ext/Compress/Zlib/zlib-src-1.2.3/adler32.c     Compress::Zlib
-ext/Compress/Zlib/zlib-src-1.2.3/compress.c    Compress::Zlib
-ext/Compress/Zlib/zlib-src-1.2.3/crc32.c       Compress::Zlib
-ext/Compress/Zlib/zlib-src-1.2.3/crc32.h       Compress::Zlib
-ext/Compress/Zlib/zlib-src-1.2.3/deflate.c     Compress::Zlib
-ext/Compress/Zlib/zlib-src-1.2.3/deflate.h     Compress::Zlib
-ext/Compress/Zlib/zlib-src-1.2.3/gzio.c                Compress::Zlib
-ext/Compress/Zlib/zlib-src-1.2.3/infback.c     Compress::Zlib
-ext/Compress/Zlib/zlib-src-1.2.3/inffast.c     Compress::Zlib
-ext/Compress/Zlib/zlib-src-1.2.3/inffast.h     Compress::Zlib
-ext/Compress/Zlib/zlib-src-1.2.3/inffixed.h    Compress::Zlib
-ext/Compress/Zlib/zlib-src-1.2.3/inflate.c     Compress::Zlib
-ext/Compress/Zlib/zlib-src-1.2.3/inflate.h     Compress::Zlib
-ext/Compress/Zlib/zlib-src-1.2.3/inftrees.c    Compress::Zlib
-ext/Compress/Zlib/zlib-src-1.2.3/inftrees.h    Compress::Zlib
-ext/Compress/Zlib/zlib-src-1.2.3/trees.c       Compress::Zlib
-ext/Compress/Zlib/zlib-src-1.2.3/trees.h       Compress::Zlib
-ext/Compress/Zlib/zlib-src-1.2.3/uncompr.c     Compress::Zlib
-ext/Compress/Zlib/zlib-src-1.2.3/zconf.h       Compress::Zlib
-ext/Compress/Zlib/zlib-src-1.2.3/zlib.h                Compress::Zlib
-ext/Compress/Zlib/zlib-src-1.2.3/zutil.c       Compress::Zlib
-ext/Compress/Zlib/zlib-src-1.2.3/zutil.h       Compress::Zlib
+ext/Compress/Zlib/zlib-src/adler32.c   Compress::Zlib
+ext/Compress/Zlib/zlib-src/compress.c  Compress::Zlib
+ext/Compress/Zlib/zlib-src/crc32.c     Compress::Zlib
+ext/Compress/Zlib/zlib-src/crc32.h     Compress::Zlib
+ext/Compress/Zlib/zlib-src/deflate.c   Compress::Zlib
+ext/Compress/Zlib/zlib-src/deflate.h   Compress::Zlib
+ext/Compress/Zlib/zlib-src/gzio.c              Compress::Zlib
+ext/Compress/Zlib/zlib-src/infback.c   Compress::Zlib
+ext/Compress/Zlib/zlib-src/inffast.c   Compress::Zlib
+ext/Compress/Zlib/zlib-src/inffast.h   Compress::Zlib
+ext/Compress/Zlib/zlib-src/inffixed.h  Compress::Zlib
+ext/Compress/Zlib/zlib-src/inflate.c   Compress::Zlib
+ext/Compress/Zlib/zlib-src/inflate.h   Compress::Zlib
+ext/Compress/Zlib/zlib-src/inftrees.c  Compress::Zlib
+ext/Compress/Zlib/zlib-src/inftrees.h  Compress::Zlib
+ext/Compress/Zlib/zlib-src/trees.c     Compress::Zlib
+ext/Compress/Zlib/zlib-src/trees.h     Compress::Zlib
+ext/Compress/Zlib/zlib-src/uncompr.c   Compress::Zlib
+ext/Compress/Zlib/zlib-src/zconf.h     Compress::Zlib
+ext/Compress/Zlib/zlib-src/zlib.h              Compress::Zlib
+ext/Compress/Zlib/zlib-src/zutil.c     Compress::Zlib
+ext/Compress/Zlib/zlib-src/zutil.h     Compress::Zlib
 ext/Data/Dumper/Changes                Data pretty printer, changelog
 ext/Data/Dumper/Dumper.pm      Data pretty printer, module
 ext/Data/Dumper/Dumper.xs      Data pretty printer, externals
--- mg.c;-0     Thu Jul 21 11:10:07 2005
+++ mg.c        Sat Jul 23 22:08:49 2005
@@ -1045,7 +1045,7 @@ Perl_magic_setenv(pTHX_ SV *sv, MAGIC *m
        MgTAINTEDDIR_off(mg);
 #ifdef VMS
        if (s && klen == 8 && strEQ(ptr, "DCL$PATH")) {
-           char pathbuf[256], eltbuf[256], *cp, *elt = s;
+           char pathbuf[256], eltbuf[256], *cp, *elt = (char *) s;
            Stat_t sbuf;
            int i = 0, j = 0;
 
--- pp_ctl.c;-0 Sun Jul 17 19:46:43 2005
+++ pp_ctl.c    Sat Jul 23 22:50:32 2005
@@ -3143,7 +3143,7 @@ PP(pp_require)
        I32 i;
 #ifdef VMS
        char *unixname;
-       if ((unixname = tounixspec(name, Nullch)) != Nullch)
+       if ((unixname = tounixspec((char *)name, Nullch)) != Nullch)
 #endif
        {
            namesv = NEWSV(806, 0);
@@ -3280,7 +3280,7 @@ PP(pp_require)
 #else
 #  ifdef VMS
                    char *unixdir;
-                   if ((unixdir = tounixpath(dir, Nullch)) == Nullch)
+                   if ((unixdir = tounixpath((char *)dir, Nullch)) == Nullch)
                        continue;
                    sv_setpv(namesv, unixdir);
                    sv_catpv(namesv, unixname);
--- pp_sys.c;-0 Wed Jul 20 07:58:35 2005
+++ pp_sys.c    Sat Jul 23 22:12:35 2005
@@ -3607,7 +3607,7 @@ PP(pp_chdir)
 #endif
     }
     else 
-        PUSHi( PerlDir_chdir(tmps) >= 0 );
+        PUSHi( PerlDir_chdir((char *)tmps) >= 0 );
 #ifdef VMS
     /* Clear the DEFAULT element of ENV so we'll get the new value
      * in the future. */
@@ -3878,7 +3878,7 @@ PP(pp_mkdir)
 
     TAINT_PROPER("mkdir");
 #ifdef HAS_MKDIR
-    SETi( PerlDir_mkdir(tmps, mode) >= 0 );
+    SETi( PerlDir_mkdir((char *)tmps, mode) >= 0 );
 #else
     SETi( dooneliner("mkdir", tmps) );
     oldumask = PerlLIO_umask(0);
@@ -3900,7 +3900,7 @@ PP(pp_rmdir)
     TRIMSLASHES(tmps,len,copy);
     TAINT_PROPER("rmdir");
 #ifdef HAS_RMDIR
-    SETi( PerlDir_rmdir(tmps) >= 0 );
+    SETi( PerlDir_rmdir((char *)tmps) >= 0 );
 #else
     SETi( dooneliner("rmdir", tmps) );
 #endif
@@ -3924,7 +3924,7 @@ PP(pp_open_dir)
 
     if (IoDIRP(io))
        PerlDir_close(IoDIRP(io));
-    if (!(IoDIRP(io) = PerlDir_open(dirname)))
+    if (!(IoDIRP(io) = PerlDir_open((char *)dirname)))
        goto nope;
 
     RETPUSHYES;
--- vms/gen_shrfls.pl;-0        Sun May 29 00:14:07 2005
+++ vms/gen_shrfls.pl   Sun Jul 24 12:43:51 2005
@@ -152,7 +152,8 @@ sub scan_func {
   $line =~ s/\b(IV|Off_t|Size_t|SSize_t|void)\b//i;
   if ( $line =~ /(\w+)\s*\(/ ) {
     print "\troutine name is \\$1\\\n" if $debug > 1;
-    if ($1 eq 'main' || $1 eq 'perl_init_ext' || $1 eq 
'__attribute__format__') {
+    if ($1 eq 'main' || $1 eq 'perl_init_ext' || $1 eq '__attribute__format__'
+        || (($1 eq 'Perl_stashpv_hvname_match') && ! $use_threads)) {
       print "\tskipped\n" if $debug > 1;
     }
     else { $fcns{$1}++ }
--- ext/Compress/Zlib/config.in;-0      Thu Jul 21 08:09:42 2005
+++ ext/Compress/Zlib/config.in Sun Jul 24 13:29:40 2005
@@ -12,8 +12,8 @@
 # Compress::Zlib" in the README file for details of how to use this file.
 
 BUILD_ZLIB = True
-INCLUDE    = ./zlib-src-1.2.3
-LIB        = ./zlib-src-1.2.3
+INCLUDE    = ./zlib-src
+LIB        = ./zlib-src
 OLD_ZLIB   = False
 
 

Reply via email to