This syncs up bleadperl with 5.90_01.
All the new PREFIX logic is not going to work on VMS. I don't know
what the right way is to handle it, but Peter seems to have some
ideas. So I'll leave it up to the vmsperl folks. I'm out of tuits
anyway. All the logic is in ExtUtils::MM_Unix->init_INSTALL.
--- perl-current-clean/lib/ExtUtils/Changes Sat Apr 6 13:02:44 2002
+++ perl-current/lib/ExtUtils/Changes Thu Apr 11 01:12:19 2002
@@ -1,3 +1,31 @@
+5.90_01 Thu Apr 11 01:11:54 EDT 2002
+ [[ API Changes ]]
+ * Implementation of the new PREFIX logic.
+ * Added new INSTALL targets:
+ INSTALLSITEBIN
+ INSTALLSITEMAN1DIR INSTALLSITEMAN3DIR
+ INSTALLVENDORMAN1DIR INSTALLVENDORMAN3DIR
+ INSTALLVENDORBIN INSTALLVENDORLIB INSTALLVENDORARCH
+ SITEPREFIX VENDORPREFIX
+ * INSTALLDIRS=site now properly using $Config{siteprefixexp}
+ (Thieved from Debian. Thanks!)
+ * Added INSTALLDIRS=vendor & support for vendor directories
+ (Thieved from Debian. Thanks!)
+
+ [[ Bug Fixes ]]
+ - nmake syntax nits from Mattia Barbon
+ - ExtUtils::Packlist fix for files with spaces in them from Jan Dubois
+ (bleadperl@15800)
+ - Old, old, old dmake bug in MM_Win32->pm_to_blib fixed by Nick
+ (bleadperl 15847)
+
+ [[ Internals ]]
+ - Purging leftover PDP compiler flags.
+
+5.55_03 Sat Apr 6 21:57:01 EST 2002
+ - Reversing "fix" for RT 444. It wasn't really fixed and it
+ caused havoc with Compress::Zlib and Tk.
+
5.55_02 Sat Apr 6 03:09:15 EST 2002
[[ Bug Fixes ]]
- Craig Berry fixed install on VMS (again, I munged the last patch)
@@ -6,10 +34,12 @@
- For some reason MM_VMS was using $Config{arch} instead of
$Config{archname}
- Fix (well, hack) for creating ABSPERL on VMS.
+ - Quieting some warnings revealed by ExtUtils::Constant
+ - test_via_script had a typo and forgot INST_ARCHLIB
[[ Test Fixes ]]
- INST.t has to tell MakeMaker it's in the PERL_CORE
- - INST_LIB doesn't change if it's in the core
+ - Fixing expected values of INST_* when building the core.
5.55_01 Thu Apr 4 23:58:06 EST 2002
[[ API Changes ]]
@@ -219,7 +249,7 @@
5.48_04 Mon Jan 21 19:28:38 EST 2002
- No longer requiring Test::More
- Now tested to work with a clean 5.6.1
- - Stripped out $Revision: 1.48 $ based $VERSIONs.
+ - Stripped out $Revision based $VERSIONs.
- Rolled in patches from p5p, vmsperl & VOS (14325, 14338, 14360, 14364)
* hint files now run in a safer context. Only $self is available.
- ExtUtils::testlib now provides absolute paths into @INC.
--- perl-current-clean/lib/ExtUtils/MM_Cygwin.pm Sat Apr 6 13:02:44 2002
+++ perl-current/lib/ExtUtils/MM_Cygwin.pm Thu Apr 11 00:36:40 2002
@@ -27,8 +27,6 @@
CCFLAGS = $self->{CCFLAGS}
OPTIMIZE = $self->{OPTIMIZE}
PERLTYPE = $self->{PERLTYPE}
-LARGE = $self->{LARGE}
-SPLIT = $self->{SPLIT}
};
}
--- perl-current-clean/lib/ExtUtils/MM_NW5.pm Sat Apr 6 13:02:44 2002
+++ perl-current/lib/ExtUtils/MM_NW5.pm Thu Apr 11 00:36:40 2002
@@ -73,7 +73,7 @@
return '' unless $self->needs_linking();
return $self->{CONST_CCCMD} =
q{CCCMD = $(CC) $(INC) $(CCFLAGS) $(OPTIMIZE) \\
- $(PERLTYPE) $(LARGE) $(SPLIT) $(MPOLLUTE) \\
+ $(PERLTYPE) $(MPOLLUTE) \\
-DVERSION="$(VERSION)" -DXS_VERSION="$(XS_VERSION)"};
}
--- perl-current-clean/lib/ExtUtils/MM_Unix.pm Mon Apr 8 10:51:10 2002
+++ perl-current/lib/ExtUtils/MM_Unix.pm Thu Apr 11 00:36:40 2002
@@ -13,11 +13,13 @@
use strict;
use vars qw($VERSION @ISA
$Is_Mac $Is_OS2 $Is_VMS $Is_Win32 $Is_Dos $Is_VOS
- $Verbose %pm %static $Xsubpp_Version);
+ $Verbose %pm %static $Xsubpp_Version
+ %Config_Override
+ );
use ExtUtils::MakeMaker qw($Verbose neatvalue);
-$VERSION = '1.20_01';
+$VERSION = '1.30_01';
require ExtUtils::MM_Any;
@ISA = qw(ExtUtils::MM_Any);
@@ -479,17 +481,23 @@
for $tmp (qw/
AR_STATIC_ARGS NAME DISTNAME NAME_SYM VERSION
- VERSION_SYM XS_VERSION INST_BIN INST_LIB
- INST_ARCHLIB INST_SCRIPT PREFIX INSTALLDIRS
- INSTALLPRIVLIB INSTALLARCHLIB INSTALLSITELIB
- INSTALLSITEARCH INSTALLBIN INSTALLSCRIPT PERL_LIB
- PERL_ARCHLIB SITELIBEXP SITEARCHEXP LIBPERL_A MYEXTLIB
+ VERSION_SYM XS_VERSION
+ INST_ARCHLIB INST_SCRIPT INST_BIN INST_LIB
+ INSTALLDIRS
+ PREFIX SITEPREFIX VENDORPREFIX
+ INSTALLPRIVLIB INSTALLSITELIB INSTALLVENDORLIB
+ INSTALLARCHLIB INSTALLSITEARCH INSTALLVENDORARCH
+ INSTALLBIN INSTALLSITEBIN INSTALLVENDORBIN INSTALLSCRIPT
+ PERL_LIB PERL_ARCHLIB
+ SITELIBEXP SITEARCHEXP
+ LIBPERL_A MYEXTLIB
FIRST_MAKEFILE MAKE_APERL_FILE PERLMAINCC PERL_SRC
PERL_INC PERL FULLPERL PERLRUN FULLPERLRUN PERLRUNINST
FULLPERLRUNINST ABSPERL ABSPERLRUN ABSPERLRUNINST
FULL_AR PERL_CORE NOOP NOECHO
- / ) {
+ / )
+ {
next unless defined $self->{$tmp};
# pathnames can have sharp signs in them; escape them so
@@ -521,7 +529,8 @@
for $tmp (qw/
FULLEXT BASEEXT PARENT_NAME DLBASE VERSION_FROM INC DEFINE OBJECT
LDFROM LINKTYPE PM_FILTER
- / ) {
+ / )
+ {
next unless defined $self->{$tmp};
push @m, "$tmp = $self->{$tmp}\n";
}
@@ -537,9 +546,12 @@
";
for $tmp (qw/
- INST_MAN1DIR INSTALLMAN1DIR MAN1EXT
- INST_MAN3DIR INSTALLMAN3DIR MAN3EXT
- /) {
+ INST_MAN1DIR MAN1EXT
+ INSTALLMAN1DIR INSTALLSITEMAN1DIR INSTALLVENDORMAN1DIR
+ INST_MAN3DIR MAN3EXT
+ INSTALLMAN3DIR INSTALLSITEMAN3DIR INSTALLVENDORMAN3DIR
+ /)
+ {
next unless defined $self->{$tmp};
push @m, "$tmp = $self->{$tmp}\n";
}
@@ -547,7 +559,8 @@
for $tmp (qw(
PERM_RW PERM_RWX
)
- ) {
+ )
+ {
my $method = lc($tmp);
# warn "self[$self] method[$method]";
push @m, "$tmp = ", $self->$method(), "\n";
@@ -1857,88 +1870,160 @@
}
}
- # we have to look at the relation between $Config{prefix} and the
- # requested values. We're going to set the $Config{prefix} part of
- # all the installation path variables to literally $(PREFIX), so
- # the user can still say make PREFIX=foo
- my($configure_prefix) = $Config{'prefix'};
- $configure_prefix = VMS::Filespec::unixify($configure_prefix) if $Is_VMS;
- $self->{PREFIX} ||= $configure_prefix;
-
-
- my($search_prefix, $replace_prefix);
- # If the prefix contains perl, Configure shapes the tree as follows:
- # perlprefix/lib/ INSTALLPRIVLIB
- # perlprefix/lib/pod/
- # perlprefix/lib/site_perl/ INSTALLSITELIB
- # perlprefix/bin/ INSTALLBIN
- # perlprefix/man/ INSTALLMAN1DIR
- # else
- # prefix/lib/perl5/ INSTALLPRIVLIB
- # prefix/lib/perl5/pod/
- # prefix/lib/perl5/site_perl/ INSTALLSITELIB
- # prefix/bin/ INSTALLBIN
- # prefix/lib/perl5/man/ INSTALLMAN1DIR
- #
- # The above results in various kinds of breakage on various
- # platforms, so we cope with it as follows: if prefix/lib/perl5
- # or prefix/lib/perl5/man exist, we'll replace those instead
- # of /prefix/{lib,man}
-
- $replace_prefix = '$(PREFIX)';
- for my $install_variable (qw/INSTALLBIN INSTALLSCRIPT/)
- {
- $self->prefixify($install_variable,$configure_prefix,$replace_prefix);
+ # There are no Config.pm defaults for these.
+ $Config_Override{installsiteman1dir} =
+ "$Config{siteprefixexp}/man/man\$(MAN1EXT)";
+ $Config_Override{installsiteman3dir} =
+ "$Config{siteprefixexp}/man/man\$(MAN3EXT)";
+ $Config_Override{installvendorman1dir} =
+ "$Config{vendorprefixexp}/man/man\$(MAN1EXT)";
+ $Config_Override{installvendorman3dir} =
+ "$Config{vendorprefixexp}/man/man\$(MAN3EXT)";
+
+ my $iprefix = $Config{installprefixexp} || '';
+ my $vprefix = $Config{vendorprefixexp} || $iprefix;
+ my $sprefix = $Config{siteprefixexp} || '';
+
+ my $u_prefix = $self->{PREFIX} || '';
+ my $u_sprefix = $self->{SITEPREFIX} || $u_prefix;
+ my $u_vprefix = $self->{VENDORPREFIX} || $u_prefix;
+
+ $self->{PREFIX} ||= $u_prefix || $iprefix;
+ $self->{SITEPREFIX} ||= $u_sprefix || $sprefix;
+ $self->{VENDORPREFIX} ||= $u_vprefix || $vprefix;
+
+ my $arch = $Config{archname};
+ my $version = $Config{version};
+
+ # default style
+ my $libstyle = 'lib/perl5';
+ my $manstyle = '';
+
+ if( $self->{LIBSTYLE} ) {
+ $libstyle = $self->{LIBSTYLE};
+ $manstyle = $self->{LIBSTYLE} eq 'lib/perl5' ? 'lib/perl5' : '';
+ }
+
+ my %bin_layouts =
+ (
+ bin => { s => $iprefix,
+ r => '$(PREFIX)',
+ d => 'bin' },
+ vendorbin => { s => $vprefix,
+ r => '$(VENDORPREFIX)',
+ d => 'bin' },
+ sitebin => { s => $sprefix,
+ r => '$(SITEPREFIX)',
+ d => 'bin' },
+ script => { s => $iprefix,
+ r => '$(PREFIX)',
+ d => 'bin' },
+ );
+
+ my %man_layouts =
+ (
+ man1dir => { s => $iprefix,
+ r => '$(PREFIX)',
+ d => 'man/man$(MAN1EXT)',
+ style => $manstyle, },
+ siteman1dir => { s => $sprefix,
+ r => '$(SITEPREFIX)',
+ d => 'man/man$(MAN1EXT)',
+ style => $manstyle, },
+ vendorman1dir => { s => $vprefix,
+ r => '$(VENDORPREFIX)',
+ d => 'man/man$(MAN1EXT)',
+ style => $manstyle, },
+
+ man3dir => { s => $iprefix,
+ r => '$(PREFIX)',
+ d => 'man/man$(MAN3EXT)',
+ style => $manstyle, },
+ siteman3dir => { s => $sprefix,
+ r => '$(SITEPREFIX)',
+ d => 'man/man$(MAN3EXT)',
+ style => $manstyle, },
+ vendorman3dir => { s => $vprefix,
+ r => '$(VENDORPREFIX)',
+ d => 'man/man$(MAN3EXT)',
+ style => $manstyle, },
+ );
+
+ my %lib_layouts =
+ (
+ privlib => { s => $iprefix,
+ r => '$(PREFIX)',
+ d => '',
+ style => $libstyle, },
+ vendorlib => { s => $vprefix,
+ r => '$(VENDORPREFIX)',
+ d => '',
+ style => $libstyle, },
+ sitelib => { s => $sprefix,
+ r => '$(SITEPREFIX)',
+ d => 'site_perl',
+ style => $libstyle, },
+
+ archlib => { s => $iprefix,
+ r => '$(PREFIX)',
+ d => "$version/$arch",
+ style => $libstyle },
+ vendorarch => { s => $vprefix,
+ r => '$(VENDORPREFIX)',
+ d => "$version/$arch",
+ style => $libstyle },
+ sitearch => { s => $sprefix,
+ r => '$(SITEPREFIX)',
+ d => "site_perl/$version/$arch",
+ style => $libstyle },
+ );
+
+
+ # Special case for LIB.
+ if( $self->{LIB} ) {
+ foreach my $var (keys %lib_layouts) {
+ my $Installvar = uc "install$var";
+
+ if( $var =~ /arch/ ) {
+ $self->{$Installvar} ||=
+ File::Spec->catdir($self->{LIB}, $Config{archname});
+ }
+ else {
+ $self->{$Installvar} ||= $self->{LIB};
+ }
+ }
}
- my $funkylibdir = File::Spec->catdir($configure_prefix,"lib","perl5");
- $funkylibdir = '' unless -d $funkylibdir;
- $search_prefix = $funkylibdir ||
- File::Spec->catdir($configure_prefix,"lib");
-
- if ($self->{LIB}) {
- $self->{INSTALLPRIVLIB} = $self->{INSTALLSITELIB} = $self->{LIB};
- $self->{INSTALLARCHLIB} = $self->{INSTALLSITEARCH} =
- File::Spec->catdir($self->{LIB},$Config{'archname'});
- }
- else {
- if (-d File::Spec->catdir($self->{PREFIX},"lib","perl5")) {
- $replace_prefix = File::Spec->catdir(qq[\$\(PREFIX\)],"lib",
- "perl5");
+
+ my %layouts = (%bin_layouts, %man_layouts, %lib_layouts);
+ while( my($var, $layout) = each(%layouts) ) {
+ my($s, $r, $d, $style) = @{$layout}{qw(s r d style)};
+
+ print STDERR "Prefixing $var\n" if $Verbose >= 2;
+
+ my $installvar = "install$var";
+ my $Installvar = uc $installvar;
+ next if $self->{$Installvar};
+
+ if( $r ) {
+ $d = "$style/$d" if $style;
+ $self->prefixify($installvar, $s, $r, $d);
}
else {
- $replace_prefix = File::Spec->catdir(qq[\$\(PREFIX\)],"lib");
- }
- for my $install_variable (qw/
- INSTALLPRIVLIB
- INSTALLARCHLIB
- INSTALLSITELIB
- INSTALLSITEARCH
- /)
- {
- $self->prefixify($install_variable,$search_prefix,$replace_prefix);
+ $self->{$Installvar} = $Config_Override{$installvar} ||
+ $Config{$installvar};
}
+
+ print STDERR " $Installvar == $self->{$Installvar}\n"
+ if $Verbose >= 2;
}
- my $funkymandir = File::Spec->catdir($configure_prefix,"lib","perl5","man");
- $funkymandir = '' unless -d $funkymandir;
- $search_prefix = $funkymandir || File::Spec->catdir($configure_prefix,"man");
- if (-d File::Spec->catdir($self->{PREFIX},"lib","perl5", "man")) {
- $replace_prefix = File::Spec->catdir(qq[\$\(PREFIX\)],"lib", "perl5", "man");
- }
- else {
- $replace_prefix = File::Spec->catdir(qq[\$\(PREFIX\)],"man");
- }
- for my $install_variable (qw/
- INSTALLMAN1DIR
- INSTALLMAN3DIR
- /)
- {
- $self->prefixify($install_variable,$search_prefix,$replace_prefix);
- }
+
+ $self->{PREFIX} ||= $iprefix;
return 1;
}
+
=item init_PERL
$mm->init_PERL;
@@ -2059,6 +2144,8 @@
install_site :: all pure_site_install doc_site_install
+install_vendor :: all pure_vendor_install doc_vendor_install
+
pure_install :: pure_$(INSTALLDIRS)_install
doc_install :: doc_$(INSTALLDIRS)_install
@@ -2090,13 +2177,22 @@
write
}.File::Spec->catfile('$(INSTALLSITEARCH)','auto','$(FULLEXT)','.packlist').q{ \
$(INST_LIB) $(INSTALLSITELIB) \
$(INST_ARCHLIB) $(INSTALLSITEARCH) \
- $(INST_BIN) $(INSTALLBIN) \
+ $(INST_BIN) $(INSTALLSITEBIN) \
$(INST_SCRIPT) $(INSTALLSCRIPT) \
- $(INST_MAN1DIR) $(INSTALLMAN1DIR) \
- $(INST_MAN3DIR) $(INSTALLMAN3DIR)
+ $(INST_MAN1DIR) $(INSTALLSITEMAN1DIR) \
+ $(INST_MAN3DIR) $(INSTALLSITEMAN3DIR)
}.$self->{NOECHO}.q{$(WARN_IF_OLD_PACKLIST) \
}.File::Spec->catdir('$(PERL_ARCHLIB)','auto','$(FULLEXT)').q{
+pure_vendor_install ::
+ }.$self->{NOECHO}.q{$(MOD_INSTALL) \
+ $(INST_LIB) $(INSTALLVENDORLIB) \
+ $(INST_ARCHLIB) $(INSTALLVENDORARCH) \
+ $(INST_BIN) $(INSTALLVENDORBIN) \
+ $(INST_SCRIPT) $(INSTALLSCRIPT) \
+ $(INST_MAN1DIR) $(INSTALLVENDORMAN1DIR) \
+ $(INST_MAN3DIR) $(INSTALLVENDORMAN3DIR)
+
doc_perl_install ::
-}.$self->{NOECHO}.q{$(MKPATH) $(INSTALLARCHLIB)
-}.$self->{NOECHO}.q{$(DOC_INSTALL) \
@@ -2115,7 +2211,9 @@
LINKTYPE "$(LINKTYPE)" \
VERSION "$(VERSION)" \
EXE_FILES "$(EXE_FILES)" \
- >> }.File::Spec->catfile('$(INSTALLARCHLIB)','perllocal.pod').q{
+ >> }.File::Spec->catfile('$(INSTALLSITEARCH)','perllocal.pod').q{
+
+doc_vendor_install ::
};
@@ -3076,23 +3174,24 @@
sub prefixify {
my($self,$var,$sprefix,$rprefix,$default) = @_;
- my $path = $self->{uc $var} || $Config{lc $var};
+ my $path = $self->{uc $var} ||
+ $Config_Override{lc $var} || $Config{lc $var};
- print STDERR "Prefixing $var=$path\n" if $Verbose >= 2;
- print STDERR " from $sprefix to $rprefix\n"
+ print STDERR " prefixify $var=$path\n" if $Verbose >= 2;
+ print STDERR " from $sprefix to $rprefix\n"
if $Verbose >= 2;
$path = VMS::Filespec::unixpath($path) if $Is_VMS;
unless( $path =~ s,^\Q$sprefix\E(?=/|\z),$rprefix,s ) {
- print STDERR " cannot prefix, using default.\n" if $Verbose >= 2;
- print STDERR " no default!\n" if $Verbose >= 2;
+ print STDERR " cannot prefix, using default.\n" if $Verbose >= 2;
+ print STDERR " no default!\n" if !$default && $Verbose >= 2;
$path = File::Spec->catdir($rprefix, $default) if $default;
}
- print " now $path\n" if $Verbose >= 2;
+ print " now $path\n" if $Verbose >= 2;
return $self->{uc $var} = $path;
}
--- perl-current-clean/lib/ExtUtils/MM_VMS.pm Sat Apr 6 13:02:44 2002
+++ perl-current/lib/ExtUtils/MM_VMS.pm Thu Apr 11 00:36:40 2002
@@ -422,11 +422,14 @@
foreach $macro ( qw [
- INST_BIN INST_SCRIPT INST_LIB INST_ARCHLIB INSTALLPRIVLIB
- INSTALLARCHLIB INSTALLSCRIPT INSTALLBIN PERL_LIB PERL_ARCHLIB
- PERL_INC PERL_SRC FULLEXT INST_MAN1DIR INSTALLMAN1DIR
- INST_MAN3DIR INSTALLMAN3DIR INSTALLSITELIB INSTALLSITEARCH
- SITELIBEXP SITEARCHEXP ] ) {
+ INST_BIN INST_SCRIPT INST_LIB INST_ARCHLIB
+ INSTALLPRIVLIB INSTALLSITELIB INSTALLVENDORLIB
+ INSTALLARCHLIB INSTALLSITEARCH INSTALLVENDORARCH
+ INSTALLBIN INSTALLSITEBIN INSTALLVENDORBIN INSTALLSCRIPT
+ INSTALLMAN1DIR INSTALLSITEMAN1DIR INSTALLVENDORMAN1DIR
+ INSTALLMAN3DIR INSTALLSITEMAN3DIR INSTALLVENDORMAN3DIR
+ PERL_LIB PERL_ARCHLIB
+ PERL_INC PERL_SRC FULLEXT ] ) {
next unless defined $self->{$macro};
$self->{$macro} = $self->fixpath($self->{$macro},1);
}
@@ -442,15 +445,21 @@
}
foreach $macro (qw/
- AR_STATIC_ARGS NAME DISTNAME NAME_SYM VERSION VERSION_SYM XS_VERSION
- INST_BIN INST_LIB INST_ARCHLIB INST_SCRIPT PREFIX
- INSTALLDIRS INSTALLPRIVLIB INSTALLARCHLIB INSTALLSITELIB
- INSTALLSITEARCH INSTALLBIN INSTALLSCRIPT PERL_LIB
- PERL_ARCHLIB SITELIBEXP SITEARCHEXP LIBPERL_A MYEXTLIB
+ AR_STATIC_ARGS NAME DISTNAME NAME_SYM VERSION VERSION_SYM
+ XS_VERSION
+ INST_BIN INST_LIB INST_ARCHLIB INST_SCRIPT
+ INSTALLDIRS
+ PREFIX SITEPREFIX VENDORPREFIX
+ INSTALLPRIVLIB INSTALLSITELIB INSTALLVENDORLIB
+ INSTALLARCHLIB INSTALLSITEARCH INSTALLVENDORARCH
+ INSTALLBIN INSTALLSITEBIN INSTALLVENDORBIN INSTALLSCRIPT
+ PERL_LIB PERL_ARCHLIB
+ SITELIBEXP SITEARCHEXP
+ LIBPERL_A MYEXTLIB
FIRST_MAKEFILE MAKE_APERL_FILE PERLMAINCC PERL_SRC PERL_VMS
PERL_INC PERL FULLPERL PERLRUN FULLPERLRUN PERLRUNINST
- FULLPERLRUNINST ABSPERL ABSPERLRUN ABSPERLRUNINST
- PERL_CORE NOECHO NOOP
+ FULLPERLRUNINST ABSPERL ABSPERLRUN ABSPERLRUNINST
+ PERL_CORE NOECHO NOOP
/ ) {
next unless defined $self->{$macro};
push @m, "$macro = $self->{$macro}\n";
@@ -520,7 +529,10 @@
';
for my $tmp (qw/
- INST_MAN1DIR INSTALLMAN1DIR MAN1EXT INST_MAN3DIR INSTALLMAN3DIR MAN3EXT
+ INST_MAN1DIR MAN1EXT
+ INSTALLMAN1DIR INSTALLSITEMAN1DIR INSTALLVENDORMAN1DIR
+ INST_MAN3DIR MAN3EXT
+ INSTALLMAN3DIR INSTALLSITEMAN3DIR INSTALLVENDORMAN3DIR
/) {
next unless defined $self->{$tmp};
push @m, "$tmp = $self->{$tmp}\n";
@@ -669,8 +681,6 @@
CCFLAGS = $self->{CCFLAGS}
OPTIMIZE = $self->{OPTIMIZE}
PERLTYPE = $self->{PERLTYPE}
-SPLIT =
-LARGE =
};
}
@@ -1676,14 +1686,24 @@
$(NOECHO) $(PERLRUN) "-MFile::Spec" -e "print 'write
'.File::Spec->catfile('$(INSTALLSITEARCH)','auto','$(FULLEXT)','.packlist').' '"
>>.MM_tmp
$(NOECHO) $(PERL) -e "print '$(INST_LIB) $(INSTALLSITELIB) '" >>.MM_tmp
$(NOECHO) $(PERL) -e "print '$(INST_ARCHLIB) $(INSTALLSITEARCH) '" >>.MM_tmp
- $(NOECHO) $(PERL) -e "print '$(INST_BIN) $(INSTALLBIN) '" >>.MM_tmp
+ $(NOECHO) $(PERL) -e "print '$(INST_BIN) $(INSTALLSITEBIN) '" >>.MM_tmp
$(NOECHO) $(PERL) -e "print '$(INST_SCRIPT) $(INSTALLSCRIPT) '" >>.MM_tmp
- $(NOECHO) $(PERL) -e "print '$(INST_MAN1DIR) $(INSTALLMAN1DIR) '" >>.MM_tmp
- $(NOECHO) $(PERL) -e "print '$(INST_MAN3DIR) $(INSTALLMAN3DIR) '" >>.MM_tmp
+ $(NOECHO) $(PERL) -e "print '$(INST_MAN1DIR) $(INSTALLSITEMAN1DIR) '" >>.MM_tmp
+ $(NOECHO) $(PERL) -e "print '$(INST_MAN3DIR) $(INSTALLSITEMAN3DIR) '" >>.MM_tmp
$(MOD_INSTALL) <.MM_tmp
$(NOECHO) Delete/NoLog/NoConfirm .MM_tmp;
$(NOECHO) $(WARN_IF_OLD_PACKLIST)
].File::Spec->catfile($self->{PERL_ARCHLIB},'auto',$self->{FULLEXT},'.packlist').q[
+pure_vendor_install ::
+ $(NOECHO) $(PERL) -e "print '$(INST_LIB) $(INSTALLVENDORLIB) '" >>.MM_tmp
+ $(NOECHO) $(PERL) -e "print '$(INST_ARCHLIB) $(INSTALLVENDORARCH) '" >>.MM_tmp
+ $(NOECHO) $(PERL) -e "print '$(INST_BIN) $(INSTALLVENDORBIN) '" >>.MM_tmp
+ $(NOECHO) $(PERL) -e "print '$(INST_SCRIPT) $(INSTALLSCRIPT) '" >>.MM_tmp
+ $(NOECHO) $(PERL) -e "print '$(INST_MAN1DIR) $(INSTALLVENDORMAN1DIR) '"
+>>.MM_tmp
+ $(NOECHO) $(PERL) -e "print '$(INST_MAN3DIR) $(INSTALLVENDORMAN3DIR) '"
+>>.MM_tmp
+ $(MOD_INSTALL) <.MM_tmp
+ $(NOECHO) Delete/NoLog/NoConfirm .MM_tmp;
+
# Ditto
doc_perl_install ::
$(NOECHO) $(PERL) -e "print 'Module $(NAME)|installed
into|$(INSTALLPRIVLIB)|'" >.MM_tmp
@@ -1707,6 +1727,8 @@
$(NOECHO) $(PERL) -e "print q[{print qq[=item *\\n\\nC<$key:
$val>\\n\\n];}print qq[=back\\n\\n];]" >>.MM2_tmp
$(NOECHO) $(PERL) .MM2_tmp <.MM_tmp
>>%.File::Spec->catfile($self->{INSTALLARCHLIB},'perllocal.pod').q[
$(NOECHO) Delete/NoLog/NoConfirm .MM_tmp;,.MM2_tmp;
+
+doc_vendor_install ::
];
--- perl-current-clean/lib/ExtUtils/MM_Win32.pm Wed Apr 10 11:24:45 2002
+++ perl-current/lib/ExtUtils/MM_Win32.pm Thu Apr 11 00:36:40 2002
@@ -182,13 +182,17 @@
my(@m,$tmp);
for $tmp (qw/
-
AR_STATIC_ARGS NAME DISTNAME NAME_SYM VERSION
- VERSION_SYM XS_VERSION INST_BIN INST_LIB
- INST_ARCHLIB INST_SCRIPT PREFIX INSTALLDIRS
- INSTALLPRIVLIB INSTALLARCHLIB INSTALLSITELIB
- INSTALLSITEARCH INSTALLBIN INSTALLSCRIPT PERL_LIB
- PERL_ARCHLIB SITELIBEXP SITEARCHEXP LIBPERL_A MYEXTLIB
+ VERSION_SYM XS_VERSION
+ INST_BIN INST_LIB INST_ARCHLIB INST_SCRIPT
+ INSTALLDIRS
+ PREFIX SITEPREFIX VENDORPREFIX
+ INSTALLPRIVLIB INSTALLSITELIB INSTALLVENDORLIB
+ INSTALLARCHLIB INSTALLSITEARCH INSTALLVENDORARCH
+ INSTALLBIN INSTALLSITEBIN INSTALLVENDORBIN INSTALLSCRIPT
+ PERL_LIB PERL_ARCHLIB
+ SITELIBEXP SITEARCHEXP
+ LIBPERL_A MYEXTLIB
FIRST_MAKEFILE MAKE_APERL_FILE PERLMAINCC PERL_SRC
PERL_INC PERL FULLPERL PERLRUN FULLPERLRUN PERLRUNINST
FULLPERLRUNINST ABSPERL ABSPERLRUN ABSPERLRUNINST
@@ -237,8 +241,10 @@
";
for $tmp (qw/
- INST_MAN1DIR INSTALLMAN1DIR MAN1EXT
- INST_MAN3DIR INSTALLMAN3DIR MAN3EXT
+ INST_MAN1DIR MAN1EXT
+ INSTALLMAN1DIR INSTALLSITEMAN1DIR INSTALLVENDORMAN1DIR
+ INST_MAN3DIR MAN3EXT
+ INSTALLMAN3DIR INSTALLSITEMAN3DIR INSTALLVENDORMAN3DIR
/) {
next unless defined $self->{$tmp};
push @m, "$tmp = $self->{$tmp}\n";
--- perl-current-clean/lib/ExtUtils/MakeMaker.pm Sat Apr 6 13:02:44 2002
+++ perl-current/lib/ExtUtils/MakeMaker.pm Thu Apr 11 00:36:40 2002
@@ -2,10 +2,10 @@
package ExtUtils::MakeMaker;
-$VERSION = "5.55_02";
+$VERSION = "5.90_01";
$Version_OK = "5.49"; # Makefiles older than $Version_OK will die
# (Will be checked from MakeMaker version 4.13 onwards)
-($Revision = substr(q$Revision: 1.33 $, 10)) =~ s/\s+$//;
+($Revision = substr(q$Revision: 1.37 $, 10)) =~ s/\s+$//;
require Exporter;
use Config;
@@ -117,19 +117,22 @@
EXCLUDE_EXT EXE_FILES FIRST_MAKEFILE
FULLPERL FULLPERLRUN FULLPERLRUNINST
FUNCLIST H IMPORTS
- INC INCLUDE_EXT INSTALLARCHLIB INSTALLBIN INSTALLDIRS
- INSTALLMAN1DIR
- INSTALLMAN3DIR INSTALLPRIVLIB INSTALLSCRIPT INSTALLSITEARCH
- INSTALLSITELIB INST_ARCHLIB INST_BIN INST_LIB
- INST_MAN1DIR INST_MAN3DIR INST_SCRIPT LDFROM LIB LIBPERL_A LIBS
+ INST_ARCHLIB INST_SCRIPT INST_BIN INST_LIB
+ INSTALLDIRS
+ PREFIX SITEPREFIX VENDORPREFIX
+ INSTALLPRIVLIB INSTALLSITELIB INSTALLVENDORLIB
+ INSTALLARCHLIB INSTALLSITEARCH INSTALLVENDORARCH
+ INSTALLBIN INSTALLSITEBIN INSTALLVENDORBIN INSTALLSCRIPT
+ PERL_LIB PERL_ARCHLIB
+ SITELIBEXP SITEARCHEXP
+ INC INCLUDE_EXT LDFROM LIB LIBPERL_A LIBS
LINKTYPE MAKEAPERL MAKEFILE MAN1PODS MAN3PODS MAP_TARGET MYEXTLIB
PERL_MALLOC_OK
NAME NEEDS_LINKING NOECHO NORECURS NO_VC OBJECT OPTIMIZE PERL PERLMAINCC
- PERLRUN PERLRUNINST PERL_ARCHLIB PERL_CORE
- PERL_LIB PERL_SRC PERM_RW PERM_RWX
+ PERLRUN PERLRUNINST PERL_CORE
+ PERL_SRC PERM_RW PERM_RWX
PL_FILES PM PM_FILTER PMLIBDIRS POLLUTE PPM_INSTALL_EXEC
- PPM_INSTALL_SCRIPT PREFIX
- PREREQ_FATAL PREREQ_PM PREREQ_PRINT PRINT_PREREQ
+ PPM_INSTALL_SCRIPT PREREQ_FATAL PREREQ_PM PREREQ_PRINT PRINT_PREREQ
SKIP TYPEMAPS VERSION VERSION_FROM XS XSOPT XSPROTOARG
XS_VERSION clean depend dist dynamic_lib linkext macro realclean
tool_autosplit
@@ -915,14 +918,15 @@
INSTALLDIRS according to the following table:
INSTALLDIRS set to
- perl site
+ perl site vendor
- INST_ARCHLIB INSTALLARCHLIB INSTALLSITEARCH
- INST_LIB INSTALLPRIVLIB INSTALLSITELIB
- INST_BIN INSTALLBIN
- INST_SCRIPT INSTALLSCRIPT
- INST_MAN1DIR INSTALLMAN1DIR
- INST_MAN3DIR INSTALLMAN3DIR
+ PREFIX SITEPREFIX VENDORPREFIX
+ INST_ARCHLIB INSTALLARCHLIB INSTALLSITEARCH INSTALLVENDORARCH
+ INST_LIB INSTALLPRIVLIB INSTALLSITELIB INSTALLVENDORLIB
+ INST_BIN INSTALLBIN INSTALLSITEBIN INSTALLVENDORBIN
+ INST_SCRIPT INSTALLSCRIPT INSTALLSCRIPT INSTALLSCRIPT
+ INST_MAN1DIR INSTALLMAN1DIR INSTALLSITEMAN1DIR INSTALLVENDORMAN1DIR
+ INST_MAN3DIR INSTALLMAN3DIR INSTALLSITEMAN3DIR INSTALLVENDORMAN3DIR
The INSTALL... macros in turn default to their %Config
($Config{installprivlib}, $Config{installarchlib}, etc.) counterparts.
@@ -1306,34 +1310,30 @@
=item INSTALLBIN
-Directory to install binary files (e.g. tkperl) into.
+Directory to install binary files (e.g. tkperl) into if
+INSTALLDIRS=perl.
=item INSTALLDIRS
-Determines which of the two sets of installation directories to
-choose: installprivlib and installarchlib versus installsitelib and
-installsitearch. The first pair is chosen with INSTALLDIRS=perl, the
-second with INSTALLDIRS=site. Default is site.
+Determines which of the sets of installation directories to choose:
+perl, site or vendor. Defaults to site.
=item INSTALLMAN1DIR
-This directory gets the man pages at 'make install' time. Defaults to
-$Config{installman1dir}.
-
-If set to 'none', no man 1 pages will be installed.
-
=item INSTALLMAN3DIR
-This directory gets the man pages at 'make install' time. Defaults to
-$Config{installman3dir}.
+These directories get the man pages at 'make install' time if
+INSTALLDIRS=perl. Defaults to $Config{installman*dir}.
-If set to 'none', no man 3 pages will be installed.
+If set to 'none', no man pages will be installed.
=item INSTALLPRIVLIB
Used by 'make install', which copies files from INST_LIB to this
directory if INSTALLDIRS is set to perl.
+Defaults to $Config{installprivlib}.
+
=item INSTALLSCRIPT
Used by 'make install' which copies files from INST_SCRIPT to this
@@ -1344,11 +1344,50 @@
Used by 'make install', which copies files from INST_ARCHLIB to this
directory if INSTALLDIRS is set to site (default).
+=item INSTALLSITEBIN
+
+Used by 'make install', which copies files from INST_BIN to this
+directory if INSTALLDIRS is set to site (default).
+
=item INSTALLSITELIB
Used by 'make install', which copies files from INST_LIB to this
directory if INSTALLDIRS is set to site (default).
+=item INSTALLSITEMAN1DIR
+
+=item INSTALLSITEMAN3DIR
+
+These directories get the man pages at 'make install' time if
+INSTALLDIRS=site (default). Defaults to
+$(SITEPREFIX)/man/man$(MAN*EXT).
+
+If set to 'none', no man pages will be installed.
+
+=item INSTALLVENDORARCH
+
+Used by 'make install', which copies files from INST_ARCHLIB to this
+directory if INSTALLDIRS is set to vendor.
+
+=item INSTALLVENDORBIN
+
+Used by 'make install', which copies files from INST_BIN to this
+directory if INSTALLDIRS is set to vendor.
+
+=item INSTALLVENDORLIB
+
+Used by 'make install', which copies files from INST_LIB to this
+directory if INSTALLDIRS is set to vendor.
+
+=item INSTALLVENDORMAN1DIR
+
+=item INSTALLVENDORMAN3DIR
+
+These directories get the man pages at 'make install' time if
+INSTALLDIRS=vendor. Defaults to $(VENDORPREFIX)/man/man$(MAN*EXT).
+
+If set to 'none', no man pages will be installed.
+
=item INST_ARCHLIB
Same as INST_LIB for architecture dependent files.
@@ -1676,6 +1715,8 @@
If you specify LIB or any INSTALL* variables they will not be effected
by the PREFIX.
+Defaults to $Config{installprefixexp}.
+
=item PREREQ_PM
Hashref: Names of modules that need to be available to run this
@@ -1714,6 +1755,12 @@
perl(A::B)>=Vers1 perl(C::D)>=Vers2 ...
+=item SITEPREFIX
+
+Like PREFIX, but only for the site install locations.
+
+Defaults to PREFIX (if set) or $Config{siteprefixexp}
+
=item SKIP
Arrayref. E.g. [qw(name1 name2)] skip (do not write) sections of the
@@ -1730,6 +1777,12 @@
precedence, even if it isn't listed in TYPEMAPS. The default system
typemap has lowest precedence.
+=item VENDORPREFIX
+
+Like PREFIX, but only for the vendor install locations.
+
+Defaults to PREFIX (if set) or $Config{vendorprefixexp}
+
=item VERSION
Your version number for distributing the package. This defaults to
@@ -1751,7 +1804,7 @@
$VERSION = '1.00';
*VERSION = \'1.01';
- ( $VERSION ) = '$Revision: 1.33 $ ' =~ /\$Revision:\s+([^\s]+)/;
+ ( $VERSION ) = '$Revision: 1.37 $ ' =~ /\$Revision:\s+([^\s]+)/;
$FOO::VERSION = '1.10';
*FOO::VERSION = \'1.11';
our $VERSION = 1.2.3; # new for perl5.6.0
--- perl-current-clean/lib/ExtUtils/t/INST.t Sat Apr 6 13:02:44 2002
+++ perl-current/lib/ExtUtils/t/INST.t Thu Apr 11 00:37:19 2002
@@ -1,7 +1,7 @@
#!/usr/bin/perl -w
# Wherein we ensure the INST_* and INSTALL* variables are set correctly
-# according to the values of PREFIX, SITEPREFIX, INSTALLDIRS, etc...
+# in a default Makefile.PL run
#
# Essentially, this test is a Makefile.PL.
--- perl-current-clean/lib/ExtUtils/t/MM_Cygwin.t Sat Apr 6 13:02:44 2002
+++ perl-current/lib/ExtUtils/t/MM_Cygwin.t Thu Apr 11 00:37:19 2002
@@ -15,7 +15,7 @@
BEGIN {
if ($^O =~ /cygwin/i) {
- plan tests => 15;
+ plan tests => 13;
} else {
plan skip_all => "This is not cygwin";
}
@@ -57,15 +57,11 @@
$args->cflags(<<FLAGS);
OPTIMIZE = opt
PERLTYPE =pt
-LARGE= lg
-SPLIT=split
FLAGS
}
like( $args->{CFLAGS}, qr/OPTIMIZE = opt/, '... should set OPTIMIZE' );
like( $args->{CFLAGS}, qr/PERLTYPE = pt/, '... should set PERLTYPE' );
-like( $args->{CFLAGS}, qr/LARGE = lg/, '... should set LARGE' );
-like( $args->{CFLAGS}, qr/SPLIT = split/, '... should set SPLIT' );
like( $args->{CFLAGS}, qr/CCFLAGS = $ccflags/, '... should set CCFLAGS' );
# test manifypods
--- perl-current-clean/lib/ExtUtils/t/MM_Unix.t Fri Mar 29 10:50:07 2002
+++ perl-current/lib/ExtUtils/t/MM_Unix.t Thu Apr 11 01:09:58 2002
@@ -18,7 +18,7 @@
plan skip_all => 'Non-Unix platform';
}
else {
- plan tests => 107;
+ plan tests => 108;
}
}
@@ -142,7 +142,7 @@
###############################################################################
# has_link_code tests
-my $t = {}; bless $t,$class;
+my $t = bless { NAME => "Foo" }, $class;
$t->{HAS_LINK_CODE} = 1;
is ($t->has_link_code(),1,'has_link_code'); is ($t->{HAS_LINK_CODE},1);
@@ -220,4 +220,15 @@
is ($t->$_(),'',"$_() is empty string on Unix");
}
+
+{
+ $t->{CCFLAGS} = '-DMY_THING';
+ $t->{LIBPERL_A} = 'libperl.a';
+ $t->{LIB_EXT} = '.a';
+ local $t->{NEEDS_LINKING} = 1;
+ $t->cflags();
+
+ # Brief bug where CCFLAGS was being blown away
+ is( $t->{CCFLAGS}, '-DMY_THING', 'cflags retains CCFLAGS' );
+}
--- perl-current-clean/lib/ExtUtils/t/prefixify.t Sat Apr 6 13:02:44 2002
+++ perl-current/lib/ExtUtils/t/prefixify.t Thu Apr 11 00:37:19 2002
@@ -19,6 +19,6 @@
my $default = File::Spec->catdir(qw(this that));
$mm->prefixify('installbin', 'wibble', 'something', $default);
-
+
is( $mm->{INSTALLBIN}, File::Spec->catdir('something', $default),
'prefixify w/defaults');
--- /dev/null Fri Mar 15 19:43:09 2002
+++ perl-current/lib/ExtUtils/t/INST_PREFIX.t Thu Apr 11 00:37:19 2002
@@ -0,0 +1,99 @@
+#!/usr/bin/perl -w
+
+# Wherein we ensure the INST_* and INSTALL* variables are set correctly
+# when various PREFIX variables are set.
+#
+# Essentially, this test is a Makefile.PL.
+
+BEGIN {
+ if( $ENV{PERL_CORE} ) {
+ chdir 't' if -d 't';
+ @INC = ('../lib', 'lib');
+ }
+ else {
+ unshift @INC, 't/lib';
+ }
+}
+
+use strict;
+use Test::More tests => 24;
+use MakeMaker::Test::Utils;
+use ExtUtils::MakeMaker;
+use File::Spec;
+use TieOut;
+use Config;
+
+$ENV{PERL_CORE} ? chdir '../lib/ExtUtils/t' : chdir 't';
+
+perl_lib;
+
+$| = 1;
+
+my $Makefile = makefile_name;
+my $Curdir = File::Spec->curdir;
+my $Updir = File::Spec->updir;
+
+ok( chdir 'Big-Fat-Dummy', "chdir'd to Big-Fat-Dummy" ) ||
+ diag("chdir failed: $!");
+
+my $stdout = tie *STDOUT, 'TieOut' or die;
+my $mm = WriteMakefile(
+ NAME => 'Big::Fat::Dummy',
+ VERSION_FROM => 'lib/Big/Fat/Dummy.pm',
+ PREREQ_PM => {},
+ PERL_CORE => $ENV{PERL_CORE},
+ PREFIX => 'foo/bar',
+);
+like( $stdout->read, qr{
+ Writing\ $Makefile\ for\ Big::Fat::Liar\n
+ Big::Fat::Liar's\ vars\n
+ INST_LIB\ =\ \S+\n
+ INST_ARCHLIB\ =\ \S+\n
+ Writing\ $Makefile\ for\ Big::Fat::Dummy\n
+}x );
+undef $stdout;
+untie *STDOUT;
+
+isa_ok( $mm, 'ExtUtils::MakeMaker' );
+
+is( $mm->{NAME}, 'Big::Fat::Dummy', 'NAME' );
+is( $mm->{VERSION}, 0.01, 'VERSION' );
+
+is( $mm->{PREFIX}, 'foo/bar', 'PREFIX' );
+
+is( !!$mm->{PERL_CORE}, !!$ENV{PERL_CORE}, 'PERL_CORE' );
+
+my($perl_src, $mm_perl_src);
+if( $ENV{PERL_CORE} ) {
+ $perl_src = File::Spec->catdir($Updir, $Updir, $Updir, $Updir);
+ $perl_src = File::Spec->canonpath($perl_src);
+ $mm_perl_src = File::Spec->canonpath($mm->{PERL_SRC});
+}
+else {
+ $mm_perl_src = $mm->{PERL_SRC};
+}
+
+is( $mm_perl_src, $perl_src, 'PERL_SRC' );
+
+
+# Every INSTALL* variable must start with some PREFIX.
+my @Perl_Install = qw(archlib privlib bin script
+ man1dir man3dir);
+my @Site_Install = qw(sitearch sitelib sitebin
+ siteman1dir siteman3dir);
+my @Vend_Install = qw(vendorarch vendorlib vendorbin
+ vendorman1dir vendorman3dir);
+
+foreach my $var (@Perl_Install) {
+ like( $mm->{uc "install$var"}, qr/^\$\(PREFIX\)/, "PREFIX + $var" );
+}
+
+foreach my $var (@Site_Install) {
+ like( $mm->{uc "install$var"}, qr/^\$\(SITEPREFIX\)/,
+ "SITEPREFIX + $var" );
+}
+
+foreach my $var (@Vend_Install) {
+ like( $mm->{uc "install$var"}, qr/^\$\(VENDORPREFIX\)/,
+ "VENDORPREFIX + $var" );
+}
--- perl-current-clean/MANIFEST Tue Apr 9 20:43:42 2002
+++ perl-current/MANIFEST Thu Apr 11 00:41:50 2002
@@ -1016,6 +1016,7 @@
lib/ExtUtils/t/hints.t See if hint files are honored.
lib/ExtUtils/t/Installed.t See if ExtUtils::Installed works
lib/ExtUtils/t/INST.t Check MakeMaker INST_* macros
+lib/ExtUtils/t/INST_PREFIX.t See if MakeMaker can apply PREFIXs
lib/ExtUtils/t/Manifest.t See if ExtUtils::Manifest works
lib/ExtUtils/t/Mkbootstrap.t See if ExtUtils::Mkbootstrap works
lib/ExtUtils/t/MM_BeOS.t See if ExtUtils::MM_BeOS works
--
Michael G. Schwern <[EMAIL PROTECTED]> http://www.pobox.com/~schwern/
Perl Quality Assurance <[EMAIL PROTECTED]> Kwalitee Is Job One
At the doctor's office
Winter wheat and water mix
I walk funny now.
-- ignatz