Change 10997 by jhi@alpha on 2001/06/28 03:42:12
Subject: [patch perl@10996] "fix" VAX Digest/MD5, Fcntl, brokennes in SDBM
From: Peter Prymmer <[EMAIL PROTECTED]>
Date: Wed, 27 Jun 2001 17:33:33 -0700 (PDT)
Message-ID: <[EMAIL PROTECTED]>
Affected files ...
... //depot/perl/configure.com#105 edit
... //depot/perl/ext/Digest/MD5/Makefile.PL#5 edit
Differences ...
==== //depot/perl/configure.com#105 (text) ====
Index: perl/configure.com
--- perl/configure.com.~1~ Wed Jun 27 21:45:05 2001
+++ perl/configure.com Wed Jun 27 21:45:05 2001
@@ -1076,6 +1076,9 @@
$! genconfig.pl has either archname='VMS_AXP' or 'VMS_VAX'
$! Note that DCL in VMS V5.4 does not have F$GETSYI("ARCH_NAME")
$! but does have F$GETSYI("HW_MODEL").
+$! Please try to use either archname .EQS. "VMS_VAX" or archname .EQS.
+$! "VMS_AXP" from here on to allow cross-platform configuration (e.g.
+$! configure a VAX build on an Alpha).
$!
$ IF (F$GETSYI("HW_MODEL") .LT. 1024)
$ THEN
@@ -1104,12 +1107,9 @@
$ vms_prefixup = F$EDIT(vms_prefix,"UPCASE")
$ rp = "Will you be sharing your ''vms_prefixup' with ''otherarch'? [''dflt'] "
$ GOSUB myread
-$ if ans.NES.""
+$ if ans .EQS. "" THEN ans = dflt
+$ IF .NOT. ans
$ THEN
-$ ans = F$EXTRACT(0,1,F$EDIT(ans,"COLLAPSE, UPCASE"))
-$ ENDIF
-$ IF (ans.NES."Y")
-$ THEN
$ sharedperl = "N"
$ ELSE
$ sharedperl = "Y"
@@ -1953,7 +1953,7 @@
$List_Parse:
$ OPEN/READ CONFIG ccvms.lis
$ READ CONFIG line
-$ IF (F$GETSYI("HW_MODEL") .LT. 1024)
+$ IF archname .EQS. "VMS_VAX"
$ THEN
$ read CONFIG line
$ archsufx = "VAX"
@@ -2462,9 +2462,6 @@
xxx = F$EXTRACT(4,line_len - 16,line)
$ IF xxx .EQS. "DynaLoader" THEN goto ext_loop ! omit
$ IF xxx .EQS. "SDBM_File/sdbm" THEN goto ext_loop ! sub extension - omit
-$ IF xxx .EQS. "Digest/MD5" .AND. -
- F$GETSYI("HW_MODEL") .LT. 1024 .AND. ccversion .LE. 50390006 -
- THEN goto ext_loop ! cannot compile MD5.c on VAX
$ IF F$EXTRACT(0,8,line) .EQS. "vms/ext/" THEN -
xxx = "VMS/" + F$EXTRACT(8,line_len - 20,line)
$ known_extensions = known_extensions + " ''xxx'"
@@ -2825,7 +2822,7 @@
$!
$ perl_cc=Mcc
$!
-$ IF (sharedperl .AND. F$GETSYI("HW_MODEL") .GE. 1024)
+$ IF (sharedperl .AND. archname .EQS. "VMS_AXP")
$ THEN
$ obj_ext=".abj"
$ so="axe"
@@ -5695,6 +5692,13 @@
$ IF d_herrno .EQS. "undef" THEN WC "#define NEED_AN_H_ERRNO"
$ WC "#define HAS_ENVGETENV"
$ WC "#define PERL_EXTERNAL_GLOB"
+$ IF archname .EQS. "VMS_VAX" .AND. -
+ ccname .EQS. "DEC" .AND. -
+ ccversion .LE. 50390006
+$ THEN
+$! Alas this does not help to build Fcntl
+$! WC "#define PERL_IGNORE_FPUSIG SIGFPE"
+$ ENDIF
$ CLOSE CONFIG
$!
$ echo4 "Doing variable substitutions on .SH files..."
@@ -5946,7 +5950,7 @@
$ echo4 "The perl.cld file is now being written..."
$ OPEN/WRITE CONFIG 'file_2_find'
$ ext = ".exe"
-$ IF ((sharedperl) .AND. (F$GETSYI("HW_MODEL") .GE. 1024)) THEN ext := .AXE
+$ IF (sharedperl .AND. archname .EQS. "VMS_AXP") THEN ext := .AXE
$ IF (use_vmsdebug_perl)
$ THEN
$ WRITE CONFIG "define verb dbgperl"
==== //depot/perl/ext/Digest/MD5/Makefile.PL#5 (text) ====
Index: perl/ext/Digest/MD5/Makefile.PL
--- perl/ext/Digest/MD5/Makefile.PL.~1~ Wed Jun 27 21:45:05 2001
+++ perl/ext/Digest/MD5/Makefile.PL Wed Jun 27 21:45:05 2001
@@ -10,6 +10,14 @@
if !($Config{'byteorder'} eq '1234' ||
$Config{'byteorder'} eq '4321');
}
+my @optimize = ();
+if ($^O eq 'VMS') {
+ if (defined($Config{ccname})) {
+ if ($Config{ccversion} <= 50390006 && grep(/VMS_VAX/, @INC) &&
+($Config{ccname} eq 'DEC')) {
+ @optimize = ("OPTIMIZE","/Optimize=(NODISJOINT)");
+ }
+ }
+}
WriteMakefile(
'NAME' => 'Digest::MD5',
@@ -17,6 +25,7 @@
MAN3PODS => {}, # Pods will be built by installman.
@extra,
'dist' => { COMPRESS => 'gzip -9f', SUFFIX => 'gz', },
+ @optimize
);
exit;
End of Patch.