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