From: Michael G. Schwern Date: Sat, 5 Jul 2003 16:59:49 +0000 (-0700) Subject: ExtUtils::MakeMaker 6.10_07 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=e3aa3ecb42b463895ffaa6cde935424bd94bff85;p=p5sagit%2Fp5-mst-13.2.git ExtUtils::MakeMaker 6.10_07 Message-ID: <20030705235949.GB3485@windhund.schwern.org> p4raw-id: //depot/perl@20022 --- diff --git a/lib/ExtUtils/Changes b/lib/ExtUtils/Changes index 7b27ae6..6c6a03f 100644 --- a/lib/ExtUtils/Changes +++ b/lib/ExtUtils/Changes @@ -1,3 +1,12 @@ +6.10_07 + - Sun's make treats escaped newlines oddly. Switching oneliner() back + to using multiple -e's. + * Bug in libscan() meant that any .pm containing RCS or CVS or SCCS + in its name (for example, RCS.pm) would be skipped. + - Command.t was getting confused in the core because it was reading + files from the core t/ directory, not MakeMaker's t/ directry. + - MM_OS2 PERL_ARCHIVE_AFTER test wrong for a.out systems (Ilya) + 6.10_06 Sat Jun 7 00:55:29 PDT 2003 - Whoops, Liblist.t busted on VMS after I turned strict on in ExtUtils::Liblist::Kid. Merely a test bug, not a real bug. diff --git a/lib/ExtUtils/META.yml b/lib/ExtUtils/META.yml index 20b50a8..2a36201 100644 --- a/lib/ExtUtils/META.yml +++ b/lib/ExtUtils/META.yml @@ -1,6 +1,6 @@ #XXXXXXX This is a prototype!!! It will change in the future!!! XXXXX# name: ExtUtils-MakeMaker -version: 6.10_06 +version: 6.10_07 version_from: lib/ExtUtils/MakeMaker.pm installdirs: perl requires: @@ -10,4 +10,4 @@ requires: Pod::Man: 0 distribution_type: module -generated_by: ExtUtils::MakeMaker version 6.10_06 +generated_by: ExtUtils::MakeMaker version 6.10_07 diff --git a/lib/ExtUtils/MM_Unix.pm b/lib/ExtUtils/MM_Unix.pm index 81818c3..455121f 100644 --- a/lib/ExtUtils/MM_Unix.pm +++ b/lib/ExtUtils/MM_Unix.pm @@ -20,7 +20,7 @@ use vars qw($VERSION @ISA use ExtUtils::MakeMaker qw($Verbose neatvalue); -$VERSION = '1.36'; +$VERSION = '1.37'; require ExtUtils::MM_Any; @ISA = qw(ExtUtils::MM_Any); @@ -1418,7 +1418,7 @@ Called by init_main. sub init_dirscan { # --- File and Directory Lists (.xs .pm .pod etc) my($self) = @_; my($name, %dir, %xs, %c, %h, %ignore, %pl_files, %manifypods); - local(%pm); #the sub in find() has to see this hash + my %pm; @ignore{qw(Makefile.PL test.pl t)} = (1,1,1); @@ -1875,7 +1875,7 @@ usually solves this kind of problem. Initializes EXTRALIBS, BSLOADLIBS, LDLOADLIBS, LIBS, LD_RUN_PATH, OBJECT, BOOTDEP, PERLMAINCC, LDFROM, LINKTYPE, SHELL, NOOP, FIRST_MAKEFILE, MAKEFILE_OLD, NOECHO, RM_F, RM_RF, TEST_F, -TOUCH, CP, MV, CHMOD, UMASK_NULL +TOUCH, CP, MV, CHMOD, UMASK_NULL, ECHO, ECHO_N =cut @@ -1936,6 +1936,7 @@ sub init_others { # --- Initialize Other Attributes $self->{SHELL} ||= $Config{sh} || '/bin/sh'; $self->{ECHO} ||= 'echo'; + $self->{ECHO_N} ||= 'echo -n'; $self->{RM_F} ||= "rm -f"; $self->{RM_RF} ||= "rm -rf"; $self->{TOUCH} ||= "touch"; @@ -2527,26 +2528,26 @@ doc_perl_install :: >> }.$self->catfile('$(INSTALLARCHLIB)','perllocal.pod').q{ doc_site_install :: - $(NOECHO) $(ECHO) Appending installation info to $(INSTALLSITEARCH)/perllocal.pod - -$(NOECHO) $(MKPATH) $(INSTALLSITEARCH) + $(NOECHO) $(ECHO) Appending installation info to $(INSTALLARCHLIB)/perllocal.pod + -$(NOECHO) $(MKPATH) $(INSTALLARCHLIB) -$(NOECHO) $(DOC_INSTALL) \ "Module" "$(NAME)" \ "installed into" "$(INSTALLSITELIB)" \ LINKTYPE "$(LINKTYPE)" \ VERSION "$(VERSION)" \ EXE_FILES "$(EXE_FILES)" \ - >> }.$self->catfile('$(INSTALLSITEARCH)','perllocal.pod').q{ + >> }.$self->catfile('$(INSTALLARCHLIB)','perllocal.pod').q{ doc_vendor_install :: - $(NOECHO) $(ECHO) Appending installation info to $(INSTALLVENDORARCH)/perllocal.pod - -$(NOECHO) $(MKPATH) $(INSTALLVENDORARCH) + $(NOECHO) $(ECHO) Appending installation info to $(INSTALLARCHLIB)/perllocal.pod + -$(NOECHO) $(MKPATH) $(INSTALLARCHLIB) -$(NOECHO) $(DOC_INSTALL) \ "Module" "$(NAME)" \ "installed into" "$(INSTALLVENDORLIB)" \ LINKTYPE "$(LINKTYPE)" \ VERSION "$(VERSION)" \ EXE_FILES "$(EXE_FILES)" \ - >> }.$self->catfile('$(INSTALLVENDORARCH)','perllocal.pod').q{ + >> }.$self->catfile('$(INSTALLARCHLIB)','perllocal.pod').q{ }; @@ -2930,7 +2931,7 @@ $(OBJECT) : $(FIRST_MAKEFILE) ' if $self->{OBJECT}; push @m, q{ -# We take a very conservative approach here, but it\'s worth it. +# We take a very conservative approach here, but it's worth it. # We move Makefile to Makefile.old here to avoid gnu make looping. $(FIRST_MAKEFILE) : Makefile.PL $(CONFIGDEP) $(NOECHO) $(ECHO) "Makefile out-of-date with respect to $?" @@ -3888,7 +3889,8 @@ sub tools_other { my @m; for my $tool (qw{ SHELL CHMOD CP MV NOOP NOECHO RM_F RM_RF TEST_F TOUCH - UMASK_NULL DEV_NULL MKPATH EQUALIZE_TIMESTAMP ECHO + UMASK_NULL DEV_NULL MKPATH EQUALIZE_TIMESTAMP + ECHO ECHO_N UNINST VERBINST MOD_INSTALL DOC_INSTALL UNINSTALL WARN_IF_OLD_PACKLIST diff --git a/lib/ExtUtils/MM_VMS.pm b/lib/ExtUtils/MM_VMS.pm index 4dd3ac3..bfdb2a4 100644 --- a/lib/ExtUtils/MM_VMS.pm +++ b/lib/ExtUtils/MM_VMS.pm @@ -20,8 +20,8 @@ BEGIN { use File::Basename; use vars qw($Revision @ISA $VERSION); -($VERSION) = '5.67'; -($Revision) = q$Revision: 1.97 $ =~ /Revision:\s+(\S+)/; +($VERSION) = '5.68'; +($Revision) = q$Revision: 1.101 $ =~ /Revision:\s+(\S+)/; require ExtUtils::MM_Any; require ExtUtils::MM_Unix; @@ -381,6 +381,7 @@ sub init_others { $self->{MAKEFILE_OLD} ||= '$(FIRST_MAKEFILE)_old'; $self->{ECHO} ||= '$(PERLRUN) -le "print qq{@ARGV}"'; + $self->{ECHO_N} ||= '$(PERLRUN) -e "print qq{@ARGV}"'; $self->{TOUCH} ||= '$(PERLRUN) "-MExtUtils::Command" -e touch'; $self->{CHMOD} ||= '$(PERLRUN) "-MExtUtils::Command" -e chmod'; $self->{RM_F} ||= '$(PERLRUN) "-MExtUtils::Command" -e rm_f'; @@ -1531,12 +1532,12 @@ doc__install : doc_site_install pure_perl_install :: $(NOECHO) $(PERLRUN) "-MFile::Spec" -e "print 'read '.File::Spec->catfile('$(PERL_ARCHLIB)','auto','$(FULLEXT)','.packlist').' '" >.MM_tmp $(NOECHO) $(PERLRUN) "-MFile::Spec" -e "print 'write '.File::Spec->catfile('$(INSTALLARCHLIB)','auto','$(FULLEXT)','.packlist').' '" >>.MM_tmp - $(NOECHO) $(PERLRUN) -e "print '$(INST_LIB) $(INSTALLPRIVLIB) ';" >>.MM_tmp - $(NOECHO) $(PERLRUN) -e "print '$(INST_ARCHLIB) $(INSTALLARCHLIB) ';" >>.MM_tmp - $(NOECHO) $(PERLRUN) -e "print '$(INST_BIN) $(INSTALLBIN) ';" >>.MM_tmp - $(NOECHO) $(PERLRUN) -e "print '$(INST_SCRIPT) $(INSTALLSCRIPT) ';" >>.MM_tmp - $(NOECHO) $(PERLRUN) -e "print '$(INST_MAN1DIR) $(INSTALLMAN1DIR) ';" >>.MM_tmp - $(NOECHO) $(PERLRUN) -e "print '$(INST_MAN3DIR) $(INSTALLMAN3DIR) ';" >>.MM_tmp + $(NOECHO) $(ECHO_N) "$(INST_LIB) $(INSTALLPRIVLIB) " >>.MM_tmp + $(NOECHO) $(ECHO_N) "$(INST_ARCHLIB) $(INSTALLARCHLIB) " >>.MM_tmp + $(NOECHO) $(ECHO_N) "$(INST_BIN) $(INSTALLBIN) " >>.MM_tmp + $(NOECHO) $(ECHO_N) "$(INST_SCRIPT) $(INSTALLSCRIPT) " >>.MM_tmp + $(NOECHO) $(ECHO_N) "$(INST_MAN1DIR) $(INSTALLMAN1DIR) " >>.MM_tmp + $(NOECHO) $(ECHO_N) "$(INST_MAN3DIR) $(INSTALLMAN3DIR) " >>.MM_tmp $(NOECHO) $(MOD_INSTALL) <.MM_tmp $(NOECHO) $(RM_F) .MM_tmp $(NOECHO) $(WARN_IF_OLD_PACKLIST) ].$self->catfile($self->{SITEARCHEXP},'auto',$self->{FULLEXT},'.packlist').q[ @@ -1545,12 +1546,12 @@ pure_perl_install :: pure_site_install :: $(NOECHO) $(PERLRUN) "-MFile::Spec" -e "print 'read '.File::Spec->catfile('$(SITEARCHEXP)','auto','$(FULLEXT)','.packlist').' '" >.MM_tmp $(NOECHO) $(PERLRUN) "-MFile::Spec" -e "print 'write '.File::Spec->catfile('$(INSTALLSITEARCH)','auto','$(FULLEXT)','.packlist').' '" >>.MM_tmp - $(NOECHO) $(PERLRUN) -e "print '$(INST_LIB) $(INSTALLSITELIB) ';" >>.MM_tmp - $(NOECHO) $(PERLRUN) -e "print '$(INST_ARCHLIB) $(INSTALLSITEARCH) ';" >>.MM_tmp - $(NOECHO) $(PERLRUN) -e "print '$(INST_BIN) $(INSTALLSITEBIN) ';" >>.MM_tmp - $(NOECHO) $(PERLRUN) -e "print '$(INST_SCRIPT) $(INSTALLSCRIPT) ';" >>.MM_tmp - $(NOECHO) $(PERLRUN) -e "print '$(INST_MAN1DIR) $(INSTALLSITEMAN1DIR) ';" >>.MM_tmp - $(NOECHO) $(PERLRUN) -e "print '$(INST_MAN3DIR) $(INSTALLSITEMAN3DIR) ';" >>.MM_tmp + $(NOECHO) $(ECHO_N) "$(INST_LIB) $(INSTALLSITELIB) " >>.MM_tmp + $(NOECHO) $(ECHO_N) "$(INST_ARCHLIB) $(INSTALLSITEARCH) " >>.MM_tmp + $(NOECHO) $(ECHO_N) "$(INST_BIN) $(INSTALLSITEBIN) " >>.MM_tmp + $(NOECHO) $(ECHO_N) "$(INST_SCRIPT) $(INSTALLSCRIPT) " >>.MM_tmp + $(NOECHO) $(ECHO_N) "$(INST_MAN1DIR) $(INSTALLSITEMAN1DIR) " >>.MM_tmp + $(NOECHO) $(ECHO_N) "$(INST_MAN3DIR) $(INSTALLSITEMAN3DIR) " >>.MM_tmp $(NOECHO) $(MOD_INSTALL) <.MM_tmp $(NOECHO) $(RM_F) .MM_tmp $(NOECHO) $(WARN_IF_OLD_PACKLIST) ].$self->catfile($self->{PERL_ARCHLIB},'auto',$self->{FULLEXT},'.packlist').q[ @@ -1558,12 +1559,12 @@ pure_site_install :: pure_vendor_install :: $(NOECHO) $(PERLRUN) "-MFile::Spec" -e "print 'read '.File::Spec->catfile('$(VENDORARCHEXP)','auto','$(FULLEXT)','.packlist').' '" >.MM_tmp $(NOECHO) $(PERLRUN) "-MFile::Spec" -e "print 'write '.File::Spec->catfile('$(INSTALLVENDORARCH)','auto','$(FULLEXT)','.packlist').' '" >>.MM_tmp - $(NOECHO) $(PERLRUN) -e "print '$(INST_LIB) $(INSTALLVENDORLIB) ';" >>.MM_tmp - $(NOECHO) $(PERLRUN) -e "print '$(INST_ARCHLIB) $(INSTALLVENDORARCH) ';" >>.MM_tmp - $(NOECHO) $(PERLRUN) -e "print '$(INST_BIN) $(INSTALLVENDORBIN) ';" >>.MM_tmp - $(NOECHO) $(PERLRUN) -e "print '$(INST_SCRIPT) $(INSTALLSCRIPT) ';" >>.MM_tmp - $(NOECHO) $(PERLRUN) -e "print '$(INST_MAN1DIR) $(INSTALLVENDORMAN1DIR) ';" >>.MM_tmp - $(NOECHO) $(PERLRUN) -e "print '$(INST_MAN3DIR) $(INSTALLVENDORMAN3DIR) ';" >>.MM_tmp + $(NOECHO) $(ECHO_N) "$(INST_LIB) $(INSTALLVENDORLIB) " >>.MM_tmp + $(NOECHO) $(ECHO_N) "$(INST_ARCHLIB) $(INSTALLVENDORARCH) " >>.MM_tmp + $(NOECHO) $(ECHO_N) "$(INST_BIN) $(INSTALLVENDORBIN) " >>.MM_tmp + $(NOECHO) $(ECHO_N) "$(INST_SCRIPT) $(INSTALLSCRIPT) " >>.MM_tmp + $(NOECHO) $(ECHO_N) "$(INST_MAN1DIR) $(INSTALLVENDORMAN1DIR) " >>.MM_tmp + $(NOECHO) $(ECHO_N) "$(INST_MAN3DIR) $(INSTALLVENDORMAN3DIR) " >>.MM_tmp $(NOECHO) $(MOD_INSTALL) <.MM_tmp $(NOECHO) $(RM_F) .MM_tmp @@ -1571,29 +1572,29 @@ pure_vendor_install :: doc_perl_install :: $(NOECHO) $(ECHO) "Appending installation info to ].$self->catfile($self->{INSTALLARCHLIB}, 'perllocal.pod').q[" $(NOECHO) $(MKPATH) $(INSTALLARCHLIB) - $(NOECHO) $(PERLRUN) -e "print 'installed into|$(INSTALLPRIVLIB)|';" >.MM_tmp - $(NOECHO) $(PERLRUN) -e "print 'LINKTYPE|$(LINKTYPE)|VERSION|$(VERSION)|EXE_FILES|$(EXE_FILES) ';" >>.MM_tmp + $(NOECHO) $(ECHO_N) "installed into|$(INSTALLPRIVLIB)|" >.MM_tmp + $(NOECHO) $(ECHO_N) "LINKTYPE|$(LINKTYPE)|VERSION|$(VERSION)|EXE_FILES|$(EXE_FILES) " >>.MM_tmp ],@exe_files, q[ $(NOECHO) $(DOC_INSTALL) "Module" "$(NAME)" <.MM_tmp >>].$self->catfile($self->{INSTALLARCHLIB},'perllocal.pod').q[ $(NOECHO) $(RM_F) .MM_tmp # And again doc_site_install :: - $(NOECHO) $(ECHO) "Appending installation info to ].$self->catfile($self->{INSTALLSITEARCH}, 'perllocal.pod').q[" - $(NOECHO) $(MKPATH) $(INSTALLSITEARCH) - $(NOECHO) $(PERLRUN) -e "print 'installed into|$(INSTALLSITELIB)|';" >.MM_tmp - $(NOECHO) $(PERLRUN) -e "print 'LINKTYPE|$(LINKTYPE)|VERSION|$(VERSION)|EXE_FILES|$(EXE_FILES) ';" >>.MM_tmp + $(NOECHO) $(ECHO) "Appending installation info to ].$self->catfile($self->{INSTALLARCHLIB}, 'perllocal.pod').q[" + $(NOECHO) $(MKPATH) $(INSTALLARCHLIB) + $(NOECHO) $(ECHO_N) "installed into|$(INSTALLSITELIB)|" >.MM_tmp + $(NOECHO) $(ECHO_N) "LINKTYPE|$(LINKTYPE)|VERSION|$(VERSION)|EXE_FILES|$(EXE_FILES) " >>.MM_tmp ],@exe_files, -q[ $(NOECHO) $(DOC_INSTALL) "Module" "$(NAME)" <.MM_tmp >>].$self->catfile($self->{INSTALLSITEARCH},'perllocal.pod').q[ +q[ $(NOECHO) $(DOC_INSTALL) "Module" "$(NAME)" <.MM_tmp >>].$self->catfile($self->{INSTALLARCHLIB},'perllocal.pod').q[ $(NOECHO) $(RM_F) .MM_tmp doc_vendor_install :: - $(NOECHO) $(ECHO) "Appending installation info to ].$self->catfile($self->{INSTALLVENDORARCH}, 'perllocal.pod').q[" - $(NOECHO) $(MKPATH) $(INSTALLVENDORARCH) - $(NOECHO) $(PERLRUN) -e "print 'installed into|$(INSTALLVENDORLIB)|';" >.MM_tmp - $(NOECHO) $(PERLRUN) -e "print 'LINKTYPE|$(LINKTYPE)|VERSION|$(VERSION)|EXE_FILES|$(EXE_FILES) ';" >>.MM_tmp + $(NOECHO) $(ECHO) "Appending installation info to ].$self->catfile($self->{INSTALLARCHLIB}, 'perllocal.pod').q[" + $(NOECHO) $(MKPATH) $(INSTALLARCHLIB) + $(NOECHO) $(ECHO_N) "installed into|$(INSTALLVENDORLIB)|" >.MM_tmp + $(NOECHO) $(ECHO_N) "LINKTYPE|$(LINKTYPE)|VERSION|$(VERSION)|EXE_FILES|$(EXE_FILES) " >>.MM_tmp ],@exe_files, -q[ $(NOECHO) $(DOC_INSTALL) "Module" "$(NAME)" <.MM_tmp >>].$self->catfile($self->{INSTALLVENDORARCH},'perllocal.pod').q[ +q[ $(NOECHO) $(DOC_INSTALL) "Module" "$(NAME)" <.MM_tmp >>].$self->catfile($self->{INSTALLARCHLIB},'perllocal.pod').q[ $(NOECHO) $(RM_F) .MM_tmp ]; @@ -1704,7 +1705,7 @@ $(OBJECT) : $(FIRST_MAKEFILE) ] if $self->{OBJECT}; push @m,q[ -# We take a very conservative approach here, but it\'s worth it. +# We take a very conservative approach here, but it's worth it. # We move $(FIRST_MAKEFILE) to $(MAKEFILE_OLD) here to avoid gnu make looping. $(FIRST_MAKEFILE) : Makefile.PL $(CONFIGDEP) $(NOECHO) $(ECHO) "$(FIRST_MAKEFILE) out-of-date with respect to $(MMS$SOURCE_LIST)" @@ -2012,6 +2013,7 @@ MAKE_FRAG push @m, q[ # Still more from the 255-char line length limit doc_inst_perl : + $(NOECHO) $(MKPATH) $(INSTALLARCHLIB) $(NOECHO) $(ECHO) "Perl binary $(MAP_TARGET)|" >.MM_tmp $(NOECHO) $(ECHO) "MAP_STATIC|$(MAP_STATIC)|" >>.MM_tmp $(NOECHO) $(PERL) -pl040 -e " " ].$self->catfile('$(INST_ARCHAUTODIR)','extralibs.all'),q[ >>.MM_tmp diff --git a/lib/ExtUtils/MM_Win32.pm b/lib/ExtUtils/MM_Win32.pm index fef8767..d05c870 100644 --- a/lib/ExtUtils/MM_Win32.pm +++ b/lib/ExtUtils/MM_Win32.pm @@ -29,7 +29,7 @@ use vars qw(@ISA $VERSION $BORLAND $GCC $DMAKE $NMAKE); require ExtUtils::MM_Any; require ExtUtils::MM_Unix; @ISA = qw( ExtUtils::MM_Any ExtUtils::MM_Unix ); -$VERSION = '1.07'; +$VERSION = '1.08'; $ENV{EMXSHELL} = 'sh'; # to run `commands` @@ -169,6 +169,7 @@ sub init_others { # Used in favor of echo because echo won't strip quotes. :( $self->{ECHO} ||= $self->oneliner('print qq{@ARGV}', ['-l']); + $self->{ECHO_N} ||= $self->oneliner('print qq{@ARGV}'); $self->{TOUCH} ||= '$(PERLRUN) -MExtUtils::Command -e touch'; $self->{CHMOD} ||= '$(PERLRUN) -MExtUtils::Command -e chmod'; diff --git a/lib/ExtUtils/MakeMaker/FAQ.pod b/lib/ExtUtils/MakeMaker/FAQ.pod index 4572da1..b2a50d4 100644 --- a/lib/ExtUtils/MakeMaker/FAQ.pod +++ b/lib/ExtUtils/MakeMaker/FAQ.pod @@ -1,6 +1,6 @@ package ExtUtils::MakeMaker::FAQ; -(our $VERSION) = sprintf "%03d", q$Revision: 1.7 $ =~ /Revision:\s+(\S+)/; +(our $VERSION) = sprintf "%03d", q$Revision: 1.8 $ =~ /Revision:\s+(\S+)/; 1; __END__ @@ -61,9 +61,7 @@ MakeMaker. =over 4 -=item - -How do I keep my $VERSION up to date without resetting it manually? +=item How do I keep my $VERSION up to date without resetting it manually? Often you want to manually set the $VERSION in the main module distribution because this is the version that everybody sees on CPAN @@ -77,12 +75,7 @@ system's revision number (you are using version control, right?). In CVS and RCS you use $Z<>Revision$ writing it like so: - $VERSION = sprintf "%d.%03d", q$Revision$ =~ /(\d+)/g; - -On your next check in, $Z<>Revision$ will magically be expanded to contain -the current revision #. - - $VERSION = sprintf "%d.%03d", q$Revision: 1.7 $ =~ /(\d+)/g; + $VERSION = sprintf "%d.%03d", q$Revision: 1.8 $ =~ /(\d+)/g; Every time the file is checked in the $Z<>Revision$ will be updated, updating your $VERSION. @@ -95,11 +88,9 @@ If branches are involved (ie. $Z<>Revision: 1.5.3.4) its a little more complicated. # must be all on one line or MakeMaker will get confused. - $VERSION = do { my @r = (q$Revision$ =~ /\d+/g); sprintf "%d."."%03d" x $#r, @r }; + $VERSION = do { my @r = (q$Revision: 1.5.3.4 $ =~ /\d+/g); sprintf "%d."."%03d" x $#r, @r }; -=item - -What's this F thing and how did it get in my F?! +=item What's this F thing and how did it get in my F?! F is a module meta-data file pioneered by Module::Build and automatically generated as part of the 'distdir' target (and thus @@ -113,10 +104,7 @@ To shut off its generation, pass the C flag to C. =over 4 -=item - -How to I prevent "object version X.XX does not match bootstrap parameter Y.YY" -errors? +=item How to I prevent "object version X.XX does not match bootstrap parameter Y.YY" errors? XS code is very sensitive to the module version number and will complain if the version number in your Perl module doesn't match. If @@ -131,9 +119,7 @@ WriteMakefile() arguments. depend => { '$(FIRST_MAKEFILE)' => '$(VERSION_FROM)' } -=item - -How do I make two or more XS files coexist in the same directory? +=item How do I make two or more XS files coexist in the same directory? Sometimes you need to have two and more XS files in the same package. One way to go is to put them into separate directories, but sometimes diff --git a/lib/ExtUtils/t/Command.t b/lib/ExtUtils/t/Command.t index 7f1a97c..4e54189 100644 --- a/lib/ExtUtils/t/Command.t +++ b/lib/ExtUtils/t/Command.t @@ -31,11 +31,14 @@ BEGIN { } { - # get a file in the current directory, replace last char with wildcard + # get a file in the MM test directory, replace last char with wildcard my $file; { local *DIR; - opendir(DIR, File::Spec->curdir()); + my $mmtestdir = $ENV{PERL_CORE} + ? File::Spec->catdir(File::Spec->updir, 'lib', 'ExtUtils', 't') + : File::Spec->curdir; + opendir(DIR, $mmtestdir); while ($file = readdir(DIR)) { $file =~ s/\.\z// if $^O eq 'VMS'; last if $file =~ /^\w/;