Rafael Garcia-Suarez wrote:
> 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.
Scratch that, I forgot a few points. Here's a new one, that works :
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,19 @@
$self->{INSTALLSITEBIN} ||= '$(INSTALLBIN)'
unless $Config{installsitebin};
+ $self->{INSTALLSITESCRIPT} ||= '$(INSTALLSCRIPT)'
+ unless $Config{installsitescript};
unless( $Config{installvendorbin} ) {
$self->{INSTALLVENDORBIN} ||= $Config{usevendorprefix}
? $Config{installbin}
: '';
}
+ unless( $Config{installvendorscript} ) {
+ $self->{INSTALLVENDORSCRIPT} ||= $Config{usevendorprefix}
+ ? $Config{installscript}
+ : '';
+ }
my $iprefix = $Config{installprefixexp} || $Config{installprefix} ||
@@ -1111,6 +1118,12 @@
script => { s => $iprefix,
t => 'perl',
d => 'bin' },
+ vendorscript=> { s => $vprefix,
+ t => 'vendor',
+ d => 'bin' },
+ sitescript => { s => $sprefix,
+ t => 'site',
+ d => 'bin' },
);
my %man_layouts =
@@ -1253,7 +1266,6 @@
# Adjust for variable quirks.
$install{INSTALLARCHLIB} ||= delete $install{INSTALLARCH};
$install{INSTALLPRIVLIB} ||= delete $install{INSTALLLIB};
- delete @install{qw(INSTALLVENDORSCRIPT INSTALLSITESCRIPT)};
foreach my $key (keys %install) {
$self->{$key} ||= $install{$key};
@@ -1627,7 +1639,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)
@@ -394,6 +394,7 @@
) )
{
+ #open FOO, ">>", "/home/rafael/foo";print FOO
"$macro:$self->{$macro}.\n";close FOO;
next unless defined $self->{$macro};
# pathnames can have sharp signs in them; escape them so
@@ -2074,7 +2075,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 +2088,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.