Greetings,

The enclosed patch (presented in Notes wrapped
clear text to ensure reviewability and as MIME
attachment to ensure integrity) fixes the VMS
equivalent of the "make install" command for
building and installing perl on VMS with
the "-Dusevmsdebug" and "-Dusedebuggingperl"
parameters specified to configure.com.
A perl_root so installed is but one step away
from being able to run MakeMaker (a matter
under discussion on the vmsperl list at this time).
I have tested this patch as OK on VMS
with and without a debug build specified and
everything (except for MakeMaker in the debug build)
worked as expected.  I have unfortunately not
tested this patch on any other platform, but do not
expect any trouble on non-VMS systems.
It should be applicable with patch -p1.

diff -ru perl_20724/installperl perl/installperl
--- perl_20724/installperl    2003-08-15 16:27:49.000000000 -0400
+++ perl/installperl    2003-08-16 11:47:13.000000000 -0400
@@ -60,6 +60,16 @@
 my $perl_verbase = defined($ENV{PERLNAME_VERBASE})
                ? $ENV{PERLNAME_VERBASE}
                : $perl;
+my $dbg = '';
+my $ndbg = '';
+if ( $Is_VMS ) {
+    if ( defined $Config{usevmsdebug} ) {
+        if ( $Config{usevmsdebug} eq 'define' ) {
+            $dbg = 'dbg';
+            $ndbg = 'ndbg';
+        }
+    }
+}

 $otherperls = 1;
 my $destdir = '';
@@ -225,7 +235,15 @@
      unless $installbin =~ m#^/afs/# || $nonono;

 if (!$Is_NetWare) {
+if (!$Is_VMS) {
 -x 'perl' . $exe_ext   || die "perl isn't executable!\n";
+}
+else {
+-x $ndbg . 'perl' . $exe_ext || die "${ndbg}perl$exe_ext isn't executable!\n";
+    if ($dbg) {
+        -x $dbg . 'perl' . $exe_ext      || die "${dbg}perl$exe_ext isn't 
executable!\n";
+    }
+}
 -x 'suidperl' . $exe_ext|| die "suidperl isn't executable!\n" if $d_dosuid;

 -f 't/rantests'        || $Is_W32
@@ -291,12 +309,17 @@
 # First we install the version-numbered executables.

 if ($Is_VMS) {
-    safe_unlink("$installbin/$perl$exe_ext");
-    copy("perl$exe_ext", "$installbin/$perl$exe_ext");
-    chmod(0755, "$installbin/$perl$exe_ext");
-    safe_unlink("$installbin/${perl}shr$exe_ext");
-    copy("perlshr$exe_ext", "$installbin/${perl}shr$exe_ext");
-    chmod(0755, "$installbin/${perl}shr$exe_ext");
+    safe_unlink("$installbin/$dbg$perl$exe_ext");
+    copy("$dbg$perl$exe_ext", "$installbin/$dbg$perl$exe_ext");
+    chmod(0755, "$installbin/$dbg$perl$exe_ext");
+    safe_unlink("$installbin/$dbg${perl}shr$exe_ext");
+    copy("$dbg${perl}shr$exe_ext", "$installbin/$dbg${perl}shr$exe_ext");
+    chmod(0755, "$installbin/$dbg${perl}shr$exe_ext");
+    if ($ndbg) {
+       safe_unlink("$installbin/$ndbg$perl$exe_ext");
+       copy("$ndbg$perl$exe_ext", "$installbin/$ndbg$perl$exe_ext");
+       chmod(0755, "$installbin/$ndbg$perl$exe_ext");
+    }
 }
 elsif ($^O eq 'mpeix') {
     # MPE lacks hard links and requires that executables with special
End of Patch.

(See attached file: installperl_20724.patch)

Peter Prymmer

Attachment: installperl_20724.patch
Description: Binary data

Reply via email to