allow distinct prefix for versioned executables
Roderick Schertler [Wed, 7 Apr 1999 15:34:56 +0000 (11:34 -0400)]
Message-ID: <3003.923513696@eeyore.ibcinc.com>
Subject: perl55.00503 -> perl5.00503 patch for installperl

p4raw-id: //depot/perl@3320

INSTALL
installperl

diff --git a/INSTALL b/INSTALL
index 8e6f81c..acb9efd 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -1414,6 +1414,15 @@ indicate the alternate name on the "make install" line, such as:
 
     make install PERLNAME=myperl
 
+You can separately change the base used for versioned names (like
+"perl5.005") by setting PERLNAME_VERBASE, like
+
+    make install PERLNAME=perl5 PERLNAME_VERBASE=perl
+
+This can be useful if you have to install perl as "perl5" (due to an
+ancient version in /usr/bin supplied by your vendor, eg).  Without this
+the versioned binary would be called "perl55.005".
+
 =head2 Installed files
 
 If you want to see exactly what will happen without installing
index ebb6f47..4e9b391 100755 (executable)
@@ -39,6 +39,14 @@ my $exe_ext = $Config{exe_ext};
 # Allow ``make install PERLNAME=something_besides_perl'':
 my $perl = defined($ENV{PERLNAME}) ? $ENV{PERLNAME} : 'perl';
 
+# This is the base used for versioned names, like "perl5.005".
+# It's separate because a common use of $PERLNAME is to install
+# perl as "perl5", if that's used as base for versioned files you
+# get "perl55.005".
+my $perl_verbase = defined($ENV{PERLNAME_VERBASE})
+                   ? $ENV{PERLNAME_VERBASE}
+                   : $perl;
+
 while (@ARGV) {
     $nonono = 1 if $ARGV[0] eq '-n';
     $versiononly = 1 if $ARGV[0] eq '-v';
@@ -171,20 +179,20 @@ elsif ($^O eq 'mpeix') {
     link($Config{perlpath}, "$installbin/perl$ver$exe_ext");
 }
 elsif ($^O ne 'dos') {
-    safe_unlink("$installbin/$perl$ver$exe_ext");
-    copy("perl$exe_ext", "$installbin/$perl$ver$exe_ext");
-    strip("$installbin/perl$ver$exe_ext") if $^O =~ /^(rhapsody)$/;
-    chmod(0755, "$installbin/$perl$ver$exe_ext");
+    safe_unlink("$installbin/$perl_verbase$ver$exe_ext");
+    copy("perl$exe_ext", "$installbin/$perl_verbase$ver$exe_ext");
+    strip("$installbin/$perl_verbase$ver$exe_ext") if $^O =~ /^(rhapsody)$/;
+    chmod(0755, "$installbin/$perl_verbase$ver$exe_ext");
 }
 else {
     safe_unlink("$installbin/$perl.exe");
     copy("perl.exe", "$installbin/$perl.exe");
 }
 
-safe_unlink("$installbin/s$perl$ver$exe_ext");
+safe_unlink("$installbin/s$perl_verbase$ver$exe_ext");
 if ($d_dosuid) {
-    copy("suidperl$exe_ext", "$installbin/s$perl$ver$exe_ext");
-    chmod(04711, "$installbin/s$perl$ver$exe_ext");
+    copy("suidperl$exe_ext", "$installbin/s$perl_verbase$ver$exe_ext");
+    chmod(04711, "$installbin/s$perl_verbase$ver$exe_ext");
 }
 
 # Install library files.
@@ -253,9 +261,11 @@ if (! $versiononly && ! samepath($installbin, '.') && ($^O ne 'dos') && ! $Is_VM
        # We don't want another cloned copy.
         symlink($Config{perlpath}, "$installbin/perl$exe_ext");
     } else {
-       link("$installbin/$perl$ver$exe_ext", "$installbin/$perl$exe_ext");
+       link("$installbin/$perl_verbase$ver$exe_ext",
+               "$installbin/$perl$exe_ext");
     }
-    link("$installbin/s$perl$ver$exe_ext", "$installbin/suid$perl$exe_ext") 
+    link("$installbin/s$perl_verbase$ver$exe_ext",
+           "$installbin/suid$perl$exe_ext") 
       if $d_dosuid;
 }