#!/bin/sh # # Usage: roffitall [-nroff|-psroff|-groff] # # Authors: Tom Christiansen, Raphael Manfredi me=roffitall tmp=. if test -f ../config.sh; then . ../config.sh fi mandir=$installman1dir libdir=$installman3dir test -d $mandir || mandir=/usr/new/man/man1 test -d $libdir || libdir=/usr/new/man/man3 case "$1" in -nroff) cmd="nroff -man"; ext='txt';; -psroff) cmd="psroff -t"; ext='ps';; -groff) cmd="groff -man"; ext='ps';; *) echo "Usage: roffitall [-nroff|-psroff|-groff]" >&2 exit 1 ;; esac # NEEDS TO BE BUILT BASED ON Makefile (or Makefile.SH, should such happen) toroff=` echo \ $mandir/perl.1 \ $mandir/perl5004delta.1 \ $mandir/perl5005delta.1 \ $mandir/perl56delta.1 \ $mandir/perlapi.1 \ $mandir/perlapio.1 \ $mandir/perlbook.1 \ $mandir/perlboot.1 \ $mandir/perlbot.1 \ $mandir/perlcall.1 \ $mandir/perlcompile.1 \ $mandir/perldata.1 \ $mandir/perldbmfilter.1 \ $mandir/perldebguts.1 \ $mandir/perldebug.1 \ $mandir/perldelta.1 \ $mandir/perldiag.1 \ $mandir/perldsc.1 \ $mandir/perlembed.1 \ $mandir/perlfaq.1 \ $mandir/perlfaq1.1 \ $mandir/perlfaq2.1 \ $mandir/perlfaq3.1 \ $mandir/perlfaq4.1 \ $mandir/perlfaq5.1 \ $mandir/perlfaq6.1 \ $mandir/perlfaq7.1 \ $mandir/perlfaq8.1 \ $mandir/perlfaq9.1 \ $mandir/perlfilter.1 \ $mandir/perlfork.1 \ $mandir/perlform.1 \ $mandir/perlfunc.1 \ $mandir/perlguts.1 \ $mandir/perlhack.1 \ $mandir/perlhist.1 \ $mandir/perlintern.1 \ $mandir/perlipc.1 \ $mandir/perllexwarn.1 \ $mandir/perllocale.1 \ $mandir/perllol.1 \ $mandir/perlmod.1 \ $mandir/perlmodinstall.1 \ $mandir/perlmodlib.1 \ $mandir/perlnewmod.1 \ $mandir/perlnumber.1 \ $mandir/perlobj.1 \ $mandir/perlop.1 \ $mandir/perlopentut.1 \ $mandir/perlpod.1 \ $mandir/perlport.1 \ $mandir/perlre.1 \ $mandir/perlref.1 \ $mandir/perlreftut.1 \ $mandir/perlrequick.1 \ $mandir/perlretut.1 \ $mandir/perlrun.1 \ $mandir/perlsec.1 \ $mandir/perlstyle.1 \ $mandir/perlsub.1 \ $mandir/perlsyn.1 \ $mandir/perlthrtut.1 \ $mandir/perltie.1 \ $mandir/perltoc.1 \ $mandir/perltodo.1 \ $mandir/perltooc.1 \ $mandir/perltoot.1 \ $mandir/perltrap.1 \ $mandir/perlunicode.1 \ $mandir/perlutil.1 \ $mandir/perlvar.1 \ $mandir/perlxs.1 \ $mandir/perlxstut.1 \ \ $mandir/a2p.1 \ $mandir/c2ph.1 \ $mandir/dprofpp.1 \ $mandir/h2ph.1 \ $mandir/h2xs.1 \ $mandir/perlbug.1 \ $mandir/perldoc.1 \ $mandir/pl2pm.1 \ $mandir/pod2html.1 \ $mandir/pod2man.1 \ $mandir/s2p.1 \ $mandir/splain.1 \ $mandir/xsubpp.1 \ \ $libdir/autouse.3 \ $libdir/base.3 \ $libdir/blib.3 \ $libdir/constant.3 \ $libdir/diagnostics.3 \ $libdir/fields.3 \ $libdir/filetest.3 \ $libdir/integer.3 \ $libdir/less.3 \ $libdir/lib.3 \ $libdir/locale.3 \ $libdir/ops.3 \ $libdir/overload.3 \ $libdir/re.3 \ $libdir/sigtrap.3 \ $libdir/strict.3 \ $libdir/subs.3 \ $libdir/vars.3 \ \ $libdir/AnyDBM_File.3 \ $libdir/AutoLoader.3 \ $libdir/AutoSplit.3 \ $libdir/B.3 \ $libdir/B::Asmdata.3 \ $libdir/B::Assembler.3 \ $libdir/B::Bblock.3 \ $libdir/B::Bytecode.3 \ $libdir/B::C.3 \ $libdir/B::CC.3 \ $libdir/B::Debug.3 \ $libdir/B::Deparse.3 \ $libdir/B::Disassembler.3 \ $libdir/B::Lint.3 \ $libdir/B::Showlex.3 \ $libdir/B::Stackobj.3 \ $libdir/B::Terse.3 \ $libdir/B::Xref.3 \ $libdir/Benchmark.3 \ $libdir/Carp.3 \ $libdir/CGI.3 \ $libdir/CGI::Apache.3 \ $libdir/CGI::Carp.3 \ $libdir/CGI::Cookie.3 \ $libdir/CGI::Fast.3 \ $libdir/CGI::Push.3 \ $libdir/CGI::Switch.3 \ $libdir/Class::Struct.3 \ $libdir/Config.3 \ $libdir/CPAN.3 \ $libdir/CPAN::FirstTime.3 \ $libdir/CPAN::Nox.3 \ $libdir/Cwd.3 \ $libdir/Data::Dumper.3 \ $libdir/DB_File.3 \ $libdir/Devel::SelfStubber.3 \ $libdir/DirHandle.3 \ $libdir/DynaLoader.3 \ $libdir/Dumpvalue.3 \ $libdir/English.3 \ $libdir/Env.3 \ $libdir/Errno.3 \ $libdir/Exporter.3 \ $libdir/ExtUtils::Command.3 \ $libdir/ExtUtils::Embed.3 \ $libdir/ExtUtils::Install.3 \ $libdir/ExtUtils::Installed.3 \ $libdir/ExtUtils::Liblist.3 \ $libdir/ExtUtils::MakeMaker.3 \ $libdir/ExtUtils::Manifest.3 \ $libdir/ExtUtils::Miniperl.3 \ $libdir/ExtUtils::Mkbootstrap.3 \ $libdir/ExtUtils::Mksymlists.3 \ $libdir/ExtUtils::MM_OS2.3 \ $libdir/ExtUtils::MM_Unix.3 \ $libdir/ExtUtils::MM_VMS.3 \ $libdir/ExtUtils::MM_Win32.3 \ $libdir/ExtUtils::Packlist.3 \ $libdir/ExtUtils::testlib.3 \ $libdir/Fatal.3 \ $libdir/Fcntl.3 \ $libdir/File::Basename.3 \ $libdir/File::CheckTree.3 \ $libdir/File::Compare.3 \ $libdir/File::Copy.3 \ $libdir/File::DosGlob.3 \ $libdir/File::Find.3 \ $libdir/File::Path.3 \ $libdir/File::Spec.3 \ $libdir/File::Spec::Mac.3 \ $libdir/File::Spec::OS2.3 \ $libdir/File::Spec::Unix.3 \ $libdir/File::Spec::VMS.3 \ $libdir/File::Spec::Win32.3 \ $libdir/File::stat.3 \ $libdir/FileCache.3 \ $libdir/FileHandle.3 \ $libdir/FindBin.3 \ $libdir/GDBM_File.3 \ $libdir/Getopt::Long.3 \ $libdir/Getopt::Std.3 \ $libdir/I18N::Collate.3 \ $libdir/IO.3 \ $libdir/IO::File.3 \ $libdir/IO::Handle.3 \ $libdir/IO::Pipe.3 \ $libdir/IO::Seekable.3 \ $libdir/IO::Select.3 \ $libdir/IO::Socket.3 \ $libdir/IPC::Msg.3 \ $libdir/IPC::Open2.3 \ $libdir/IPC::Open3.3 \ $libdir/IPC::Semaphore.3 \ $libdir/IPC::SysV.3 \ $libdir/Math::BigFloat.3 \ $libdir/Math::BigInt.3 \ $libdir/Math::Complex.3 \ $libdir/Math::Trig.3 \ $libdir/NDBM_File.3 \ $libdir/Net::hostent.3 \ $libdir/Net::netent.3 \ $libdir/Net::Ping.3 \ $libdir/Net::protoent.3 \ $libdir/Net::servent.3 \ $libdir/O.3 \ $libdir/Opcode.3 \ $libdir/Pod::Html.3 \ $libdir/Pod::Text.3 \ $libdir/POSIX.3 \ $libdir/Safe.3 \ $libdir/SDBM_File.3 \ $libdir/Search::Dict.3 \ $libdir/SelectSaver.3 \ $libdir/SelfLoader.3 \ $libdir/Shell.3 \ $libdir/Socket.3 \ $libdir/Symbol.3 \ $libdir/Sys::Hostname.3 \ $libdir/Sys::Syslog.3 \ $libdir/Term::Cap.3 \ $libdir/Term::Complete.3 \ $libdir/Term::ReadLine.3 \ $libdir/Test.3 \ $libdir/Test::Harness.3 \ $libdir/Text::Abbrev.3 \ $libdir/Text::ParseWords.3 \ $libdir/Text::Soundex.3 \ $libdir/Text::Tabs.3 \ $libdir/Text::Wrap.3 \ $libdir/Tie::Array.3 \ $libdir/Tie::Handle.3 \ $libdir/Tie::Hash.3 \ $libdir/Tie::RefHash.3 \ $libdir/Tie::Scalar.3 \ $libdir/Tie::SubstrHash.3 \ $libdir/Time::gmtime.3 \ $libdir/Time::Local.3 \ $libdir/Time::localtime.3 \ $libdir/Time::tm.3 \ $libdir/UNIVERSAL.3 \ $libdir/User::grent.3 \ $libdir/User::pwent.3 | \ perl -ne 'map { -r && print "$_ " } split'` # Bypass internal shell buffer limit -- can't use case if perl -e '$a = shift; exit($a =~ m|/|)' $toroff; then echo "$me: empty file list -- did you run install?" >&2 exit 1 fi #psroff -t -man -rC1 -rD1 -rF1 > $tmp/PerlDoc.ps 2>$tmp/PerlTOC.raw #nroff -man -rC1 -rD1 -rF1 > $tmp/PerlDoc.txt 2>$tmp/PerlTOC.nr.raw # First, create the raw data run="$cmd -rC1 -rD1 -rF1 >$tmp/PerlDoc.$ext 2>$tmp/PerlTOC.$ext.raw" echo "$me: running $run" eval $run $toroff #Now create the TOC echo "$me: parsing TOC" ./rofftoc $tmp/PerlTOC.$ext.raw > $tmp/PerlTOC.tmp.man run="$cmd $tmp/PerlTOC.tmp.man >$tmp/PerlTOC.$ext" echo "$me: running $run" eval $run # Finally, recreate the Doc, without the blank page 0 run="$cmd -rC1 -rD1 >$tmp/PerlDoc.$ext 2>$tmp/PerlTOC.$ext.raw" echo "$me: running $run" eval $run $toroff rm -f $tmp/PerlTOC.tmp.man $tmp/PerlTOC.$ext.raw echo "$me: leaving you with $tmp/PerlDoc.$ext and $tmp/PerlTOC.$ext"