summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MANIFEST1
-rwxr-xr-xinstallman28
-rwxr-xr-xinstallperl31
-rw-r--r--utils.lst19
4 files changed, 52 insertions, 27 deletions
diff --git a/MANIFEST b/MANIFEST
index ed59a6db12..52e4367894 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -1858,6 +1858,7 @@ utf8.h Unicode header
utfebcdic.h Unicode on EBCDIC (UTF-EBCDIC, tr16) header
util.c Utility routines
util.h Dummy header
+utils.lst Lists utilities bundled with Perl
utils/Makefile Extract the utility scripts
utils/c2ph.PL program to translate dbx stabs to perl
utils/dprofpp.PL Perl code profile post-processor
diff --git a/installman b/installman
index 2b6e6275a2..b948c78549 100755
--- a/installman
+++ b/installman
@@ -67,6 +67,7 @@ $opts{verbose} ||= $opts{V} || $opts{notify};
$packlist = ExtUtils::Packlist->new("$Config{installarchlib}/.packlist");
+
# Install the main pod pages.
runpod2man('pod', $opts{man1dir}, $opts{man1ext});
@@ -74,22 +75,17 @@ runpod2man('pod', $opts{man1dir}, $opts{man1ext});
runpod2man('lib', $opts{man3dir}, $opts{man3ext});
# Install the pods embedded in the installed scripts
-runpod2man('utils', $opts{man1dir}, $opts{man1ext}, 'c2ph', 'h2ph', 'h2xs',
- 'perlcc', 'perldoc', 'perlbug', 'pl2pm', 'splain', 'dprofpp');
-runpod2man('x2p', $opts{man1dir}, $opts{man1ext}, 's2p', 'a2p.pod',
- 'find2perl');
-runpod2man('pod', $opts{man1dir}, $opts{man1ext}, 'pod2man', 'pod2html',
- 'pod2text', 'pod2usage', 'podchecker', 'podselect');
-
-# It would probably be better to have this page linked
-# to the c2ph man page. Or, this one could say ".so man1/c2ph.1",
-# but then it would have to pay attention to $opts{man1dir} and $opts{man1ext}.
-runpod2man('utils', $opts{man1dir}, $opts{man1ext}, 'pstruct');
-
-# Similar concern as with pstruct/c2ph above: psed is s2p by other name.
-runpod2man('x2p', $opts{man1dir}, $opts{man1ext}, 'psed');
-
-runpod2man('lib/ExtUtils', $opts{man1dir}, $opts{man1ext}, 'xsubpp');
+open UTILS, "utils.lst" or die "Can't open 'utils.lst': $!";
+while (<UTILS>) {
+ next if /^#/;
+ chomp;
+ $_ = $1 if /#.*pod\s*=\s*(\S+)/;
+ my ($where, $what) = m|^(.*)/(.*)|;
+ runpod2man($where, $opts{man1dir}, $opts{man1ext}, $what);
+ if (($where, $what) = /#.*link\s*=\s*(\S+)/) {
+ runpod2man($where, $opts{man1dir}, $opts{man1ext}, $what);
+ }
+}
sub runpod2man {
# @script is scripts names if we are installing manpages embedded
diff --git a/installperl b/installperl
index 6adcdf2992..6bfbdc9a92 100755
--- a/installperl
+++ b/installperl
@@ -63,12 +63,20 @@ while (@ARGV) {
}
$versiononly = 1 if $Config{versiononly} && !defined $versiononly;
-
-my @scripts = qw(utils/c2ph utils/h2ph utils/h2xs utils/perlbug utils/perldoc
- utils/pl2pm utils/splain utils/perlcc utils/dprofpp
- x2p/s2p x2p/find2perl
- pod/pod2man pod/pod2html pod/pod2latex pod/pod2text
- pod/pod2usage pod/podchecker pod/podselect);
+my (@scripts, @tolink);
+open SCRIPTS, "utils.lst" or die "Can't open utils.lst: $!";
+while (<SCRIPTS>) {
+ next if /^#/;
+ next if /#\s*pod\s*=/; # Binary programs need separate treatment
+ chomp;
+ if (/(\S*)\s*#\s*link\s*=\s*(\S*)/) {
+ push @scripts, $1;
+ push @tolink, [$1, $2];
+ } else {
+ push @scripts, $_;
+ }
+}
+close SCRIPTS;
if ($scr_ext) { @scripts = map { "$_$scr_ext" } @scripts; }
@@ -417,11 +425,12 @@ if (! $versiononly) {
chmod(0755, "$installscript/$base");
}
- # pstruct should be a link to c2ph
- script_alias($installscript, 'c2ph', 'pstruct', $scr_ext);
-
- # psed should be a link to s2p
- script_alias($installscript, 's2p', 'psed', $scr_ext);
+ for (@tolink) {
+ my ($from, $to)= @$_;
+ (my $frbase = $from) =~ s#.*/##;
+ (my $tobase = $to) =~ s#.*/##;
+ script_alias($installscript, $frbase, $tobase, $scr_ext);
+ }
}
# Install pod pages. Where? I guess in $installprivlib/pod
diff --git a/utils.lst b/utils.lst
new file mode 100644
index 0000000000..a3cd5a82cb
--- /dev/null
+++ b/utils.lst
@@ -0,0 +1,19 @@
+utils/c2ph # link = utils/pstruct
+utils/h2ph
+utils/h2xs
+utils/perlcc
+utils/perldoc
+utils/perlbug
+utils/pl2pm
+utils/splain
+utils/dproffpp
+x2p/s2p # link = xsp/psed
+x2p/findperl
+x2p/a2p # pod = x2p/a2p.pod
+pod/pod2man
+pod/pod2html
+pod/pod2text
+pod/pod2usage
+pod/podchecker
+pod/podselect
+lib/ExtUtils/xsubpp