Ok, here's the manifypods() patch as I've put into MakeMaker. Its expanded
quite a bit, some due to my tinkering, but a lot due to considering the
non-Unix code. Its an interesting example of how patches go from submission
to acceptance in MakeMaker and why maintaining this module is so bloody
time-consuming.
- ExtUtils::Command::MM::pod2man
I decided to make it work as close to the pod2man utility as possible, so I
just stole the argument handling code out of pod2man. I fooled Getopt::Long
into working by placing pod2man()'s arguments into a local @ARGV. :)
I also decided the change in output dignostics (ie. from "Manifying
$outfile" to "Manifying section...") wasn't necessary. I can be convinced
if you think its an improvement.
- ExtUtils::MM_Unix::manifypods
I've eliminated the "make it a NOOP if there's no POD to convert" code
because this makes the Makefile less flexible (ie. if you override MAN3PODS
you have to rebuild the Makefile to get man pages to generate). Since
manifypods isn't groping around anymore to find pod2man, there's no real
cost in generating the complete command. pod2man will gracefully deal with
having no files to convert.
- ExtUtils::MM_Unix::manifypods_target
I've changed the output of manifypods_target. I decided, for the moment,
*_target methods should return *only* the target code and nothing else. No
macros, no additional targets. This makes overriding them easier.
manifypods() will simply combine the results from POD2MAN_EXE_macro() and
manifypods_target().
- ExtUtils::MM_Unix::pod2man_def is now POD2MAN_EXE_macro
AFAIK they're refered to as macros (or variables in the GNU make world, but
that's too confusing). I could be wrong.
I felt it better if the method name exactly matched the macro name.
I've eliminated the POD2MAN macro and am simply using POD2MAN_EXE.
I having two was redundant and leaving POD2MAN_EXE in place solves some
backwards compat problems.
- Eliminated MM_Cygwin::manifypods override
Turns out all this was doing was changing the man page name style from
Foo::Bar.3 to Foo.Bar.3. This is better done by overriding init_dirscan().
- Removed Cygwin tests for failing to find pod2man
Tests are now irrelelvent.
- Eliminated MM_VMS::manifypods override
This was already using Pod::Man in place of pod2man and doesn't appear to be
doing anything else special anymore.
- Eliminated MM_Win32::manifypods override
Win32 was causing manifypods to always be a noop since, presumably, you
normally don't want man pages built on Windows. This is the wrong way to do
it. Rather than making manifypods a no-op and thus making it impossible to
generate man pages at all, manifypods should simply be removed from the all
target. That way it won't run by default but you can still say "make
manifypods". This was easy since top_targets() was already overriden.
- Removed Win32 and Netware specific tests for noop manifypods
Test now irrelevent.
- MM_Unix::manifypods, manifypods_target & POD2MAN_EXE_macro moved to MM_Any
Since all the manifypods() overrides have been eliminated I guess that makes
the new manifypods() portable. So it was moved out of MM_Unix and into
MM_Any.
You made lots of redundant code disappear. Not a bad day's work, Steven!
I've updated the snapshot on makemaker.org. Here's the patch as it went in.
Index: Changes
===================================================================
RCS file: /home/cvs/ExtUtils-MakeMaker/Changes,v
retrieving revision 1.117
diff -u -r1.117 Changes
--- Changes 13 Nov 2002 06:01:05 -0000 1.117
+++ Changes 13 Nov 2002 11:13:24 -0000
@@ -8,6 +8,11 @@
* Added a PATCHING guideline document.
- Updated the class hierarchy in NOTES.
- Installed.t now cleans up after itself better.
+ - Steve Purkis rewrote the manifypods system to use Pod::Man
+ rather than pod2man. Its now portable and manifypods() moved from
+ MM_Unix to MM_Any. As a result, lots of icky and redudant code went
+ away. This also removes the POD2MAN macro, but noone should be
+ using that.
6.05 Tue Aug 27 16:09:51 PDT 2002
- Output format of the hint file verbose diagnostic is now in
Index: README
===================================================================
RCS file: /home/cvs/ExtUtils-MakeMaker/README,v
retrieving revision 1.14
diff -u -r1.14 README
--- README 20 Jul 2002 21:45:13 -0000 1.14
+++ README 13 Nov 2002 10:35:42 -0000
@@ -9,6 +9,8 @@
Known Problems:
+(See http://rt.cpan.org for a full list of open problems.)
+
ActivePerl likely broken if installed in C:\Program Files or other
prefix with a space in the name.
Index: TODO
===================================================================
RCS file: /home/cvs/ExtUtils-MakeMaker/TODO,v
retrieving revision 1.31
diff -u -r1.31 TODO
--- TODO 13 Nov 2002 06:00:47 -0000 1.31
+++ TODO 13 Nov 2002 10:35:14 -0000
@@ -3,8 +3,6 @@
Shorten manifypods so it fits in < 200 character command line (like
pm_to_blib).
-Cleanup manifypods so it uses Pod::Man instead of pod2man.
-
Rethink MM_Win32 tests.
Investigate one method per make target.
Index: lib/ExtUtils/MM_Any.pm
===================================================================
RCS file: /home/cvs/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm,v
retrieving revision 1.10
diff -u -r1.10 MM_Any.pm
--- lib/ExtUtils/MM_Any.pm 12 Nov 2002 23:48:25 -0000 1.10
+++ lib/ExtUtils/MM_Any.pm 13 Nov 2002 10:59:30 -0000
@@ -137,6 +137,81 @@
=over 4
+=item manifypods (o)
+
+Defines targets and routines to translate the pods into manpages and
+put them into the INST_* directories.
+
+=cut
+
+sub manifypods {
+ my $self = shift;
+
+ my $POD2MAN_EXE_macro = $self->POD2MAN_EXE_macro();
+ my $manifypods_target = $self->manifypods_target();
+
+ return <<END_OF_TARGET;
+
+# --- Begin manifypods section:
+$POD2MAN_EXE_macro
+
+$manifypods_target
+
+# --- End manifypods section --- #
+
+END_OF_TARGET
+
+}
+
+
+sub manifypods_target {
+ my($self) = shift;
+
+ my $man1pods = '';
+ my $man3pods = '';
+ my $dependencies = '';
+
+ # populate manXpods & dependencies:
+ foreach my $name (keys %{$self->{MAN1PODS}}) {
+ $man1pods .= " \\\n\t $name \\\n\t $self->{MAN1PODS}->{$name}";
+ $dependencies .= " \\\n\t$name";
+ }
+
+ foreach my $name (keys %{$self->{MAN3PODS}}) {
+ $man3pods .= " \\\n\t $name \\\n\t $self->{MAN3PODS}->{$name}";
+ $dependencies .= " \\\n\t$name"
+ }
+
+ return <<END_OF_TARGET;
+manifypods : pure_all $dependencies
+ \$(NOECHO)\$(POD2MAN_EXE) --section=1 --perm_rw=\$(PERM_RW) $man1pods
+ \$(NOECHO)\$(POD2MAN_EXE) --section=3 --perm_rw=\$(PERM_RW) $man3pods
+END_OF_TARGET
+}
+
+=item POD2MAN_EXE_macro
+
+ my $pod2man_exe_macro = $self->POD2MAN_EXE_macro
+
+Returns a definition for the POD2MAN_EXE macro. This is a program
+which emulates the pod2man utility. You can add more switches to the
+command by simply appending them on the macro.
+
+Typical usage:
+
+ $(POD2MAN_EXE) --section=3 --perm_rw=$(PERM_RW) podfile man_page
+
+=cut
+
+sub POD2MAN_EXE_macro {
+ my $self = shift;
+ return <<'END_OF_DEF';
+# Need the trailing '--' so perl stops gobbling arguments
+POD2MAN_EXE = $(PERLRUN) "-MExtUtils::Command::MM" -e "pod2man @ARGV" --
+END_OF_DEF
+}
+
+
=item test_via_harness
my $command = $mm->test_via_harness($perl, $tests);
Index: lib/ExtUtils/MM_Cygwin.pm
===================================================================
RCS file: /home/cvs/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm,v
retrieving revision 1.15
diff -u -r1.15 MM_Cygwin.pm
--- lib/ExtUtils/MM_Cygwin.pm 12 Nov 2002 23:50:04 -0000 1.15
+++ lib/ExtUtils/MM_Cygwin.pm 13 Nov 2002 10:37:43 -0000
@@ -10,7 +10,7 @@
require ExtUtils::MM_Unix;
@ISA = qw( ExtUtils::MM_Any ExtUtils::MM_Unix );
-$VERSION = 1.04;
+$VERSION = 1.05;
sub cflags {
my($self,$libperl)=@_;
@@ -31,49 +31,18 @@
}
-sub manifypods {
- my($self, %attribs) = @_;
- return "\nmanifypods : pure_all\n\t$self->{NOECHO}\$(NOOP)\n" unless
- %{$self->{MAN3PODS}} or %{$self->{MAN1PODS}};
- my($dist);
- my($pod2man_exe);
- if (defined $self->{PERL_SRC}) {
- $pod2man_exe = $self->catfile($self->{PERL_SRC},'pod','pod2man');
- } else {
- $pod2man_exe = $self->catfile($Config{scriptdirexp},'pod2man');
- }
- unless ($self->perl_script($pod2man_exe)) {
- # No pod2man but some MAN3PODS to be installed
- print <<END;
-
-Warning: I could not locate your pod2man program. Please make sure,
- your pod2man program is in your PATH before you execute 'make'
-END
- $pod2man_exe = "-S pod2man";
+# Override to change man page name styles from Foo::Bar.N Unix style to
+# Foo.Bar.N Cygwin style.
+sub init_dirscan {
+ my($self) = shift;
+ $self->SUPER::init_dirscan;
+
+ foreach my $manpage (values %{$self->{MAN1PODS}},
+ values %{$self->{MAN3PODS}})
+ {
+ $manpage =~ s/::/./g;
}
- my(@m) = ();
- push @m,
-qq[POD2MAN_EXE = $pod2man_exe\n],
-qq[POD2MAN = \$(PERL) -we '%m=\@ARGV;for (keys %m){' \\\n],
-q[-e 'next if -e $$m{$$_} && -M $$m{$$_} < -M $$_ && -M $$m{$$_} < -M "],
- $self->{MAKEFILE}, q[";' \\
--e 'print "Manifying $$m{$$_}\n"; $$m{$$_} =~ s/::/./g;' \\
--e 'system(qq[$(PERLRUN) $(POD2MAN_EXE) ].qq[$$_>$$m{$$_}])==0 or warn "Couldn\\047t
install $$m{$$_}\n";' \\
--e 'chmod(oct($(PERM_RW))), $$m{$$_} or warn "chmod $(PERM_RW) $$m{$$_}: $$!\n";}'
-];
- push @m, "\nmanifypods : pure_all ";
- push @m, join " \\\n\t", keys %{$self->{MAN1PODS}},
- keys %{$self->{MAN3PODS}};
-
- push(@m,"\n");
- if (%{$self->{MAN1PODS}} || %{$self->{MAN3PODS}}) {
- grep { $self->{MAN1PODS}{$_} =~ s/::/./g } keys %{$self->{MAN1PODS}};
- grep { $self->{MAN3PODS}{$_} =~ s/::/./g } keys %{$self->{MAN3PODS}};
- push @m, "\t$self->{NOECHO}\$(POD2MAN) \\\n\t";
- push @m, join " \\\n\t", %{$self->{MAN1PODS}}, %{$self->{MAN3PODS}};
- }
- join('', @m);
}
sub perl_archive {
@@ -105,17 +74,13 @@
=over 4
-=item canonpath
-
-replaces backslashes with forward ones. then acts as *nixish.
-
=item cflags
if configured for dynamic loading, triggers #define EXT in EXTERN.h
-=item manifypods
+=item init_dirscan
-replaces strings '::' with '.' in man page names
+replaces strings '::' with '.' in MAN*POD man page names
=item perl_archive
Index: lib/ExtUtils/MM_Unix.pm
===================================================================
RCS file: /home/cvs/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm,v
retrieving revision 1.81
diff -u -r1.81 MM_Unix.pm
--- lib/ExtUtils/MM_Unix.pm 12 Nov 2002 23:54:17 -0000 1.81
+++ lib/ExtUtils/MM_Unix.pm 13 Nov 2002 10:40:22 -0000
@@ -6,11 +6,11 @@
use Exporter ();
use Carp;
-use Config;
+use Config qw(%Config);
use File::Basename qw(basename dirname fileparse);
use File::Spec;
use DirHandle;
-use strict;
+
use vars qw($VERSION @ISA
$Is_Mac $Is_OS2 $Is_VMS $Is_Win32 $Is_Dos $Is_VOS
$Verbose %pm %static $Xsubpp_Version
@@ -19,7 +19,7 @@
use ExtUtils::MakeMaker qw($Verbose neatvalue);
-$VERSION = '1.34';
+$VERSION = '1.35';
require ExtUtils::MM_Any;
@ISA = qw(ExtUtils::MM_Any);
@@ -119,7 +119,6 @@
sub macro;
sub makeaperl;
sub makefile;
-sub manifypods;
sub maybe_command;
sub maybe_command_in_dirs;
sub needs_linking;
@@ -2738,58 +2737,6 @@
join "", @m;
}
-=item manifypods (o)
-
-Defines targets and routines to translate the pods into manpages and
-put them into the INST_* directories.
-
-=cut
-
-sub manifypods {
- my($self, %attribs) = @_;
- return "\nmanifypods : pure_all\n\t$self->{NOECHO}\$(NOOP)\n" unless
- %{$self->{MAN3PODS}} or %{$self->{MAN1PODS}};
- my($dist);
- my($pod2man_exe);
- if (defined $self->{PERL_SRC}) {
- $pod2man_exe = $self->catfile($self->{PERL_SRC},'pod','pod2man');
- } else {
- $pod2man_exe = $self->catfile($Config{scriptdirexp},'pod2man');
- }
- unless ($pod2man_exe = $self->perl_script($pod2man_exe)) {
- # Maybe a build by uninstalled Perl?
- $pod2man_exe = $self->catfile($self->{PERL_INC}, "pod", "pod2man");
- }
- unless ($pod2man_exe = $self->perl_script($pod2man_exe)) {
- # No pod2man but some MAN3PODS to be installed
- print <<END;
-
-Warning: I could not locate your pod2man program. Please make sure,
- your pod2man program is in your PATH before you execute 'make'
-
-END
- $pod2man_exe = "-S pod2man";
- }
- my(@m);
- push @m,
-qq[POD2MAN_EXE = $pod2man_exe\n],
-qq[POD2MAN = \$(PERL) -we '%m=\@ARGV;for (keys %m){' \\\n],
-q[-e 'next if -e $$m{$$_} && -M $$m{$$_} < -M $$_ && -M $$m{$$_} < -M "],
- $self->{MAKEFILE}, q[";' \\
--e 'print "Manifying $$m{$$_}\n";' \\
--e 'system(q[$(PERLRUN) $(POD2MAN_EXE) ].qq[$$_>$$m{$$_}])==0 or warn "Couldn\\047t
install $$m{$$_}\n";' \\
--e 'chmod(oct($(PERM_RW)), $$m{$$_}) or warn "chmod $(PERM_RW) $$m{$$_}: $$!\n";}'
-];
- push @m, "\nmanifypods : pure_all ";
- push @m, join " \\\n\t", keys %{$self->{MAN1PODS}}, keys %{$self->{MAN3PODS}};
-
- push(@m,"\n");
- if (%{$self->{MAN1PODS}} || %{$self->{MAN3PODS}}) {
- push @m, "\t$self->{NOECHO}\$(POD2MAN) \\\n\t";
- push @m, join " \\\n\t", %{$self->{MAN1PODS}}, %{$self->{MAN3PODS}};
- }
- join('', @m);
-}
=item maybe_command
Index: lib/ExtUtils/MM_VMS.pm
===================================================================
RCS file: /home/cvs/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm,v
retrieving revision 1.36
diff -u -r1.36 MM_VMS.pm
--- lib/ExtUtils/MM_VMS.pm 12 Nov 2002 23:50:04 -0000 1.36
+++ lib/ExtUtils/MM_VMS.pm 13 Nov 2002 10:38:05 -0000
@@ -14,7 +14,7 @@
use File::Basename;
use File::Spec;
use vars qw($Revision @ISA $VERSION);
-($VERSION) = $Revision = '5.65';
+($VERSION) = $Revision = '5.66';
require ExtUtils::MM_Any;
require ExtUtils::MM_Unix;
@@ -1287,56 +1287,6 @@
join('',@m);
}
-
-=item manifypods (override)
-
-Use VMS-style quoting on command line, and VMS logical name
-to specify fallback location at build time if we can't find pod2man.
-
-=cut
-
-
-sub manifypods {
- my($self, %attribs) = @_;
- return "\nmanifypods :\n\t\$(NOECHO) \$(NOOP)\n" unless %{$self->{MAN3PODS}} or
%{$self->{MAN1PODS}};
- my($dist);
- my($pod2man_exe);
- if (defined $self->{PERL_SRC}) {
- $pod2man_exe = $self->catfile($self->{PERL_SRC},'pod','pod2man');
- } else {
- $pod2man_exe = $self->catfile($Config{scriptdirexp},'pod2man');
- }
- if (not ($pod2man_exe = $self->perl_script($pod2man_exe))) {
- # No pod2man but some MAN3PODS to be installed
- print <<END;
-
-Warning: I could not locate your pod2man program. As a last choice,
- I will look for the file to which the logical name POD2MAN
- points when MMK is invoked.
-
-END
- $pod2man_exe = "pod2man";
- }
- my(@m);
- push @m,
-qq[POD2MAN_EXE = $pod2man_exe\n],
-q[POD2MAN = $(PERLRUN) "-MPod::Man" -we "%m=@ARGV;for(keys %m){" -
--e "Pod::Man->new->parse_from_file($_,$m{$_}) }"
-];
- push @m, "\nmanifypods : \$(MAN1PODS) \$(MAN3PODS)\n";
- if (%{$self->{MAN1PODS}} || %{$self->{MAN3PODS}}) {
- my($pod);
- foreach $pod (sort keys %{$self->{MAN1PODS}}) {
- push @m, qq[\t\@- If F\$Search("\$(POD2MAN_EXE)").nes."" Then \$(POD2MAN)
];
- push @m, "$pod $self->{MAN1PODS}{$pod}\n";
- }
- foreach $pod (sort keys %{$self->{MAN3PODS}}) {
- push @m, qq[\t\@- If F\$Search("\$(POD2MAN_EXE)").nes."" Then \$(POD2MAN)
];
- push @m, "$pod $self->{MAN3PODS}{$pod}\n";
- }
- }
- join('', @m);
-}
=item processPL (override)
Index: lib/ExtUtils/MM_Win32.pm
===================================================================
RCS file: /home/cvs/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win32.pm,v
retrieving revision 1.26
diff -u -r1.26 MM_Win32.pm
--- lib/ExtUtils/MM_Win32.pm 12 Nov 2002 23:50:04 -0000 1.26
+++ lib/ExtUtils/MM_Win32.pm 13 Nov 2002 10:38:14 -0000
@@ -29,7 +29,7 @@
require ExtUtils::MM_Any;
require ExtUtils::MM_Unix;
@ISA = qw( ExtUtils::MM_Any ExtUtils::MM_Unix );
-$VERSION = '1.05';
+$VERSION = '1.06';
$ENV{EMXSHELL} = 'sh'; # to run `commands`
@@ -638,7 +638,7 @@
my(@m);
push @m, '
-all :: pure_all manifypods
+all :: pure_all
'.$self->{NOECHO}.'$(NOOP)
'
unless $self->{SKIPHASH}{'all'};
@@ -689,17 +689,6 @@
};
join('',@m);
-}
-
-=item manifypods (o)
-
-We don't want manpage process.
-
-=cut
-
-sub manifypods {
- my($self) = shift;
- return "\nmanifypods :\n\t$self->{NOECHO}\$(NOOP)\n";
}
=item dist_ci (o)
Index: lib/ExtUtils/Command/MM.pm
===================================================================
RCS file: /home/cvs/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm,v
retrieving revision 1.5
diff -u -r1.5 MM.pm
--- lib/ExtUtils/Command/MM.pm 6 May 2002 04:31:12 -0000 1.5
+++ lib/ExtUtils/Command/MM.pm 13 Nov 2002 10:45:08 -0000
@@ -7,7 +7,7 @@
use vars qw($VERSION @ISA @EXPORT);
@ISA = qw(Exporter);
-@EXPORT = qw(test_harness);
+@EXPORT = qw(test_harness pod2man);
$VERSION = '0.01';
=head1 NAME
@@ -16,7 +16,7 @@
=head1 SYNOPSIS
- perl -MExtUtils::Command::MM -e "function" files...
+ perl -MExtUtils::Command::MM -e "function" -- arguments...
=head1 DESCRIPTION
@@ -53,6 +53,82 @@
unshift @INC, map { File::Spec->rel2abs($_) } @_;
Test::Harness::runtests(sort { lc $a cmp lc $b } @ARGV);
}
+
+
+
+=item B<pod2man>
+
+ pod2man( '--option=value',
+ $podfile1 => $manpage1,
+ $podfile2 => $manpage2,
+ ...
+ );
+
+pod2man() is a function performing most of the duties of the pod2man
+program. Its arguments are exactly the same as pod2man as of 5.8.0
+with the addition of:
+
+ --perm_rw octal permission to set the resulting manpage to
+
+And the removal of:
+
+ --verbose/-v
+ --help/-h
+
+=cut
+
+sub pod2man {
+ require Pod::Man;
+ require Getopt::Long;
+
+ my %options = ();
+
+ # We will cheat and just use Getopt::Long. We fool it by putting
+ # our arguments into @ARGV. Should be safe.
+ local @ARGV = @_;
+ Getopt::Long::config ('bundling_override');
+ Getopt::Long::GetOptions (\%options,
+ 'section|s=s', 'release|r=s', 'center|c=s',
+ 'date|d=s', 'fixed=s', 'fixedbold=s', 'fixeditalic=s',
+ 'fixedbolditalic=s', 'official|o', 'quotes|q=s', 'lax|l',
+ 'name|n=s', 'perm_rw=i'
+ );
+
+ # If there's no files, don't bother going further.
+ return 0 unless @ARGV;
+
+ # Official sets --center, but don't override things explicitly set.
+ if ($options{official} && !defined $options{center}) {
+ $options{center} = 'Perl Programmers Reference Guide';
+ }
+
+ # This isn't a valid Pod::Man option and is only accepted for backwards
+ # compatibility.
+ delete $options{lax};
+
+ my $parser = Pod::Man->new(%options);
+
+ do {{ # so 'next' works
+ my ($infile, $outfile) = splice(@ARGV, 0, 2);
+
+ next if ((-e $outfile) &&
+ (-M $outfile < -M $infile) &&
+ (-M $outfile < -M "Makefile"));
+
+ print "Manifying $outfile\n";
+
+ $parser->parse_from_file($infile, $outfile)
+ or do { warn("Could not install $outfile\n"); next };
+
+ if ($options{perm_rw}) {
+ chmod(oct($options{perm_rw}), $outfile)
+ or do { warn("chmod $options{perm_rw} $outfile: $!\n"); next };
+ }
+ }} while @ARGV;
+
+ return 1;
+}
+
=back
Index: t/MM_Cygwin.t
===================================================================
RCS file: /home/cvs/ExtUtils-MakeMaker/t/MM_Cygwin.t,v
retrieving revision 1.12
diff -u -r1.12 MM_Cygwin.t
--- t/MM_Cygwin.t 24 Jun 2002 03:40:40 -0000 1.12
+++ t/MM_Cygwin.t 13 Nov 2002 10:34:18 -0000
@@ -78,27 +78,15 @@
'manifypods() should return without PODS values set' );
$args->{MAN3PODS} = { foo => 1 };
-my $out = tie *STDOUT, 'FakeOut';
-{
- local $SIG{__WARN__} = sub {
- # no warnings 'redefine';
- warn @_ unless $_[0] =~ /used only once/;
- };
- no warnings 'once';
- local *MM::perl_script = sub { return };
- my $res = $args->manifypods();
- like( $$out, qr/could not locate your pod2man/,
- '... should warn if pod2man cannot be located' );
- like( $res, qr/POD2MAN_EXE = -S pod2man/,
- '... should use default pod2man target' );
- like( $res, qr/pure_all.+foo/, '... should add MAN3PODS targets' );
-}
+my $res = $args->manifypods();
+like( $res, qr/pure_all.+foo/, '... should add MAN3PODS targets' );
+
SKIP: {
skip "Only relevent in the core", 2 unless $ENV{PERL_CORE};
$args->{PERL_SRC} = File::Spec->updir;
$args->{MAN1PODS} = { bar => 1 };
- $$out = '';
+ my $out = tie *STDOUT, 'FakeOut';
$res = $args->manifypods();
is( $$out, '', '... should not warn if PERL_SRC provided' );
like( $res, qr/bar \\\n\t1 \\\n\tfoo/,
Index: t/MM_NW5.t
===================================================================
RCS file: /home/cvs/ExtUtils-MakeMaker/t/MM_NW5.t,v
retrieving revision 1.1
diff -u -r1.1 MM_NW5.t
--- t/MM_NW5.t 12 Jun 2002 23:22:48 -0000 1.1
+++ t/MM_NW5.t 13 Nov 2002 10:34:31 -0000
@@ -272,14 +272,6 @@
# xs_o() should look into that
# top_targets() should look into that
-# manifypods()
-{
- my $mm_w32 = bless { NOECHO => '' }, 'MM';
- like( $mm_w32->manifypods(),
- qr/^\nmanifypods :\n\t\$\Q(NOOP)\E\n$/,
- 'manifypods() Makefile target' );
-}
-
# dist_ci() should look into that
# dist_core() should look into that
Index: t/MM_Win32.t
===================================================================
RCS file: /home/cvs/ExtUtils-MakeMaker/t/MM_Win32.t,v
retrieving revision 1.7
diff -u -r1.7 MM_Win32.t
--- t/MM_Win32.t 5 Apr 2002 04:50:56 -0000 1.7
+++ t/MM_Win32.t 13 Nov 2002 10:31:55 -0000
@@ -272,14 +272,6 @@
# xs_o() should look into that
# top_targets() should look into that
-# manifypods()
-{
- my $mm_w32 = bless { NOECHO => '' }, 'MM';
- like( $mm_w32->manifypods(),
- qr/^\nmanifypods :\n\t\$\Q(NOOP)\E\n$/,
- 'manifypods() Makefile target' );
-}
-
# dist_ci() should look into that
# dist_core() should look into that
--
Michael G. Schwern <[EMAIL PROTECTED]> http://www.pobox.com/~schwern/
Perl Quality Assurance <[EMAIL PROTECTED]> Kwalitee Is Job One
"His plagiarism was limited only by this faulty technique."
-- Peter Schickele