You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl-cvs@perl.apache.org by st...@apache.org on 2003/03/22 08:36:58 UTC
cvs commit: modperl-2.0/xs/ModPerl/Const .cvsignore Makefile.PL
stas 2003/03/21 23:36:58
Modified: . .cvsignore Changes Makefile.PL
perl-framework/Apache-Test .cvsignore
ModPerl-Registry .cvsignore
lib/ModPerl BuildMM.pm
xs .cvsignore
xs/APR .cvsignore
xs/APR/APR .cvsignore
xs/APR/Const .cvsignore
xs/APR/PerlIO .cvsignore
xs/Apache .cvsignore
xs/Apache/Const .cvsignore
xs/ModPerl .cvsignore
xs/ModPerl/Const .cvsignore Makefile.PL
Log:
- the build now automatically glues the .pod files to the respective .pm
files, so one can use perldoc on .pm files to read the
documentation.
- had to change a few Makefile.PL's MM overrides to append their
extensions to the output of BuildMM's respective methods
Revision Changes Path
1.7 +1 -0 modperl-2.0/.cvsignore
Index: .cvsignore
===================================================================
RCS file: /home/cvs/modperl-2.0/.cvsignore,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- .cvsignore 6 Apr 2002 04:01:56 -0000 1.6
+++ .cvsignore 22 Mar 2003 07:36:57 -0000 1.7
@@ -6,3 +6,4 @@
diff.txt
smoke-report-*.txt
MANIFEST
+glue_pods
1.155 +4 -0 modperl-2.0/Changes
Index: Changes
===================================================================
RCS file: /home/cvs/modperl-2.0/Changes,v
retrieving revision 1.154
retrieving revision 1.155
diff -u -r1.154 -r1.155
--- Changes 22 Mar 2003 07:21:36 -0000 1.154
+++ Changes 22 Mar 2003 07:36:57 -0000 1.155
@@ -10,6 +10,10 @@
=item 1.99_09-dev
+the build now automatically glues the .pod files to the respective .pm
+files, so one can use perldoc on .pm files to read the
+documentation. [Stas]
+
provide a workaround for ExtUtils::MakeMaker::mv_all_methods, so
ModPerl::BuildMM and ModPerl::MM can override EU::MM methods behind
the scenes. [Stas]
1.97 +8 -2 modperl-2.0/Makefile.PL
Index: Makefile.PL
===================================================================
RCS file: /home/cvs/modperl-2.0/Makefile.PL,v
retrieving revision 1.96
retrieving revision 1.97
diff -u -r1.96 -r1.97
--- Makefile.PL 22 Mar 2003 07:21:36 -0000 1.96
+++ Makefile.PL 22 Mar 2003 07:36:57 -0000 1.97
@@ -404,7 +404,7 @@
sub MY::top_targets {
my $self = shift;
- my $string = $self->MM::top_targets;
+ my $string = $self->ModPerl::BuildMM::MY::top_targets;
ModPerl::MM::add_dep(\$string, pure_all => 'modperl_lib');
@@ -478,13 +478,19 @@
}
sub MY::postamble {
- return <<'EOF';
+ my $self = shift;
+
+ my $string = $self->ModPerl::BuildMM::MY::postamble;
+
+ $string .= <<'EOF';
mydist : manifest tardist
cvs_tag :
cvs tag MODPERL_$(VERSION_SYM) .
@echo update mod_perl.pm VERSION now
EOF
+
+ return $string;
}
sub MY::tool_autosplit {
1.2 +1 -0 httpd-test/perl-framework/Apache-Test/.cvsignore
Index: .cvsignore
===================================================================
RCS file: /home/cvs/httpd-test/perl-framework/Apache-Test/.cvsignore,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- .cvsignore 2 Apr 2001 09:36:01 -0000 1.1
+++ .cvsignore 22 Mar 2003 07:36:57 -0000 1.2
@@ -1,3 +1,4 @@
Makefile
pm_to_blib
blib
+glue_pods
1.3 +1 -0 modperl-2.0/ModPerl-Registry/.cvsignore
Index: .cvsignore
===================================================================
RCS file: /home/cvs/modperl-2.0/ModPerl-Registry/.cvsignore,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- .cvsignore 19 Oct 2001 03:00:15 -0000 1.2
+++ .cvsignore 22 Mar 2003 07:36:57 -0000 1.3
@@ -1,3 +1,4 @@
Makefile
pm_to_blib
blib
+glue_pods
1.2 +84 -0 modperl-2.0/lib/ModPerl/BuildMM.pm
Index: BuildMM.pm
===================================================================
RCS file: /home/cvs/modperl-2.0/lib/ModPerl/BuildMM.pm,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- BuildMM.pm 22 Mar 2003 07:21:36 -0000 1.1
+++ BuildMM.pm 22 Mar 2003 07:36:57 -0000 1.2
@@ -81,6 +81,11 @@
}
push @opts, TYPEMAPS => \@typemaps if @typemaps;
+ my $clean_files = (exists $args{clean} && exists $args{clean}{FILES}) ?
+ $args{clean}{FILES} : '';
+ $clean_files .= " glue_pods"; # cleanup the dependency target
+ $args{clean}{FILES} = $clean_files;
+
ExtUtils::MakeMaker::WriteMakefile(@opts, %args);
}
@@ -121,6 +126,85 @@
}
$self->MM::constants;
+}
+
+sub ModPerl::BuildMM::MY::top_targets {
+ my $self = shift;
+ my $string = $self->MM::top_targets;
+
+ ModPerl::MM::add_dep_after(\$string, "pure_all", pm_to_blib => 'glue_pods');
+
+ return $string;
+}
+
+sub ModPerl::BuildMM::MY::postamble {
+ my $self = shift;
+ my $build = build_config();
+
+ my $root = $build->{cwd};
+
+ my $doc_root = File::Spec->catdir($root, "docs", "api");
+
+ my $lib_dir = File::Spec->catdir($root, "lib");
+
+ my @targets = ();
+ my @target;
+
+ # add the code to glue the existing pods to the .pm files in blib
+
+ @target = ('glue_pods:');
+
+ if (-d $doc_root) {
+ while (my ($pm, $blib) = each %{$self->{PM}}) {
+ my $pod = File::Spec->catdir(
+ (File::Spec->splitdir($blib))[-2 .. -1]);
+ $pod =~ s/\.pm/\.pod/;
+ my $podpath = File::Spec->catfile($doc_root, $pod);
+ next unless -r $podpath;
+
+ push @target,
+ "\$(FULLPERLRUN) -Mlib=$lib_dir -MModPerl::BuildMM " .
+ "-e ModPerl::BuildMM::glue_pod $pm $podpath $blib";
+ }
+
+ push @target, $self->{NOECHO} . '$(TOUCH) $@';
+ }
+ else {
+ # we don't have the docs sub-cvs repository extracted, skip
+ # the docs gluing
+ push @target, $self->{NOECHO} . '$(NOOP)';
+ }
+ push @targets, join "\n\t", @target;
+
+# # next target: cleanup the dependency file
+# @target = ('glue_pods_clean:');
+# push @target, '$(RM_F) glue_pods';
+# push @targets, join "\n\t", @target;
+
+ return join "\n\n", @targets, '';
+}
+
+sub glue_pod {
+
+ die "expecting 3 arguments: pm, pod, dst" unless @ARGV == 3;
+ my($pm, $pod, $dst) = @ARGV;
+
+ # have we already glued the doc?
+ exit 0 unless -s $pm == -s $dst;
+
+ # ExtUtils::Install::pm_to_blib removes the 'w' perms, so we can't
+ # just append the doc there
+ my $orig_mode = (stat $dst)[2];
+ my $rw_mode = 0666;
+
+ chmod $rw_mode, $dst or die "Can't chmod $rw_mode $dst: $!";
+ open my $pod_fh, "<$pod" or die "Can't open $pod: $!";
+ open my $dst_fh, ">>$dst" or die "Can't open $dst: $!";
+ print $dst_fh (<$pod_fh>);
+ close $pod_fh;
+ close $dst_fh;
+ # restore the perms
+ chmod $orig_mode, $dst or die "Can't chmod $orig_mode $dst: $!";
}
sub ModPerl::BuildMM::MY::post_initialize {
1.5 +1 -0 modperl-2.0/xs/.cvsignore
Index: .cvsignore
===================================================================
RCS file: /home/cvs/modperl-2.0/xs/.cvsignore,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- .cvsignore 21 Oct 2001 05:29:46 -0000 1.4
+++ .cvsignore 22 Mar 2003 07:36:57 -0000 1.5
@@ -4,3 +4,4 @@
modperl_xs_sv_convert.h
*.exp
*.def
+glue_pods
1.3 +1 -0 modperl-2.0/xs/APR/.cvsignore
Index: .cvsignore
===================================================================
RCS file: /home/cvs/modperl-2.0/xs/APR/.cvsignore,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- .cvsignore 20 Mar 2003 05:53:17 -0000 1.2
+++ .cvsignore 22 Mar 2003 07:36:57 -0000 1.3
@@ -1,3 +1,4 @@
pm_to_blib
Makefile
APR.exp
+glue_pods
1.3 +1 -0 modperl-2.0/xs/APR/APR/.cvsignore
Index: .cvsignore
===================================================================
RCS file: /home/cvs/modperl-2.0/xs/APR/APR/.cvsignore,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- .cvsignore 20 Mar 2003 05:53:17 -0000 1.2
+++ .cvsignore 22 Mar 2003 07:36:57 -0000 1.3
@@ -3,3 +3,4 @@
*.c
*.bs
APR.exp
+glue_pods
1.3 +1 -0 modperl-2.0/xs/APR/Const/.cvsignore
Index: .cvsignore
===================================================================
RCS file: /home/cvs/modperl-2.0/xs/APR/Const/.cvsignore,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- .cvsignore 20 Mar 2003 05:53:17 -0000 1.2
+++ .cvsignore 22 Mar 2003 07:36:57 -0000 1.3
@@ -3,3 +3,4 @@
Const.c
Const.bs
Const.exp
+glue_pods
1.3 +1 -0 modperl-2.0/xs/APR/PerlIO/.cvsignore
Index: .cvsignore
===================================================================
RCS file: /home/cvs/modperl-2.0/xs/APR/PerlIO/.cvsignore,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- .cvsignore 20 Mar 2003 05:53:17 -0000 1.2
+++ .cvsignore 22 Mar 2003 07:36:57 -0000 1.3
@@ -3,3 +3,4 @@
PerlIO.exp
Makefile
pm_to_blib
+glue_pods
1.3 +1 -0 modperl-2.0/xs/Apache/.cvsignore
Index: .cvsignore
===================================================================
RCS file: /home/cvs/modperl-2.0/xs/Apache/.cvsignore,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- .cvsignore 20 Mar 2003 05:53:17 -0000 1.2
+++ .cvsignore 22 Mar 2003 07:36:57 -0000 1.3
@@ -1,3 +1,4 @@
pm_to_blib
Makefile
Apache.exp
+glue_pods
1.3 +1 -0 modperl-2.0/xs/Apache/Const/.cvsignore
Index: .cvsignore
===================================================================
RCS file: /home/cvs/modperl-2.0/xs/Apache/Const/.cvsignore,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- .cvsignore 20 Mar 2003 05:53:17 -0000 1.2
+++ .cvsignore 22 Mar 2003 07:36:57 -0000 1.3
@@ -3,3 +3,4 @@
Const.c
Const.bs
Const.exp
+glue_pods
1.3 +1 -0 modperl-2.0/xs/ModPerl/.cvsignore
Index: .cvsignore
===================================================================
RCS file: /home/cvs/modperl-2.0/xs/ModPerl/.cvsignore,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- .cvsignore 20 Mar 2003 05:53:17 -0000 1.2
+++ .cvsignore 22 Mar 2003 07:36:57 -0000 1.3
@@ -1,3 +1,4 @@
Makefile
pm_to_blib
ModPerl.exp
+glue_pods
1.4 +1 -0 modperl-2.0/xs/ModPerl/Const/.cvsignore
Index: .cvsignore
===================================================================
RCS file: /home/cvs/modperl-2.0/xs/ModPerl/Const/.cvsignore,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- .cvsignore 20 Mar 2003 05:53:17 -0000 1.3
+++ .cvsignore 22 Mar 2003 07:36:57 -0000 1.4
@@ -3,3 +3,4 @@
*.c
Const.bs
Const.exp
+glue_pods
1.4 +6 -1 modperl-2.0/xs/ModPerl/Const/Makefile.PL
Index: Makefile.PL
===================================================================
RCS file: /home/cvs/modperl-2.0/xs/ModPerl/Const/Makefile.PL,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- Makefile.PL 22 Mar 2003 07:21:37 -0000 1.3
+++ Makefile.PL 22 Mar 2003 07:36:57 -0000 1.4
@@ -21,7 +21,12 @@
);
sub MY::postamble {
- join '', map {
+ my $self = shift;
+ my $string = $self->ModPerl::BuildMM::MY::postamble;
+
+ $string .= join '', map {
"$_: $src{$_}\n\t\$(CP) $src{$_} .\n";
} keys %src;
+
+ return $string;
}