use DirHandle;
use strict;
use vars qw($VERSION @ISA
- $Is_Mac $Is_OS2 $Is_VMS $Is_Win32 $Is_Dos $Is_VOS $Is_NetWare
+ $Is_Mac $Is_OS2 $Is_VMS $Is_Win32 $Is_Dos $Is_VOS
$Verbose %pm %static $Xsubpp_Version
%Config_Override
);
use ExtUtils::MakeMaker qw($Verbose neatvalue);
-$VERSION = '1.31_01';
+$VERSION = '1.33';
require ExtUtils::MM_Any;
@ISA = qw(ExtUtils::MM_Any);
$Is_OS2 = $^O eq 'os2';
$Is_Mac = $^O eq 'MacOS';
-$Is_Win32 = $^O eq 'MSWin32' || $Config{'osname'} eq 'NetWare';
+$Is_Win32 = $^O eq 'MSWin32' || $Config{osname} eq 'NetWare';
$Is_Dos = $^O eq 'dos';
$Is_VOS = $^O eq 'vos';
$Is_VMS = $^O eq 'VMS';
push @m, q{
disttest : distdir
cd $(DISTVNAME) && $(ABSPERLRUN) Makefile.PL
- cd $(DISTVNAME) && $(MAKE)
- cd $(DISTVNAME) && $(MAKE) test
+ cd $(DISTVNAME) && $(MAKE) $(PASTHRU)
+ cd $(DISTVNAME) && $(MAKE) test $(PASTHRU)
};
join "", @m;
}
push(@m,' $(RM_F) $@
');
- my $libs = $self->{LDLOADLIBS} || '';
+ my $libs = '$(LDLOADLIBS)';
if ($^O eq 'netbsd') {
# Use nothing on static perl platforms, and to the flags needed
# or -R to add paths to the run-time library search path.
if ($Config{'useshrplib'}) {
if ($Config{'lddlflags'} =~ /-Wl,-R/) {
- $libs = '-L$(PERL_INC) -Wl,-R$(INSTALLARCHLIB)/CORE -lperl';
+ $libs .= ' -L$(PERL_INC) -Wl,-R$(INSTALLARCHLIB)/CORE -lperl';
} elsif ($Config{'lddlflags'} =~ /-R/) {
- $libs = '-L$(PERL_INC) -R$(INSTALLARCHLIB)/CORE -lperl';
+ $libs .= ' -L$(PERL_INC) -R$(INSTALLARCHLIB)/CORE -lperl';
}
}
}
# (which includes PARENT_NAME). This is a subtle distinction but one
# that's important for nested modules.
- $self->{PMLIBDIRS} = ['lib', $self->{BASEEXT}]
+ if ($Is_VMS) {
+ # avoid logical name collisions by adding directory syntax
+ $self->{PMLIBDIRS} = ['./lib', './' . $self->{BASEEXT}]
unless $self->{PMLIBDIRS};
+ }
+ else {
+ $self->{PMLIBDIRS} = ['lib', $self->{BASEEXT}]
+ unless $self->{PMLIBDIRS};
+ }
#only existing directories that aren't in $dir are allowed
if ($self->{PERL_SRC}){
$self->{PERL_LIB} ||= File::Spec->catdir("$self->{PERL_SRC}","lib");
- $self->{PERL_ARCHLIB} = $self->{PERL_LIB};
- $self->{PERL_INC} = ($Is_Win32) ? File::Spec->catdir($self->{PERL_LIB},"CORE") : $self->{PERL_SRC};
+
+ if (defined $Cross::platform) {
+ $self->{PERL_ARCHLIB} =
+ File::Spec->catdir("$self->{PERL_SRC}","xlib",$Cross::platform);
+ $self->{PERL_INC} =
+ File::Spec->catdir("$self->{PERL_SRC}","xlib",$Cross::platform,
+ $Is_Win32?("CORE"):());
+ }
+ else {
+ $self->{PERL_ARCHLIB} = $self->{PERL_LIB};
+ $self->{PERL_INC} = ($Is_Win32) ?
+ File::Spec->catdir($self->{PERL_LIB},"CORE") : $self->{PERL_SRC};
+ }
# catch a situation that has occurred a few times in the past:
unless (
$self->{PERL_INC} = File::Spec->catdir("$self->{PERL_ARCHLIB}","CORE"); # wild guess for now
my $perl_h;
- no warnings 'uninitialized' ;
if (not -f ($perl_h = File::Spec->catfile($self->{PERL_INC},"perl.h"))
and not $old){
# Maybe somebody tries to build an extension with an
}
# strip blanks
- if ($self->{VERSION}) {
+ if (defined $self->{VERSION}) {
$self->{VERSION} =~ s/^\s+//;
$self->{VERSION} =~ s/\s+$//;
}
+ else {
+ $self->{VERSION} = '';
+ }
($self->{VERSION_SYM} = $self->{VERSION}) =~ s/\W/_/g;
$self->{DISTVNAME} = "$self->{DISTNAME}-$self->{VERSION}";
# you to build directly into, say $Config{privlibexp}.
unless ($self->{INST_LIB}){
if ($self->{PERL_CORE}) {
- $self->{INST_LIB} = $self->{INST_ARCHLIB} = $self->{PERL_LIB};
+ if (defined $Cross::platform) {
+ $self->{INST_LIB} = $self->{INST_ARCHLIB} =
+ File::Spec->catdir($self->{PERL_LIB},"..","xlib",
+ $Cross::platform);
+ }
+ else {
+ $self->{INST_LIB} = $self->{INST_ARCHLIB} = $self->{PERL_LIB};
+ }
} else {
$self->{INST_LIB} = File::Spec->catdir($Curdir,"blib","lib");
}
$self->init_lib2arch;
- # There are no Config.pm defaults for these.
- $Config_Override{installsiteman1dir} =
- File::Spec->catdir($Config{siteprefixexp}, 'man', 'man$(MAN1EXT)');
- $Config_Override{installsiteman3dir} =
- File::Spec->catdir($Config{siteprefixexp}, 'man', 'man$(MAN3EXT)');
-
if( $Config{usevendorprefix} ) {
$Config_Override{installvendorman1dir} =
File::Spec->catdir($Config{vendorprefixexp}, 'man', 'man$(MAN1EXT)');
my $vprefix = $Config{usevendorprefix} ? $Config{vendorprefixexp} : '';
my $sprefix = $Config{siteprefixexp} || '';
+ # 5.005_03 doesn't have a siteprefix.
+ $sprefix = $iprefix unless $sprefix;
+
+ # There are often no Config.pm defaults for these, but we can make
+ # it up.
+ unless( $Config{installsiteman1dir} ) {
+ $Config_Override{installsiteman1dir} =
+ File::Spec->catdir($sprefix, 'man', 'man$(MAN1EXT)');
+ }
+
+ unless( $Config{installsiteman3dir} ) {
+ $Config_Override{installsiteman3dir} =
+ File::Spec->catdir($sprefix, 'man', 'man$(MAN3EXT)');
+ }
+
+ unless( $Config{installsitebin} ) {
+ $Config_Override{installsitebin} =
+ File::Spec->catdir($sprefix, 'bin');
+ }
+
my $u_prefix = $self->{PREFIX} || '';
my $u_sprefix = $self->{SITEPREFIX} || $u_prefix;
my $u_vprefix = $self->{VENDORPREFIX} || $u_prefix;
EXE_FILES = @{$self->{EXE_FILES}}
} . ($Is_Win32
- ? exists $ENV{PERL_CORE}
- ? q{FIXIN = bin\pl2bat.bat
-} : q{FIXIN = pl2bat.bat
+ ? q{FIXIN = pl2bat.bat
} : q{FIXIN = $(PERLRUN) "-MExtUtils::MY" \
-e "MY->fixin(shift)"
}).qq{
$self->{MAKEFILE}, q[";' \\
-e 'print "Manifying $$m{$$_}\n";' \\
-e 'system(q[$(PERLRUN) $(POD2MAN_EXE) ].qq[$$_>$$m{$$_}])==0 or warn "Couldn\\047t install $$m{$$_}\n";' \\
--e 'chmod(oct($(PERM_RW))), $$m{$$_} or warn "chmod $(PERM_RW) $$m{$$_}: $$!\n";}'
+-e 'chmod(oct($(PERM_RW)), $$m{$$_}) or warn "chmod $(PERM_RW) $$m{$$_}: $$!\n";}'
];
push @m, "\nmanifypods : pure_all ";
push @m, join " \\\n\t", keys %{$self->{MAN1PODS}}, keys %{$self->{MAN3PODS}};
$_
}; \$$2
};
- no warnings;
+ local $^W = 0;
$result = eval($eval);
warn "Could not eval '$eval' in $parsefile: $@" if $@;
last;