package ExtUtils::MM_Win32;
-our $VERSION = '1.00';
+our $VERSION = '1.00_02';
=head1 NAME
use Config;
#use Cwd;
use File::Basename;
+use File::Spec;
require Exporter;
require ExtUtils::MakeMaker;
}
sub file_name_is_absolute {
- my($self,$file) = @_;
- $file =~ m{^([a-z]:)?[\\/]}i ;
+ shift;
+ return File::Spec->file_name_is_absolute(@_);
}
sub find_perl {
my($self, $ver, $names, $dirs, $trace) = @_;
+ $trace ||= 0;
+
my($name, $dir);
if ($trace >= 2){
print "Looking for perl $ver by these names:
next unless defined $dir; # $self->{PERL_SRC} may be undefined
foreach $name (@$names){
my ($abs, $val);
- if ($self->file_name_is_absolute($name)) { # /foo/bar
+ if (File::Spec->file_name_is_absolute($name)) { # /foo/bar
$abs = $name;
- } elsif ($self->canonpath($name) eq $self->canonpath(basename($name))) { # foo
- $abs = $self->catfile($dir, $name);
+ } elsif (File::Spec->canonpath($name) eq File::Spec->canonpath(basename($name))) { # foo
+ $abs = File::Spec->catfile($dir, $name);
} else { # foo/bar
- $abs = $self->canonpath($self->catfile($self->curdir, $name));
+ $abs = File::Spec->canonpath(File::Spec->catfile(File::Spec->curdir, $name));
}
print "Checking $abs\n" if ($trace >= 2);
next unless $self->maybe_command($abs);
}
sub catdir {
- my $self = shift;
- my @args = @_;
- for (@args) {
- # append a slash to each argument unless it has one there
- $_ .= "\\" if $_ eq '' or substr($_,-1) ne "\\";
- }
- my $result = $self->canonpath(join('', @args));
- $result;
+ shift;
+ return File::Spec->catdir(@_);
}
=item catfile
=cut
sub catfile {
- my $self = shift @_;
- my $file = pop @_;
- return $file unless @_;
- my $dir = $self->catdir(@_);
- $dir =~ s/(\\\.)$//;
- $dir .= "\\" unless substr($dir,length($dir)-1,1) eq "\\";
- return $dir.$file;
+ shift;
+ return File::Spec->catfile(@_);
}
sub init_others
};
push @m, qq{
-MAKEMAKER = $INC{'ExtUtils\MakeMaker.pm'}
+MAKEMAKER = $INC{'ExtUtils/MakeMaker.pm'}
MM_VERSION = $ExtUtils::MakeMaker::VERSION
};
.SUFFIXES: .xs .c .C .cpp .cxx .cc \$(OBJ_EXT)
-# Nick wanted to get rid of .PRECIOUS. I don't remember why. I seem to recall, that
-# some make implementations will delete the Makefile when we rebuild it. Because
-# we call false(1) when we rebuild it. So make(1) is not completely wrong when it
-# does so. Our milage may vary.
+# Nick wanted to get rid of .PRECIOUS. I don't remember why. I seem to
+# recall, that some make implementations will delete the Makefile when we
+# rebuild it. Because we call false(1) when we rebuild it. So make(1) is
+# not completely wrong when it does so. Our milage may vary.
# .PRECIOUS: Makefile # seems to be not necessary anymore
.PHONY: all config static dynamic test linkext manifest
my @parentdir = split(/::/, $self->{PARENT_NAME});
push @m, q{
# Where to put things:
-INST_LIBDIR = }. $self->catdir('$(INST_LIB)',@parentdir) .q{
-INST_ARCHLIBDIR = }. $self->catdir('$(INST_ARCHLIB)',@parentdir) .q{
+INST_LIBDIR = }. File::Spec->catdir('$(INST_LIB)',@parentdir) .q{
+INST_ARCHLIBDIR = }. File::Spec->catdir('$(INST_ARCHLIB)',@parentdir) .q{
-INST_AUTODIR = }. $self->catdir('$(INST_LIB)','auto','$(FULLEXT)') .q{
-INST_ARCHAUTODIR = }. $self->catdir('$(INST_ARCHLIB)','auto','$(FULLEXT)') .q{
+INST_AUTODIR = }. File::Spec->catdir('$(INST_LIB)','auto','$(FULLEXT)') .q{
+INST_ARCHAUTODIR = }. File::Spec->catdir('$(INST_ARCHLIB)','auto','$(FULLEXT)') .q{
};
if ($self->has_link_code()) {
sub path {
- my($self) = @_;
- my $path = $ENV{'PATH'} || $ENV{'Path'} || $ENV{'path'};
- my @path = split(';',$path);
- foreach(@path) { $_ = '.' if $_ eq '' }
- @path;
+ return File::Spec->path();
}
=item static_lib (o)
sub pm_to_blib {
my $self = shift;
- my($autodir) = $self->catdir('$(INST_LIB)','auto');
+ my($autodir) = File::Spec->catdir('$(INST_LIB)','auto');
return q{
pm_to_blib: $(TO_INST_PM)
}.$self->{NOECHO}.q{$(PERL) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)" \
my($dist);
my($pod2html_exe);
if (defined $self->{PERL_SRC}) {
- $pod2html_exe = $self->catfile($self->{PERL_SRC},'pod','pod2html');
+ $pod2html_exe = File::Spec->catfile($self->{PERL_SRC},'pod','pod2html');
} else {
- $pod2html_exe = $self->catfile($Config{scriptdirexp},'pod2html');
+ $pod2html_exe = File::Spec->catfile($Config{scriptdirexp},'pod2html');
}
unless ($pod2html_exe = $self->perl_script($pod2html_exe)) {
# No pod2html but some HTMLxxxPODS to be installed