Rafael Garcia-Suarez wrote:
> I never noticed that before, but the INSTALLSCRIPT directory doesn't
> change, while all other dirs (notably INSTALL.*BIN) change when
> INSTALLDIR changes.
> 
> To me that looks like a bug. Does anyone know why it was made that way ?

Here a patch to fix this.
Of course, it's not backwards-compatible, but it's more correct.
Any objections from the MakeMaker side ?

Index: lib/ExtUtils/MM_Any.pm
===================================================================
--- lib/ExtUtils/MM_Any.pm      (révision 6284)
+++ lib/ExtUtils/MM_Any.pm      (copie de travail)
@@ -1045,12 +1045,18 @@
 
     $self->{INSTALLSITEBIN} ||= '$(INSTALLBIN)'
       unless $Config{installsitebin};
+    $self->{INSTALLSITESCRIPT} ||= $Config{installsitescript} || 
'$(INSTALLSCRIPT)';
 
     unless( $Config{installvendorbin} ) {
         $self->{INSTALLVENDORBIN} ||= $Config{usevendorprefix} 
                                     ? $Config{installbin}
                                     : '';
     }
+    unless( $Config{installvendorscript} ) {
+        $self->{INSTALLVENDORSCRIPT} ||= $Config{usevendorprefix}
+                                       ? $Config{installscript}
+                                       : '';
+    }
 
 
     my $iprefix = $Config{installprefixexp} || $Config{installprefix} || 
@@ -1627,7 +1633,7 @@
     return qw(PRIVLIB SITELIB  VENDORLIB
               ARCHLIB SITEARCH VENDORARCH
               BIN     SITEBIN  VENDORBIN
-              SCRIPT
+              SCRIPT  SITESCRIPT  VENDORSCRIPT
               MAN1DIR SITEMAN1DIR VENDORMAN1DIR
               MAN3DIR SITEMAN3DIR VENDORMAN3DIR
              );
Index: lib/ExtUtils/MM_Unix.pm
===================================================================
--- lib/ExtUtils/MM_Unix.pm     (révision 6284)
+++ lib/ExtUtils/MM_Unix.pm     (copie de travail)
@@ -2074,7 +2074,7 @@
                $(INST_LIB) $(DESTINSTALLSITELIB) \
                $(INST_ARCHLIB) $(DESTINSTALLSITEARCH) \
                $(INST_BIN) $(DESTINSTALLSITEBIN) \
-               $(INST_SCRIPT) $(DESTINSTALLSCRIPT) \
+               $(INST_SCRIPT) $(DESTINSTALLSITESCRIPT) \
                $(INST_MAN1DIR) $(DESTINSTALLSITEMAN1DIR) \
                $(INST_MAN3DIR) $(DESTINSTALLSITEMAN3DIR)
        $(NOECHO) $(WARN_IF_OLD_PACKLIST) \
@@ -2087,7 +2087,7 @@
                $(INST_LIB) $(DESTINSTALLVENDORLIB) \
                $(INST_ARCHLIB) $(DESTINSTALLVENDORARCH) \
                $(INST_BIN) $(DESTINSTALLVENDORBIN) \
-               $(INST_SCRIPT) $(DESTINSTALLSCRIPT) \
+               $(INST_SCRIPT) $(DESTINSTALLVENDORSCRIPT) \
                $(INST_MAN1DIR) $(DESTINSTALLVENDORMAN1DIR) \
                $(INST_MAN3DIR) $(DESTINSTALLVENDORMAN3DIR)
 
Index: lib/ExtUtils/MakeMaker.pm
===================================================================
--- lib/ExtUtils/MakeMaker.pm   (révision 6284)
+++ lib/ExtUtils/MakeMaker.pm   (copie de travail)
@@ -222,7 +222,7 @@
     INSTALLMAN1DIR          INSTALLMAN3DIR
     INSTALLSITEMAN1DIR      INSTALLSITEMAN3DIR
     INSTALLVENDORMAN1DIR    INSTALLVENDORMAN3DIR
-    INSTALLSCRIPT 
+    INSTALLSCRIPT   INSTALLSITESCRIPT  INSTALLVENDORSCRIPT
     PERL_LIB        PERL_ARCHLIB 
     SITELIBEXP      SITEARCHEXP 
 
@@ -1084,7 +1084,7 @@
   INST_ARCHLIB   INSTALLARCHLIB  INSTALLSITEARCH     INSTALLVENDORARCH
   INST_LIB       INSTALLPRIVLIB  INSTALLSITELIB      INSTALLVENDORLIB
   INST_BIN       INSTALLBIN      INSTALLSITEBIN      INSTALLVENDORBIN
-  INST_SCRIPT    INSTALLSCRIPT   INSTALLSCRIPT       INSTALLSCRIPT
+  INST_SCRIPT    INSTALLSCRIPT   INSTALLSITESCRIPT   INSTALLVENDORSCRIPT
   INST_MAN1DIR   INSTALLMAN1DIR  INSTALLSITEMAN1DIR  INSTALLVENDORMAN1DIR
   INST_MAN3DIR   INSTALLMAN3DIR  INSTALLSITEMAN3DIR  INSTALLVENDORMAN3DIR
 
@@ -1545,7 +1545,7 @@
 =item INSTALLSCRIPT
 
 Used by 'make install' which copies files from INST_SCRIPT to this
-directory.
+directory if INSTALLDIRS=perl.
 
 =item INSTALLSITEARCH
 
@@ -1572,6 +1572,11 @@
 
 If set to 'none', no man pages will be installed.
 
+=item INSTALLSITESCRIPT
+
+Used by 'make install' which copies files from INST_SCRIPT to this
+directory if INSTALLDIRS is set to site (default).
+
 =item INSTALLVENDORARCH
 
 Used by 'make install', which copies files from INST_ARCHLIB to this
@@ -1596,6 +1601,11 @@
 
 If set to 'none', no man pages will be installed.
 
+=item INSTALLVENDORSCRIPT
+
+Used by 'make install' which copies files from INST_SCRIPT to this
+directory if INSTALLDIRS is set to is set to vendor.
+
 =item INST_ARCHLIB
 
 Same as INST_LIB for architecture dependent files.

Reply via email to