--- ./GNUmakefile-pre	Thu Oct 30 22:47:38 2003
+++ ./GNUmakefile	Tue Nov  4 19:38:46 2003
@@ -772,18 +772,20 @@ install-strip:
 	$(MAKE) STRIPFLAGS=-s install
 
 install install-all:
-	$(MAKE) install.perl install.man STRIPFLAGS=$(STRIPFLAGS)
+	$(MAKE) install.perl install.man STRIPFLAGS=$(STRIPFLAGS) DESTDIR="$(DESTDIR)" PREFIX="$(PREFIX)"
 
 install-verbose:
-	$(MAKE) install.perl install.man STRIPFLAGS=$(STRIPFLAGS) INSTALLFLAGS=-V
+	$(MAKE) install.perl install.man STRIPFLAGS=$(STRIPFLAGS) INSTALLFLAGS=-V DESTDIR="$(DESTDIR)" PREFIX="$(PREFIX)"
 
 install-silent:
-	$(MAKE) install.perl install.man STRIPFLAGS=$(STRIPFLAGS) INSTALLFLAGS=-S
+	$(MAKE) install.perl install.man STRIPFLAGS=$(STRIPFLAGS) INSTALLFLAGS=-S DESTDIR="$(DESTDIR)" PREFIX="$(PREFIX)"
 
 no-install:
-	$(MAKE) install.perl install.man STRIPFLAGS=$(STRIPFLAGS) INSTALLFLAGS=-n
+	$(MAKE) install.perl install.man STRIPFLAGS=$(STRIPFLAGS) INSTALLFLAGS=-n DESTDIR="$(DESTDIR)" PREFIX="$(PREFIX)"
 
-install.perl:	all installperl
+INSTALL_DEPENDENCE = all
+
+install.perl:	$(INSTALL_DEPENDENCE) installperl
 	if [ -n "$(COMPILE)" ]; \
 	then \
 		cd utils; $(MAKE) compile; \
@@ -791,15 +793,15 @@ install.perl:	all installperl
 		cd ../pod; $(MAKE) compile; \
 	else :; \
 	fi
-	$(LDLIBPTH) ./perl installperl --destdir=$(DESTDIR) $(INSTALLFLAGS) $(STRIPFLAGS)
+	$(LDLIBPTH) ./perl installperl --destdir="$(DESTDIR)" --prefix="$(PREFIX)" $(INSTALLFLAGS) $(STRIPFLAGS)
 	$(MAKE) extras.install
 
-install.man:	all installman
-	$(LDLIBPTH) ./perl installman --destdir=$(DESTDIR) $(INSTALLFLAGS)
+install.man:	$(INSTALL_DEPENDENCE) installman
+	$(LDLIBPTH) ./perl installman --destdir="$(DESTDIR)" --prefix="$(PREFIX)" $(INSTALLFLAGS)
 
 # XXX Experimental. Hardwired values, but useful for testing.
 # Eventually Configure could ask for some of these values.
-install.html: all installhtml
+install.html: $(INSTALL_DEPENDENCE) installhtml
 	-@test -f README.vms && cd vms && $(LNS) ../README.vms README_vms.pod && cd ..
 	$(LDLIBPTH) ./perl installhtml                   \
       --podroot=. --podpath=. --recurse  \
--- ./installperl-pre	Sun Aug 31 09:58:48 2003
+++ ./installperl	Tue Nov  4 19:43:10 2003
@@ -73,6 +81,7 @@ if ( $Is_VMS ) {
 
 $otherperls = 1;
 my $destdir = '';
+my $prefix = '';
 while (@ARGV) {
     $nonono = 1 if $ARGV[0] eq '-n';
     $dostrip = 1 if $ARGV[0] eq '-s';
@@ -86,6 +95,7 @@ while (@ARGV) {
     $nwinstall = 1 if $ARGV[0] eq '-netware';
     $nopods = 1 if $ARGV[0] eq '-p';
     $destdir = $1 if $ARGV[0] =~ /^-?-destdir=(.*)$/;
+    $prefix = $1 if $ARGV[0] =~ /^-?-prefix=(.*)$/;
     if ($ARGV[0] eq '-?' or $ARGV[0] =~ /^-?-h/) {
 	print <<"EOT";
 Usage $0: [switches]
@@ -103,6 +113,8 @@ Usage $0: [switches]
             name.
   -p        Don't install the pod files. [This will break use diagnostics;]
   -netware  Install correctly on a Netware server.
+  -destdir  Prefix installation directories by this string.
+  -prefix   Replace "$Config{installprefix}" by this string in installation directories.
 EOT
 	exit;
     }
@@ -189,6 +201,13 @@ my $installarchlib = "$destdir$Config{in
 my $installsitelib = "$destdir$Config{installsitelib}";
 my $installsitearch = "$destdir$Config{installsitearch}";
 my $installman1dir = "$destdir$Config{installman1dir}";
+
+if (length $prefix) {
+  s/^\Q$Config{installprefix}/$prefix/
+    for ($installbin, $installscript, $installprivlib, $installarchlib,
+	 $installsitelib, $installsitearch, $installman1dir);
+}
+
 my $man1ext = $Config{man1ext};
 my $libperl = $Config{libperl};
 # Shared library and dynamic loading suffixes.
--- ./installman-pre	Sun Aug  3 23:33:50 2003
+++ ./installman	Tue Nov  4 19:37:08 2003
@@ -27,7 +27,7 @@ die "Patchlevel of perl ($patchlevel)",
 my $usage =
 "Usage:  installman --man1dir=/usr/wherever --man1ext=1
                    --man3dir=/usr/wherever --man3ext=3
-		   --batchlimit=40
+		   --batchlimit=40  --prefix=/new/usr/wherever --destdir=/prefix
 	           --notify --verbose --silent --help
 	Defaults are:
 	man1dir = $Config{'installman1dir'};
@@ -40,7 +40,7 @@ my $usage =
 
 my %opts;
 GetOptions( \%opts,
-            qw( man1dir=s man1ext=s man3dir=s man3ext=s batchlimit=i
+            qw( man1dir=s man1ext=s man3dir=s man3ext=s batchlimit=i prefix=s
                 destdir:s notify n help silent S verbose V)) 
 	|| die $usage;
 die $usage if $opts{help};
@@ -56,6 +56,10 @@ $opts{man3ext} = $Config{'man3ext'}
 $opts{silent} ||= $opts{S};
 $opts{notify} ||= $opts{n};
 $opts{verbose} ||= $opts{V} || $opts{notify};
+
+if (defined $opts{prefix} and $opts{prefix}) {
+  s/^\Q$Config{installprefix}/$opts{prefix}/ for @opts{'man1dir', 'man3dir'};
+}
 
 #Sanity checks
 
