Don't count on 'trap 0' inside () in shell script
[perl.git] / pod / roffitall
1 #!/bin/sh
2 #
3 # Usage: roffitall [-nroff|-psroff|-groff]
4 #
5 # Authors: Tom Christiansen, Raphael Manfredi
6
7 me=roffitall
8 tmp=.
9
10 if test -f ../config.sh; then
11         . ../config.sh
12 fi
13
14 mandir=$installman1dir
15 libdir=$installman3dir
16
17 test -d $mandir || mandir=/usr/local/man/man1
18 test -d $libdir || libdir=/usr/local/man/man3
19
20 case "$1" in
21 -nroff) cmd="nroff -man"; ext='txt';;
22 -psroff) cmd="psroff -t"; ext='ps';;
23 -groff) cmd="groff -man"; ext='ps';;
24 *)
25         echo "Usage: roffitall [-nroff|-psroff|-groff]" >&2
26         exit 1
27         ;;
28 esac
29
30 toroff=`
31         echo            \
32     $mandir/perl.1      \
33     $mandir/perldelta.1 \
34     $mandir/perldata.1  \
35     $mandir/perlsyn.1   \
36     $mandir/perlop.1    \
37     $mandir/perlre.1    \
38     $mandir/perlrun.1   \
39     $mandir/perllocale.1        \
40     $mandir/perlfunc.1  \
41     $mandir/perlvar.1   \
42     $mandir/perlsub.1   \
43     $mandir/perlmod.1   \
44     $mandir/perlref.1   \
45     $mandir/perldsc.1   \
46     $mandir/perllol.1   \
47     $mandir/perlobj.1   \
48     $mandir/perltie.1   \
49     $mandir/perltoot.1  \
50     $mandir/perlbot.1   \
51     $mandir/perldebug.1 \
52     $mandir/perldiag.1  \
53     $mandir/perlform.1  \
54     $mandir/perlipc.1   \
55     $mandir/perlsec.1   \
56     $mandir/perltrap.1  \
57     $mandir/perlstyle.1 \
58     $mandir/perlapio.1  \
59     $mandir/perlxs.1    \
60     $mandir/perlxstut.1 \
61     $mandir/perlguts.1  \
62     $mandir/perlcall.1  \
63     $mandir/perlembed.1 \
64     $mandir/perlpod.1   \
65     $mandir/perlbook.1  \
66         \
67     $libdir/blib.3      \
68     $libdir/diagnostics.3       \
69     $libdir/integer.3   \
70     $libdir/less.3      \
71     $libdir/lib.3       \
72     $libdir/locale.3    \
73     $libdir/overload.3  \
74     $libdir/sigtrap.3   \
75     $libdir/strict.3    \
76     $libdir/subs.3      \
77     $libdir/vars.3      \
78         \
79     $libdir/AnyDBM_File.3       \
80     $libdir/AutoLoader.3        \
81     $libdir/AutoSplit.3 \
82     $libdir/Benchmark.3 \
83     $libdir/Carp.3      \
84     $libdir/Config.3    \
85     $libdir/Cwd.3       \
86     $libdir/DB_File.3   \
87     $libdir/Devel::SelfStubber.3        \
88     $libdir/DynaLoader.3        \
89     $libdir/English.3   \
90     $libdir/Env.3       \
91     $libdir/Exporter.3  \
92     $libdir/ExtUtils::Embed.3   \
93     $libdir/ExtUtils::Install.3 \
94     $libdir/ExtUtils::Liblist.3 \
95     $libdir/ExtUtils::MakeMaker.3       \
96     $libdir/ExtUtils::Manifest.3        \
97     $libdir/ExtUtils::Mkbootstrap.3     \
98     $libdir/ExtUtils::Mksymlists.3      \
99     $libdir/Fcntl.3     \
100     $libdir/File::Basename.3    \
101     $libdir/File::CheckTree.3   \
102     $libdir/File::Copy.3        \
103     $libdir/File::Compare.3     \
104     $libdir/File::Find.3        \
105     $libdir/File::Path.3        \
106     $libdir/File::stat.3        \
107     $libdir/FileCache.3 \
108     $libdir/FileHandle.3        \
109     $libdir/FindBin.3   \
110     $libdir/Getopt::Long.3      \
111     $libdir/Getopt::Std.3       \
112     $libdir/I18N::Collate.3     \
113     $libdir/IO.3 \
114     $libdir/IO::File.3 \
115     $libdir/IO::Handle.3 \
116     $libdir/IO::Pipe.3 \
117     $libdir/IO::Seekable.3 \
118     $libdir/IO::Select.3 \
119     $libdir/IO::Socket.3 \
120     $libdir/IPC::Open2.3        \
121     $libdir/IPC::Open3.3        \
122     $libdir/Math::BigFloat.3    \
123     $libdir/Math::BigInt.3      \
124     $libdir/Math::Complex.3     \
125     $libdir/Net::Ping.3 \
126     $libdir/Net::hostent.3      \
127     $libdir/Net::netent.3       \
128     $libdir/Net::protoent.3     \
129     $libdir/Net::servent.3      \
130     $libdir/Opcode.3    \
131     $libdir/POSIX.3     \
132     $libdir/Pod::Text.3 \
133     $libdir/Safe.3      \
134     $libdir/Search::Dict.3      \
135     $libdir/SelectSaver.3       \
136     $libdir/SelfLoader.3        \
137     $libdir/Shell.3     \
138     $libdir/Socket.3    \
139     $libdir/Symbol.3    \
140     $libdir/Sys::Hostname.3     \
141     $libdir/Sys::Syslog.3       \
142     $libdir/Term::Cap.3 \
143     $libdir/Term::Complete.3    \
144     $libdir/Test::Harness.3     \
145     $libdir/Text::Abbrev.3      \
146     $libdir/Text::ParseWords.3  \
147     $libdir/Text::Soundex.3     \
148     $libdir/Text::Tabs.3        \
149     $libdir/Tie::Hash.3 \
150     $libdir/Tie::RefHash.3      \
151     $libdir/Tie::Scalar.3       \
152     $libdir/Tie::SubstrHash.3   \
153     $libdir/Time::Local.3               \
154     $libdir/Time::gmtime.3      \
155     $libdir/Time::localtime.3   \
156     $libdir/Time::tm.3          \
157     $libdir/UNIVERSAL.3         \
158     $libdir/User::grent.3               \
159     $libdir/User::pwent.3 | \
160 perl -ne 'map { -r && print "$_ " } split'`
161
162 # Bypass internal shell buffer limit -- can't use case
163 if perl -e '$a = shift; exit($a =~ m|/|)' $toroff; then
164         echo "$me: empty file list -- did you run install?" >&2
165         exit 1
166 fi
167
168 #psroff -t -man -rC1 -rD1 -rF1 > $tmp/PerlDoc.ps 2>$tmp/PerlTOC.raw
169 #nroff -man -rC1 -rD1 -rF1 > $tmp/PerlDoc.txt 2>$tmp/PerlTOC.nr.raw
170
171 run="$cmd -rC1 -rD1 -rF1 >$tmp/PerlDoc.$ext 2>$tmp/PerlTOC.$ext.raw"
172 echo "$me: running $run"
173 eval $run $toroff
174 echo "$me: parsing TOC"
175 ./rofftoc $tmp/PerlTOC.$ext.raw > $tmp/PerlTOC.tmp.man
176 run="$cmd $tmp/PerlTOC.tmp.man >$tmp/PerlTOC.$ext"
177 echo "$me: running $run"
178 eval $run
179 rm -f $tmp/PerlTOC.tmp.man $tmp/PerlTOC.$ext.raw
180 echo "$me: leaving you with $tmp/PerlDoc.$ext and $tmp/PerlTOC.$ext"
181