This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Removed unnecessary pointers checks
[perl5.git] / pod / roffitall
old mode 100755 (executable)
new mode 100644 (file)
index abc71a6..8f897da
@@ -7,11 +7,15 @@
 me=roffitall
 tmp=.
 
-#manroot=/usr/local
-#libroot=/usr/local
+if test -f ../config.sh; then
+       . ../config.sh
+fi
 
-manroot=$HOME/usr
-libroot=$HOME/usr/lib/perl5
+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';;
@@ -23,149 +27,286 @@ case "$1" in
        ;;
 esac
 
+# NEEDS TO BE BUILT BASED ON Makefile (or Makefile.SH, should such happen)
 toroff=`
        echo            \
-    $manroot/man/man1/perl.1   \
-    $manroot/man/man1/perlnews.1       \
-    $manroot/man/man1/perldata.1       \
-    $manroot/man/man1/perlsyn.1        \
-    $manroot/man/man1/perlop.1 \
-    $manroot/man/man1/perlre.1 \
-    $manroot/man/man1/perlrun.1        \
-    $manroot/man/man1/perllocale.1     \
-    $manroot/man/man1/perlfunc.1       \
-    $manroot/man/man1/perlvar.1        \
-    $manroot/man/man1/perlsub.1        \
-    $manroot/man/man1/perlmod.1        \
-    $manroot/man/man1/perlref.1        \
-    $manroot/man/man1/perldsc.1        \
-    $manroot/man/man1/perllol.1        \
-    $manroot/man/man1/perlobj.1        \
-    $manroot/man/man1/perltie.1        \
-    $manroot/man/man1/perlbot.1        \
-    $manroot/man/man1/perldebug.1      \
-    $manroot/man/man1/perldiag.1       \
-    $manroot/man/man1/perlform.1       \
-    $manroot/man/man1/perlipc.1        \
-    $manroot/man/man1/perlsec.1        \
-    $manroot/man/man1/perltrap.1       \
-    $manroot/man/man1/perlstyle.1      \
-    $manroot/man/man1/perlapio.1       \
-    $manroot/man/man1/perlxs.1 \
-    $manroot/man/man1/perlxstut.1      \
-    $manroot/man/man1/perlguts.1       \
-    $manroot/man/man1/perlcall.1       \
-    $manroot/man/man1/perlembed.1      \
-    $manroot/man/man1/perlpod.1        \
-    $manroot/man/man1/perlbook.1       \
+       $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     \
        \
-    $libroot/man/man3/blib.3   \
-    $libroot/man/man3/diagnostics.3    \
-    $libroot/man/man3/integer.3        \
-    $libroot/man/man3/less.3   \
-    $libroot/man/man3/lib.3    \
-    $libroot/man/man3/localle.3        \
-    $libroot/man/man3/overload.3       \
-    $libroot/man/man3/sigtrap.3        \
-    $libroot/man/man3/strict.3 \
-    $libroot/man/man3/subs.3   \
-    $libroot/man/man3/vars.3   \
+    $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/attrs.3    \
+    $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     \
        \
-    $libroot/man/man3/AnyDBM_File.3    \
-    $libroot/man/man3/AutoLoader.3     \
-    $libroot/man/man3/AutoSplit.3      \
-    $libroot/man/man3/Benchmark.3      \
-    $libroot/man/man3/Carp.3   \
-    $libroot/man/man3/Config.3 \
-    $libroot/man/man3/Cwd.3    \
-    $libroot/man/man3/DB_File.3        \
-    $libroot/man/man3/Devel::SelfStubber.3     \
-    $libroot/man/man3/DynaLoader.3     \
-    $libroot/man/man3/English.3        \
-    $libroot/man/man3/Env.3    \
-    $libroot/man/man3/Exporter.3       \
-    $libroot/man/man3/ExtUtils::Embed.3        \
-    $libroot/man/man3/ExtUtils::Install.3      \
-    $libroot/man/man3/ExtUtils::Liblist.3      \
-    $libroot/man/man3/ExtUtils::MakeMaker.3    \
-    $libroot/man/man3/ExtUtils::Manifest.3     \
-    $libroot/man/man3/ExtUtils::Mkbootstrap.3  \
-    $libroot/man/man3/ExtUtils::Mksymlists.3   \
-    $libroot/man/man3/Fatal.3  \
-    $libroot/man/man3/Fcntl.3  \
-    $libroot/man/man3/File::Basename.3 \
-    $libroot/man/man3/File::CheckTree.3        \
-    $libroot/man/man3/File::Copy.3     \
-    $libroot/man/man3/File::Compare.3  \
-    $libroot/man/man3/File::Find.3     \
-    $libroot/man/man3/File::Path.3     \
-    $libroot/man/man3/File::stat.3     \
-    $libroot/man/man3/FileCache.3      \
-    $libroot/man/man3/FileHandle.3     \
-    $libroot/man/man3/FindBin.3        \
-    $libroot/man/man3/Getopt::Long.3   \
-    $libroot/man/man3/Getopt::Std.3    \
-    $libroot/man/man3/I18N::Collate.3  \
-    $libroot/man/man3/IO.3 \
-    $libroot/man/man3/IO::File.3 \
-    $libroot/man/man3/IO::Handle.3 \
-    $libroot/man/man3/IO::Pipe.3 \
-    $libroot/man/man3/IO::Seekable.3 \
-    $libroot/man/man3/IO::Select.3 \
-    $libroot/man/man3/IO::Socket.3 \
-    $libroot/man/man3/IPC::Open2.3     \
-    $libroot/man/man3/IPC::Open3.3     \
-    $libroot/man/man3/Math::BigFloat.3 \
-    $libroot/man/man3/Math::BigInt.3   \
-    $libroot/man/man3/Math::Complex.3  \
-    $libroot/man/man3/Net::Ping.3      \
-    $libroot/man/man3/Net::hostent.3   \
-    $libroot/man/man3/Net::netent.3    \
-    $libroot/man/man3/Net::protoent.3  \
-    $libroot/man/man3/Net::servent.3   \
-    $libroot/man/man3/Opcode.3 \
-    $libroot/man/man3/POSIX.3  \
-    $libroot/man/man3/Pod::Text.3      \
-    $libroot/man/man3/Safe.3   \
-    $libroot/man/man3/Search::Dict.3   \
-    $libroot/man/man3/SelectSaver.3    \
-    $libroot/man/man3/SelfLoader.3     \
-    $libroot/man/man3/Shell.3  \
-    $libroot/man/man3/Socket.3 \
-    $libroot/man/man3/Symbol.3 \
-    $libroot/man/man3/Sys::Hostname.3  \
-    $libroot/man/man3/Sys::Syslog.3    \
-    $libroot/man/man3/Term::Cap.3      \
-    $libroot/man/man3/Term::Complete.3 \
-    $libroot/man/man3/Test::Harness.3  \
-    $libroot/man/man3/Text::Abbrev.3   \
-    $libroot/man/man3/Text::ParseWords.3       \
-    $libroot/man/man3/Text::Soundex.3  \
-    $libroot/man/man3/Text::Tabs.3     \
-    $libroot/man/man3/Tie::Hash.3      \
-    $libroot/man/man3/Tie::RefHash.3   \
-    $libroot/man/man3/Tie::Scalar.3    \
-    $libroot/man/man3/Tie::SubstrHash.3        \
-    $libroot/man/man3/Time::Local.3            \
-    $libroot/man/man3/Time::gmtime.3   \
-    $libroot/man/man3/Time::localtime.3        \
-    $libroot/man/man3/Time::tm.3               \
-    $libroot/man/man3/UNIVERSAL.3              \
-    $libroot/man/man3/User::grent.3            \
-    $libroot/man/man3/User::pwent.3 | \
-perl -ne 'map { -r && print "$_ " } split'`
+    $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
 
-#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
+    #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
 
-run="$cmd -rC1 -rD1 -rF1 >$tmp/PerlDoc.$ext 2>$tmp/PerlTOC.$ext.raw"
-echo "$me: running $run"
-eval $run $toroff
-echo "$me: parsing TOC"
-./parsetoc $tmp/PerlTOC.$ext.raw > $tmp/PerlTOC.tmp.man
-run="$cmd $tmp/PerlTOC.tmp.man >$tmp/PerlTOC.$ext"
-echo "$me: running $run"
-eval $run
-rm -f $tmp/PerlTOC.tmp.man $tmp/PerlTOC.$ext.raw
-echo "$me: leaving you with $tmp/PerlDoc.$ext and $tmp/PerlTOC.$ext"
+    # 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"