sub metafile_target {
my $self = shift;
+ return <<'MAKE_FRAG' if $self->{NO_META};
+metafile:
+ $(NOECHO) $(NOOP)
+MAKE_FRAG
+
my $prereq_pm = '';
while( my($mod, $ver) = each %{$self->{PREREQ_PM}} ) {
$prereq_pm .= sprintf " %-30s %s\n", "$mod:", $ver;
sub metafile_addtomanifest_target {
my $self = shift;
+ return <<'MAKE_FRAG' if $self->{NO_META};
+metafile_addtomanifest:
+ $(NOECHO) $(NOOP)
+MAKE_FRAG
+
my $add_meta = $self->oneliner(<<'CODE', ['-MExtUtils::Manifest=maniadd']);
maniadd({q{META.yml} => q{Module meta-data in YAML}});
CODE
}
push(@mac, $_);
}
-
+
return "@mac";
}
sub patternify {
my($unix) = @_;
my(@mac);
- use bytes; # Non-UTF-8 high bytes in the below.
-
+ use bytes; # Non-UTF-8 high bytes below.
+
foreach (split(/[ \t\n]+/, $unix)) {
if (m|/|) {
$_ = ":$_";
push(@mac, $_);
}
}
-
+
return "@mac";
}
ci :
$(PERLRUN) "-MExtUtils::Manifest=maniread" \\
-e "@all = keys %{ maniread() };" \\
- -e "print("Executing $(CI) @all\n"); system(qq{$(CI) @all});" \\
- -e "print("Executing $(RCS_LABEL) ...\n"); system(qq{$(RCS_LABEL) @all});"
+ -e "print(qq{Executing $(CI) @all\n}); system(qq{$(CI) @all});" \\
+ -e "print(qq{Executing $(RCS_LABEL) ...\n}); system(qq{$(RCS_LABEL) @all});"
};
}
# To avoid using the unportable 2>&1 to supress STDERR,
# we close it before running the command.
close STDERR if $stderr_duped;
- $val = `$abs -e "require $ver; print qq{VER_OK\n}"`;
+ my $version_check = qq{$abs -e "require $ver; print qq{VER_OK\n}"};
+ $val = `$version_check`;
open STDERR, '>&STDERR_COPY' if $stderr_duped;
+ print STDERR "Perl version check failed: '$version_check'\n"
+ unless defined $val;
if ($val =~ /^VER_OK/) {
print "Using PERL=$abs\n" if $trace;
}
return if /\#/;
return if /~$/; # emacs temp files
+ return if /,v$/; # RCS files
my $path = $File::Find::name;
my $prefix = $self->{INST_LIBDIR};
my($manpagename) = $name;
$manpagename =~ s/\.p(od|m|l)\z//;
# everything below lib is ok
- if($self->{PARENT_NAME} && $manpagename !~ s!^\W*lib\W+!!s) {
+ unless($manpagename =~ s!^\W*lib\W+!!s) {
$manpagename = $self->catfile(
split(/::/,$self->{PARENT_NAME}),$manpagename
);
push(@m, map("\t\$(NOECHO) cd $_ && \$(TEST_F) \$(FIRST_MAKEFILE) && \$(MAKE) test \$(PASTHRU)\n", @{$self->{DIR}}));
}
- push(@m, "\t\$(NOECHO) $(ECHO) 'No tests defined for \$(NAME) extension.'\n")
+ push(@m, "\t\$(NOECHO) \$(ECHO) 'No tests defined for \$(NAME) extension.'\n")
unless $tests or -f "test.pl" or @{$self->{DIR}};
push(@m, "\n");
use File::Basename;
use vars qw($Revision @ISA $VERSION);
($VERSION) = '5.67';
-($Revision = substr(q$Revision: 1.89 $, 10)) =~ s/\s+$//;
+($Revision = substr(q$Revision: 1.91 $, 10)) =~ s/\s+$//;
require ExtUtils::MM_Any;
require ExtUtils::MM_Unix;
$(NOECHO) $(ECHO) "the appropriate files. Sorry for the inconvenience."
uninstall_from_sitedirs ::
- $(NOECHO) $(UNINSTALL) ],$self->catfile($self->{SITEARCHEXP},'auto',$self->{FULLEXT},'.packlist'),"\n",q[
+ $(NOECHO) $(UNINSTALL) ].$self->catfile($self->{SITEARCHEXP},'auto',$self->{FULLEXT},'.packlist').q[
$(NOECHO) $(ECHO) "Uninstall is now deprecated and makes no actual changes."
$(NOECHO) $(ECHO) "Please check the list above carefully for errors, and manually remove"
$(NOECHO) $(ECHO) "the appropriate files. Sorry for the inconvenience."
$self->{EXPORT_LIST} ||= '$(BASEEXT).opt';
my $shr = $Config{dbgprefix} . 'PERLSHR';
- $self->{PERL_ARCHIVE} ||= $self->catfile($self->{PERL_SRC}, "$shr.$Config{'dlext'}");
+ if ($self->{PERL_SRC}) {
+ $self->{PERL_ARCHIVE} ||=
+ $self->catfile($self->{PERL_SRC}, "$shr.$Config{'dlext'}");
+ }
+ else {
+ $self->{PERL_ARCHIVE} ||=
+ $ENV{$shr} ? $ENV{$shr} : "Sys\$Share:$shr.$Config{'dlext'}";
+ }
$self->{PERL_ARCHIVE_AFTER} ||= '';
}
BEGIN {require 5.005_03;}
-$VERSION = '6.10_02';
-($Revision = substr(q$Revision: 1.108 $, 10)) =~ s/\s+$//;
+$VERSION = '6.10_03';
+($Revision = substr(q$Revision: 1.109 $, 10)) =~ s/\s+$//;
require Exporter;
use Config;
EXCLUDE_EXT EXE_FILES FIRST_MAKEFILE
FULLPERL FULLPERLRUN FULLPERLRUNINST
FUNCLIST H IMPORTS
+
INST_ARCHLIB INST_SCRIPT INST_BIN INST_LIB INST_MAN1DIR INST_MAN3DIR
INSTALLDIRS
DESTDIR PREFIX
INSTALLSCRIPT
PERL_LIB PERL_ARCHLIB
SITELIBEXP SITEARCHEXP
+
INC INCLUDE_EXT LDFROM LIB LIBPERL_A LIBS
- LINKTYPE MAKEAPERL MAKEFILE_OLD MAN1PODS MAN3PODS MAP_TARGET
- MYEXTLIB
- PERL_MALLOC_OK
- NAME NEEDS_LINKING NOECHO NORECURS NO_VC OBJECT OPTIMIZE PERL PERLMAINCC
- PERLRUN PERLRUNINST PERL_CORE
+ LINKTYPE MAKEAPERL MAKEFILE_OLD MAN1PODS MAN3PODS MAP_TARGET MYEXTLIB
+ NAME NEEDS_LINKING NOECHO NO_META NORECURS NO_VC OBJECT OPTIMIZE
+ PERL_MALLOC_OK PERL PERLMAINCC PERLRUN PERLRUNINST PERL_CORE
PERL_SRC PERM_RW PERM_RWX
PL_FILES PM PM_FILTER PMLIBDIRS POLLUTE PPM_INSTALL_EXEC
PPM_INSTALL_SCRIPT PREREQ_FATAL PREREQ_PM PREREQ_PRINT PRINT_PREREQ
SKIP TYPEMAPS VERSION VERSION_FROM XS XSOPT XSPROTOARG
XS_VERSION clean depend dist dynamic_lib linkext macro realclean
tool_autosplit
+
MACPERL_SRC MACPERL_LIB MACLIBS_68K MACLIBS_PPC MACLIBS_SC MACLIBS_MRC
MACLIBS_ALL_68K MACLIBS_ALL_PPC MACLIBS_SHARED
/;
$VERSION = '1.00';
*VERSION = \'1.01';
- ( $VERSION ) = '$Revision: 1.108 $ ' =~ /\$Revision:\s+([^\s]+)/;
+ ( $VERSION ) = '$Revision: 1.109 $ ' =~ /\$Revision:\s+([^\s]+)/;
$FOO::VERSION = '1.10';
*FOO::VERSION = \'1.11';
our $VERSION = 1.2.3; # new for perl5.6.0
Give typemap location its own macro.
Merge MM_VMS->tool_xsubpp
+
+Initialize PERL_SRC to '' instead of leaving undef when outside the source
+tree
chdir 'lib';
plan tests => scalar @modules * 2;
foreach my $file (@modules) {
- # 5.8.0 has a bug about require alone in an eval. Thus the extra
+ # 5.8.0 has a bug about require alone in an eval. Thus the extra
# statement.
eval q{ require($file); 1 };
is( $@, '', "require $file" );
skip "Test::Pod not installed", 1 unless $Has_Test_Pod;
pod_file_ok($file);
}
-
}
use File::Path;
use File::Spec;
+if( $^O eq 'VMS' ) {
+ # On older systems we might exceed the 8-level directory depth limit
+ # imposed by RMS. We get around this with a rooted logical, but we
+ # can't create logical names with attributes in Perl, so we do it
+ # in a DCL subprocess and put it in the job table so the parent sees it.
+ open( BFDTMP, '>bfdtesttmp.com' ) || die "Error creating command file; $!";
+ print BFDTMP <<'COMMAND';
+$ BFD_TEST_ROOT = F$PARSE("SYS$DISK:[-]",,,,"NO_CONCEAL")-".][000000"-"]["-"].;"+".]"
+$ DEFINE/JOB/NOLOG/TRANSLATION=CONCEALED BFD_TEST_ROOT 'BFD_TEST_ROOT'
+COMMAND
+ close BFDTMP;
+
+ system '@bfdtesttmp.com';
+ 1 while unlink 'bfdtesttmp.com';
+}
+
+
my %Files = (
'Big-Dummy/lib/Big/Dummy.pm' => <<'END',
package Big::Dummy;
unshift @INC, 't/lib/';
}
}
-chdir 't';
+
+my $Is_VMS = $^O eq 'VMS';
+chdir($Is_VMS ? 'BFD_TEST_ROOT:[t]' : 't');
use strict;
# You can concatenate /foo but not foo:, which defaults in the current
# directory
-$prefix = VMS::Filespec::unixify($prefix) if $^O eq 'VMS';
+$prefix = VMS::Filespec::unixify($prefix) if $Is_VMS;
# ActivePerl 5.6.1/631 has $Config{prefixexp} as 'p:' for some reason
$prefix = $Config{prefix} if $prefix eq 'p:' && $^O eq 'MSWin32';
use strict;
use Config;
-use Test::More tests => 48;
+use Test::More tests => 52;
use MakeMaker::Test::Utils;
use File::Find;
use File::Spec;
my $perl = which_perl();
my $Is_VMS = $^O eq 'VMS';
-my $root_dir = 't';
-
-if( $^O eq 'VMS' ) {
- # On older systems we might exceed the 8-level directory depth limit
- # imposed by RMS. We get around this with a rooted logical, but we
- # can't create logical names with attributes in Perl, so we do it
- # in a DCL subprocess and put it in the job table so the parent sees it.
- open( BFDTMP, '>bfdtesttmp.com' ) || die "Error creating command file; $!";
- print BFDTMP <<'COMMAND';
-$ IF F$TRNLNM("PERL_CORE") .EQS. "" .AND. F$TYPE(PERL_CORE) .EQS. ""
-$ THEN
-$! building CPAN version
-$ BFD_TEST_ROOT = F$PARSE("SYS$DISK:[]",,,,"NO_CONCEAL")-".][000000"-"]["-"].;"+".]"
-$ ELSE
-$! we're in the core
-$ BFD_TEST_ROOT = F$PARSE("SYS$DISK:[-]",,,,"NO_CONCEAL")-".][000000"-"]["-"].;"+".]"
-$ ENDIF
-$ DEFINE/JOB/NOLOG/TRANSLATION=CONCEALED BFD_TEST_ROOT 'BFD_TEST_ROOT'
-COMMAND
- close BFDTMP;
-
- system '@bfdtesttmp.com';
- END { 1 while unlink 'bfdtesttmp.com' }
- $root_dir = 'BFD_TEST_ROOT:[t]';
-}
-
-chdir $root_dir;
+chdir($Is_VMS ? 'BFD_TEST_ROOT:[t]' : 't');
perl_lib;
_normalize($manifest);
is( $manifest->{'meta.yml'}, 'Module meta-data in YAML' );
+# Test NO_META META.yml suppression
+unlink 'META.yml';
+ok( !-f 'META.yml', 'META.yml deleted' );
+@mpl_out = run(qq{$perl Makefile.PL "NO_META=1"});
+cmp_ok( $?, '==', 0, 'Makefile.PL exited with zero' ) || diag(@mpl_out);
+my $metafile_out = run("$make metafile");
+is( $?, 0, 'metafile' ) || diag($metafile_out);
+ok( !-f 'META.yml', 'META.yml generation suppressed by NO_META' );
+
# Make sure init_dirscan doesn't go into the distdir
@mpl_out = run(qq{$perl Makefile.PL "PREFIX=dummy-install"});
-cmp_ok( $?, '==', 0, 'Makefile.PL exited with zero' ) ||
- diag(@mpl_out);
+cmp_ok( $?, '==', 0, 'Makefile.PL exited with zero' ) || diag(@mpl_out);
ok( grep(/^Writing $makefile for Big::Dummy/, @mpl_out) == 1,
'init_dirscan skipped distdir') ||
unshift @INC, 't/lib';
}
}
-chdir 't';
+chdir($^O eq 'VMS' ? 'BFD_TEST_ROOT:[t]' : 't');
use strict;