This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
enable the PERL_BINMODE_SCRIPTS behavior by default on Windows
[perl5.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/new/man/man1
18 test -d $libdir || libdir=/usr/new/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/perldata.1  \
34     $mandir/perlsyn.1   \
35     $mandir/perlop.1    \
36     $mandir/perlre.1    \
37     $mandir/perlrun.1   \
38     $mandir/perlfunc.1  \
39     $mandir/perlvar.1   \
40     $mandir/perlsub.1   \
41     $mandir/perlopentut.1       \
42     $mandir/perlmod.1   \
43     $mandir/perlmodlib.1        \
44     $mandir/perlmodinstall.1    \
45     $mandir/perlfork.1  \
46     $mandir/perlform.1  \
47     $mandir/perllocale.1        \
48     $mandir/perlref.1   \
49     $mandir/perlreftut.1        \
50     $mandir/perldsc.1   \
51     $mandir/perllol.1   \
52     $mandir/perltoot.1  \
53     $mandir/perlobj.1   \
54     $mandir/perltie.1   \
55     $mandir/perlbot.1   \
56     $mandir/perlipc.1   \
57     $mandir/perlthrtut.1        \
58     $mandir/perldebug.1 \
59     $mandir/perldiag.1  \
60     $mandir/perlsec.1   \
61     $mandir/perltrap.1  \
62     $mandir/perlport.1  \
63     $mandir/perlstyle.1 \
64     $mandir/perlpod.1   \
65     $mandir/perlbook.1  \
66     $mandir/perlembed.1 \
67     $mandir/perlapio.1  \
68     $mandir/perlxs.1    \
69     $mandir/perlxstut.1 \
70     $mandir/perlguts.1  \
71     $mandir/perlcall.1  \
72     $mandir/perlcompile.1       \
73     $mandir/perltodo.1  \
74     $mandir/perlhack.1  \
75     $mandir/perlhist.1  \
76     $mandir/perldelta.1 \
77     $mandir/perl5004delta.1     \
78     $mandir/perl5005delta.1     \
79     $mandir/perlfaq.1   \
80     $mandir/perlfaq1.1  \
81     $mandir/perlfaq2.1  \
82     $mandir/perlfaq3.1  \
83     $mandir/perlfaq4.1  \
84     $mandir/perlfaq5.1  \
85     $mandir/perlfaq6.1  \
86     $mandir/perlfaq7.1  \
87     $mandir/perlfaq8.1  \
88     $mandir/perlfaq9.1  \
89         \
90     $mandir/a2p.1       \
91     $mandir/c2ph.1      \
92     $mandir/dprofpp.1   \
93     $mandir/h2ph.1      \
94     $mandir/h2xs.1      \
95     $mandir/perlbug.1   \
96     $mandir/perldoc.1   \
97     $mandir/pl2pm.1     \
98     $mandir/pod2html.1  \
99     $mandir/pod2man.1   \
100     $mandir/s2p.1       \
101     $mandir/splain.1    \
102     $mandir/xsubpp.1    \
103                         \
104     $libdir/attrs.3     \
105     $libdir/autouse.3   \
106     $libdir/base.3      \
107     $libdir/blib.3      \
108     $libdir/constant.3  \
109     $libdir/diagnostics.3       \
110     $libdir/fields.3    \
111     $libdir/filetest.3  \
112     $libdir/integer.3   \
113     $libdir/less.3      \
114     $libdir/lib.3       \
115     $libdir/locale.3    \
116     $libdir/ops.3       \
117     $libdir/overload.3  \
118     $libdir/re.3        \
119     $libdir/sigtrap.3   \
120     $libdir/strict.3    \
121     $libdir/subs.3      \
122     $libdir/vars.3      \
123         \
124     $libdir/AnyDBM_File.3       \
125     $libdir/AutoLoader.3        \
126     $libdir/AutoSplit.3 \
127     $libdir/B.3 \
128     $libdir/B::Asmdata.3        \
129     $libdir/B::Assembler.3      \
130     $libdir/B::Bblock.3 \
131     $libdir/B::Bytecode.3       \
132     $libdir/B::C.3      \
133     $libdir/B::CC.3     \
134     $libdir/B::Debug.3  \
135     $libdir/B::Deparse.3        \
136     $libdir/B::Disassembler.3   \
137     $libdir/B::Lint.3   \
138     $libdir/B::Showlex.3        \
139     $libdir/B::Stackobj.3       \
140     $libdir/B::Terse.3  \
141     $libdir/B::Xref.3   \
142     $libdir/Benchmark.3 \
143     $libdir/Carp.3      \
144     $libdir/CGI.3       \
145     $libdir/CGI::Apache.3       \
146     $libdir/CGI::Carp.3 \
147     $libdir/CGI::Cookie.3       \
148     $libdir/CGI::Fast.3 \
149     $libdir/CGI::Push.3 \
150     $libdir/CGI::Switch.3       \
151     $libdir/Class::Struct.3     \
152     $libdir/Config.3    \
153     $libdir/CPAN.3      \
154     $libdir/CPAN::FirstTime.3   \
155     $libdir/CPAN::Nox.3 \
156     $libdir/Cwd.3       \
157     $libdir/Data::Dumper.3      \
158     $libdir/DB_File.3   \
159     $libdir/Devel::SelfStubber.3        \
160     $libdir/DirHandle.3 \
161     $libdir/DynaLoader.3        \
162     $libdir/Dumpvalue.3 \
163     $libdir/English.3   \
164     $libdir/Env.3       \
165     $libdir/Errno.3     \
166     $libdir/Exporter.3  \
167     $libdir/ExtUtils::Command.3 \
168     $libdir/ExtUtils::Embed.3   \
169     $libdir/ExtUtils::Install.3 \
170     $libdir/ExtUtils::Installed.3       \
171     $libdir/ExtUtils::Liblist.3 \
172     $libdir/ExtUtils::MakeMaker.3       \
173     $libdir/ExtUtils::Manifest.3        \
174     $libdir/ExtUtils::Miniperl.3        \
175     $libdir/ExtUtils::Mkbootstrap.3     \
176     $libdir/ExtUtils::Mksymlists.3      \
177     $libdir/ExtUtils::MM_OS2.3  \
178     $libdir/ExtUtils::MM_Unix.3 \
179     $libdir/ExtUtils::MM_VMS.3  \
180     $libdir/ExtUtils::MM_Win32.3        \
181     $libdir/ExtUtils::Packlist.3        \
182     $libdir/ExtUtils::testlib.3 \
183     $libdir/Fatal.3     \
184     $libdir/Fcntl.3     \
185     $libdir/File::Basename.3    \
186     $libdir/File::CheckTree.3   \
187     $libdir/File::Compare.3     \
188     $libdir/File::Copy.3        \
189     $libdir/File::DosGlob.3     \
190     $libdir/File::Find.3        \
191     $libdir/File::Path.3        \
192     $libdir/File::Spec.3        \
193     $libdir/File::Spec::Mac.3   \
194     $libdir/File::Spec::OS2.3   \
195     $libdir/File::Spec::Unix.3  \
196     $libdir/File::Spec::VMS.3   \
197     $libdir/File::Spec::Win32.3 \
198     $libdir/File::stat.3        \
199     $libdir/FileCache.3 \
200     $libdir/FileHandle.3        \
201     $libdir/FindBin.3   \
202     $libdir/GDBM_File.3 \
203     $libdir/Getopt::Long.3      \
204     $libdir/Getopt::Std.3       \
205     $libdir/I18N::Collate.3     \
206     $libdir/IO.3 \
207     $libdir/IO::File.3 \
208     $libdir/IO::Handle.3 \
209     $libdir/IO::Pipe.3 \
210     $libdir/IO::Seekable.3 \
211     $libdir/IO::Select.3 \
212     $libdir/IO::Socket.3 \
213     $libdir/IPC::Msg.3  \
214     $libdir/IPC::Open2.3        \
215     $libdir/IPC::Open3.3        \
216     $libdir/IPC::Semaphore.3    \
217     $libdir/IPC::SysV.3 \
218     $libdir/Math::BigFloat.3    \
219     $libdir/Math::BigInt.3      \
220     $libdir/Math::Complex.3     \
221     $libdir/Math::Trig.3        \
222     $libdir/NDBM_File.3 \
223     $libdir/Net::hostent.3      \
224     $libdir/Net::netent.3       \
225     $libdir/Net::Ping.3 \
226     $libdir/Net::protoent.3     \
227     $libdir/Net::servent.3      \
228     $libdir/O.3 \
229     $libdir/Opcode.3    \
230     $libdir/Pod::Html.3 \
231     $libdir/Pod::Text.3 \
232     $libdir/POSIX.3     \
233     $libdir/Safe.3      \
234     $libdir/SDBM_File.3 \
235     $libdir/Search::Dict.3      \
236     $libdir/SelectSaver.3       \
237     $libdir/SelfLoader.3        \
238     $libdir/Shell.3     \
239     $libdir/Socket.3    \
240     $libdir/Symbol.3    \
241     $libdir/Sys::Hostname.3     \
242     $libdir/Sys::Syslog.3       \
243     $libdir/Term::Cap.3 \
244     $libdir/Term::Complete.3    \
245     $libdir/Term::ReadLine.3    \
246     $libdir/Test.3      \
247     $libdir/Test::Harness.3     \
248     $libdir/Text::Abbrev.3      \
249     $libdir/Text::ParseWords.3  \
250     $libdir/Text::Soundex.3     \
251     $libdir/Text::Tabs.3        \
252     $libdir/Text::Wrap.3        \
253     $libdir/Tie::Array.3        \
254     $libdir/Tie::Handle.3       \
255     $libdir/Tie::Hash.3 \
256     $libdir/Tie::RefHash.3      \
257     $libdir/Tie::Scalar.3       \
258     $libdir/Tie::SubstrHash.3   \
259     $libdir/Time::gmtime.3      \
260     $libdir/Time::Local.3       \
261     $libdir/Time::localtime.3   \
262     $libdir/Time::tm.3          \
263     $libdir/UNIVERSAL.3         \
264     $libdir/User::grent.3               \
265     $libdir/User::pwent.3 | \
266     perl -ne 'map { -r && print "$_ " } split'`
267
268     # Bypass internal shell buffer limit -- can't use case
269     if perl -e '$a = shift; exit($a =~ m|/|)' $toroff; then
270         echo "$me: empty file list -- did you run install?" >&2
271         exit 1
272     fi
273
274     #psroff -t -man -rC1 -rD1 -rF1 > $tmp/PerlDoc.ps 2>$tmp/PerlTOC.raw
275     #nroff -man -rC1 -rD1 -rF1 > $tmp/PerlDoc.txt 2>$tmp/PerlTOC.nr.raw
276
277     # First, create the raw data
278     run="$cmd -rC1 -rD1 -rF1 >$tmp/PerlDoc.$ext 2>$tmp/PerlTOC.$ext.raw"
279     echo "$me: running $run"
280     eval $run $toroff
281
282     #Now create the TOC
283     echo "$me: parsing TOC"
284     ./rofftoc $tmp/PerlTOC.$ext.raw > $tmp/PerlTOC.tmp.man
285     run="$cmd $tmp/PerlTOC.tmp.man >$tmp/PerlTOC.$ext"
286     echo "$me: running $run"
287     eval $run
288
289     # Finally, recreate the Doc, without the blank page 0
290     run="$cmd -rC1 -rD1 >$tmp/PerlDoc.$ext 2>$tmp/PerlTOC.$ext.raw"
291     echo "$me: running $run"
292     eval $run $toroff
293     rm -f $tmp/PerlTOC.tmp.man $tmp/PerlTOC.$ext.raw
294     echo "$me: leaving you with $tmp/PerlDoc.$ext and $tmp/PerlTOC.$ext"
295