use Getopt::Long;
use Pod::Usage;
use File::Spec;
+use File::Compare qw( compare );
use File::Copy qw( copy );
use File::Basename qw( dirname );
my $rootdir = dirname($0);
-unshift @INC, File::Spec->catfile($rootdir, 't', 'lib');
+unshift @INC, File::Spec->catdir($rootdir, qw(cpan ExtUtils-MakeMaker t lib));
eval q{ use MakeMaker::Test::Utils qw( which_perl ) };
$@ and die $@;
# Change to Devel::PPPort directory, as it needs the stuff
# from the parts/ directory
-chdir File::Spec->catdir($rootdir, 'ext', 'Devel', 'PPPort');
+chdir File::Spec->catdir($rootdir, 'cpan', 'Devel-PPPort');
# Capture and remove temporary files
my @unlink;
# Now install the created ppport.h into extension directories
iterdirs {
my($dir, $fulldir) = @_;
- print "installing ppport.h for $dir\n";
my $dest = File::Spec->catfile($fulldir, 'ppport.h');
- copy('ppport.h', $dest) or die "copying ppport.h to $dest failed: $!\n";
+ if (compare('ppport.h', $dest)) {
+ print "installing ppport.h for $dir\n";
+ copy('ppport.h', $dest) or die "copying ppport.h to $dest failed: $!\n";
+ }
+ else {
+ print "ppport.h in $dir is up-to-date\n";
+ }
};
exit 0;
#----------------------------------------------
sub run
{
- my @args = ("-I" . File::Spec->catdir((File::Spec->updir) x 3, 'lib'), @_);
+ my @args = ("-I" . File::Spec->catdir((File::Spec->updir) x 2, 'lib'), @_);
my $run = $perl =~ m/\s/ ? qq("$perl") : $perl;
for (@args) {
$_ = qq("$_") if $^O eq 'VMS' && /^[^"]/;