This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
pp_entersub(): don't prematurely calc hasargs
[perl5.git] / mkppport
index be41fde..9f4fd75 100644 (file)
--- a/mkppport
+++ b/mkppport
@@ -2,7 +2,6 @@ use strict;
 use warnings;
 
 use Getopt::Long;
-use Pod::Usage;
 use File::Spec;
 use File::Compare qw( compare );
 use File::Copy qw( copy );
@@ -12,7 +11,7 @@ sub iterdirs(&);
 
 my $rootdir = dirname($0);
 
-unshift @INC, File::Spec->catdir($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 $@;
@@ -22,7 +21,10 @@ my %opt = (
   clean  => 0,
 );
 
-GetOptions(\%opt, qw( clean list=s )) or pod2usage(2);
+unless ( GetOptions(\%opt, qw( clean list=s )) ) {
+  require Pod::Usage;
+  Pod::Usage::pod2usage(2);
+}
 
 my $absroot = File::Spec->rel2abs($rootdir);
 my @destdirs = readlist($opt{list});
@@ -56,7 +58,7 @@ unshift @INC, File::Spec->catdir($absroot, 'lib');
 
 # 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;
@@ -134,7 +136,7 @@ sub readlist
 #----------------------------------------------
 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' && /^[^"]/;
@@ -158,7 +160,8 @@ mkppport [B<--list>=I<file>] [B<--clean>]
 
 B<mkppport> generates a I<ppport.h> file using Devel::PPPort
 and distributes it to the various extension directories that
-need it to build.
+need it to build.  On certain Win32 builds, this script is not
+used and an alternative mechanism is used to create I<ppport.h>.
 
 =head1 OPTIONS