diff options
author | Simon Cozens <simon@netthink.co.uk> | 2001-05-16 16:57:55 +0100 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2001-05-16 14:18:56 +0000 |
commit | 21dae8a00fcb221ff7938f32cdc0ecd0190ae224 (patch) | |
tree | 0d774905306214065ce8298cd7184cdd9063e444 | |
parent | fd15e78369fdf756c6e71889b4ecf6804ef91244 (diff) | |
download | perl-21dae8a00fcb221ff7938f32cdc0ecd0190ae224.tar.gz |
Re: [PATCH] Abstract "utility" information from installman
Message-ID: <20010516155755.A4728@netthink.co.uk>
p4raw-id: //depot/perl@10129
-rw-r--r-- | MANIFEST | 1 | ||||
-rwxr-xr-x | installman | 28 | ||||
-rwxr-xr-x | installperl | 31 | ||||
-rw-r--r-- | utils.lst | 19 |
4 files changed, 52 insertions, 27 deletions
@@ -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 |