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.