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.