This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Once again syncing after too long an absence
authorCharles Bailey <bailey@newman.upenn.edu>
Mon, 8 Jan 2001 08:53:52 +0000 (08:53 +0000)
committerbailey <bailey@newman.upenn.edu>
Mon, 8 Jan 2001 08:53:52 +0000 (08:53 +0000)
p4raw-id: //depot/vmsperl@8367

546 files changed:
AUTHORS
Changes5.6
Configure
EXTERN.h
INSTALL
INTERN.h
MAINTAIN [deleted file]
MANIFEST
Makefile.SH
Porting/Contract
Porting/Glossary
Porting/config.sh
Porting/config_H
Porting/genlog
Porting/pumpkin.pod
Porting/repository.pod [new file with mode: 0644]
README
README.aix
README.amiga
README.cygwin
README.dos
README.epoc
README.hpux
README.mpeix
README.os2
README.os390
README.solaris [new file with mode: 0644]
README.vos
README.win32
av.c
av.h
bytecode.pl
config_h.SH
configure.com
cop.h
cv.h
cygwin/cygwin.c
deb.c
djgpp/config.over
djgpp/djgpp.c
doio.c
doop.c
dump.c
emacs/cperl-mode.el
emacs/ptags
embed.h
embed.pl
embedvar.h
epoc/config.sh
epoc/epoc.c
epoc/epocish.c
ext/B/B.pm
ext/B/B.xs
ext/B/B/C.pm
ext/B/B/Deparse.pm
ext/B/B/Lint.pm
ext/B/B/Terse.pm
ext/ByteLoader/ByteLoader.xs
ext/ByteLoader/byterun.c
ext/DB_File/Changes
ext/DB_File/DB_File.pm
ext/DB_File/DB_File.xs
ext/DB_File/dbinfo
ext/DB_File/typemap
ext/DB_File/version.c
ext/Devel/DProf/DProf.xs
ext/Devel/Peek/Peek.xs
ext/DynaLoader/DynaLoader_pm.PL
ext/DynaLoader/dl_aix.xs
ext/Encode/Encode.pm
ext/Encode/Encode.xs
ext/Encode/Encode/EncodeFormat.pod [new file with mode: 0644]
ext/Encode/Encode/ascii.enc
ext/Encode/Encode/cp1006.enc [new file with mode: 0644]
ext/Encode/Encode/cp1047.enc [new file with mode: 0644]
ext/Encode/Encode/cp37.enc [new file with mode: 0644]
ext/Encode/Encode/cp424.enc [new file with mode: 0644]
ext/Encode/Encode/cp856.enc [new file with mode: 0644]
ext/Encode/Encode/gsm0338.enc [new file with mode: 0644]
ext/Encode/Encode/iso8859-10.enc [new file with mode: 0644]
ext/Encode/Encode/iso8859-13.enc [new file with mode: 0644]
ext/Encode/Encode/iso8859-14.enc [new file with mode: 0644]
ext/Encode/Encode/iso8859-15.enc [new file with mode: 0644]
ext/Encode/Encode/iso8859-16.enc [new file with mode: 0644]
ext/Encode/Encode/posix-bc.enc [new file with mode: 0644]
ext/Encode/Makefile.PL
ext/Encode/compile [new file with mode: 0755]
ext/Encode/encengine.c [new file with mode: 0644]
ext/Encode/encode.h [new file with mode: 0644]
ext/Errno/Errno_pm.PL
ext/Fcntl/Fcntl.pm
ext/Fcntl/Fcntl.xs
ext/Filter/Util/Call/Call.pm [new file with mode: 0644]
ext/Filter/Util/Call/Call.xs [new file with mode: 0644]
ext/Filter/Util/Call/Makefile.PL [new file with mode: 0644]
ext/GDBM_File/GDBM_File.pm
ext/GDBM_File/GDBM_File.xs
ext/GDBM_File/typemap
ext/IO/IO.xs
ext/IO/lib/IO/Handle.pm
ext/IO/lib/IO/Seekable.pm
ext/IO/lib/IO/Select.pm
ext/IPC/SysV/SysV.xs
ext/NDBM_File/NDBM_File.pm
ext/NDBM_File/NDBM_File.xs
ext/NDBM_File/typemap
ext/ODBM_File/ODBM_File.pm
ext/ODBM_File/ODBM_File.xs
ext/ODBM_File/typemap
ext/Opcode/Opcode.pm
ext/Opcode/Opcode.xs
ext/POSIX/Makefile.PL
ext/POSIX/POSIX.pm
ext/POSIX/POSIX.pod
ext/POSIX/POSIX.xs
ext/POSIX/hints/svr4.pl [new file with mode: 0644]
ext/POSIX/typemap
ext/SDBM_File/Makefile.PL
ext/SDBM_File/SDBM_File.pm
ext/SDBM_File/sdbm/sdbm.c
ext/SDBM_File/typemap
ext/Storable/ChangeLog
ext/Storable/Makefile.PL
ext/Storable/Storable.pm
ext/Storable/Storable.xs
ext/Sys/Syslog/Syslog.pm
ext/Thread/Thread.pm
ext/Thread/Thread.xs
ext/re/Makefile.PL
ext/re/hints/aix.pl [new file with mode: 0644]
ext/re/re.xs
fakesdio.h [new file with mode: 0644]
fix_pl [deleted file]
form.h
global.sym
gv.c
gv.h
handy.h
hints/aix.sh
hints/cygwin.sh
hints/dec_osf.sh
hints/dos_djgpp.sh
hints/freebsd.sh
hints/hpux.sh
hints/linux.sh
hints/machten.sh
hints/nonstopux.sh
hints/openbsd.sh
hints/solaris_2.sh
hints/svr4.sh
hints/uts.sh
hints/uwin.sh
hints/vmesa.sh
hv.c
hv.h
installhtml
installman
installperl
intrpvar.h
iperlsys.h
lib/AnyDBM_File.pm
lib/CGI.pm
lib/CGI/Apache.pm
lib/CGI/Switch.pm
lib/CPAN.pm
lib/CPAN/FirstTime.pm
lib/Carp.pm
lib/Carp/Heavy.pm
lib/Class/Struct.pm
lib/Cwd.pm
lib/DirHandle.pm
lib/Dumpvalue.pm
lib/English.pm
lib/Env.pm
lib/Exporter.pm
lib/Exporter/Heavy.pm
lib/ExtUtils/Install.pm
lib/ExtUtils/Liblist.pm
lib/ExtUtils/MANIFEST.SKIP [new file with mode: 0644]
lib/ExtUtils/MM_Cygwin.pm
lib/ExtUtils/MM_OS2.pm
lib/ExtUtils/MM_Unix.pm
lib/ExtUtils/MM_VMS.pm
lib/ExtUtils/MM_Win32.pm
lib/ExtUtils/MakeMaker.pm
lib/ExtUtils/Manifest.pm
lib/ExtUtils/Mksymlists.pm
lib/ExtUtils/typemap
lib/ExtUtils/xsubpp
lib/File/Basename.pm
lib/File/CheckTree.pm
lib/File/DosGlob.pm
lib/File/Find.pm
lib/File/Path.pm
lib/File/Spec.pm
lib/File/Spec/Epoc.pm [new file with mode: 0644]
lib/File/Spec/Functions.pm
lib/File/Spec/Unix.pm
lib/File/Temp.pm
lib/File/stat.pm
lib/FileCache.pm
lib/Filter/Simple.pm [new file with mode: 0644]
lib/Getopt/Long.pm
lib/I18N/Collate.pm
lib/Math/Complex.pm
lib/Net/Ping.pm
lib/Net/hostent.pm
lib/Net/netent.pm
lib/Net/protoent.pm
lib/Net/servent.pm
lib/Pod/Checker.pm
lib/Pod/Functions.pm
lib/Pod/Html.pm
lib/Pod/Man.pm
lib/Pod/Select.pm
lib/Pod/Text.pm
lib/Pod/Text/Color.pm
lib/Pod/Text/Overstrike.pm [new file with mode: 0644]
lib/Pod/Text/Termcap.pm
lib/Search/Dict.pm
lib/SelectSaver.pm
lib/Term/Cap.pm
lib/Term/Complete.pm
lib/Term/ReadLine.pm
lib/Test.pm
lib/Test/Harness.pm
lib/Text/Abbrev.pm
lib/Text/ParseWords.pm
lib/Tie/Array.pm
lib/Tie/Hash.pm
lib/Tie/RefHash.pm
lib/Tie/Scalar.pm
lib/Tie/SubstrHash.pm
lib/Time/Local.pm
lib/Time/tm.pm
lib/UNIVERSAL.pm
lib/User/grent.pm
lib/User/pwent.pm
lib/Win32.pod
lib/bytes.pm
lib/charnames.pm
lib/constant.pm
lib/diagnostics.pm
lib/filetest.pm
lib/ftp.pl
lib/integer.pm
lib/less.pm
lib/lib_pm.PL
lib/locale.pm
lib/open.pm
lib/overload.pm
lib/perl5db.pl
lib/perlio.pm [new file with mode: 0644]
lib/strict.pm
lib/subs.pm
lib/unicode/Is/Alnum.pl
lib/unicode/Is/Alpha.pl
lib/unicode/Is/Blank.pl [new file with mode: 0644]
lib/unicode/Is/DCmedial.pl [new file with mode: 0644]
lib/unicode/Is/Graph.pl
lib/unicode/Is/Print.pl
lib/unicode/Is/Punct.pl
lib/unicode/Is/Space.pl
lib/unicode/Is/SpacePerl.pl [new file with mode: 0644]
lib/unicode/Is/Word.pl
lib/unicode/distinct.pm [new file with mode: 0644]
lib/unicode/mktables.PL
lib/unicode/syllables.txt
lib/utf8.pm
lib/vars.pm
lib/warnings.pm
lib/warnings/register.pm
makedef.pl
malloc.c
mg.c
mg.h
minimod.pl
nostdio.h
objXSUB.h
op.c
op.h
opcode.pl
opnames.h
os2/OS2/ExtAttr/Makefile.PL
os2/OS2/PrfDB/Makefile.PL
os2/OS2/Process/Makefile.PL
os2/OS2/REXX/DLL/Makefile.PL
os2/OS2/REXX/Makefile.PL
os2/OS2/REXX/REXX.xs
os2/os2.c
os2/os2ish.h
patchlevel.h
perl.c
perl.h
perlapi.c
perlapi.h
perlio.c
perlio.h
perliol.h [new file with mode: 0644]
perlsdio.h
perlsfio.h
perly.c
perly.y
pod/Makefile.SH
pod/buildtoc.PL
pod/perl.pod
pod/perl5004delta.pod
pod/perl5005delta.pod
pod/perl56delta.pod
pod/perlapi.pod
pod/perldebguts.pod
pod/perldebtut.pod
pod/perldebug.pod
pod/perldiag.pod
pod/perlebcdic.pod
pod/perlembed.pod
pod/perlfaq.pod
pod/perlfaq1.pod
pod/perlfaq2.pod
pod/perlfaq3.pod
pod/perlfaq4.pod
pod/perlfaq5.pod
pod/perlfaq6.pod
pod/perlfaq7.pod
pod/perlfaq8.pod
pod/perlfaq9.pod
pod/perlfilter.pod
pod/perlfunc.pod
pod/perlguts.pod
pod/perlhack.pod
pod/perlhist.pod
pod/perlintern.pod
pod/perlipc.pod
pod/perllexwarn.pod
pod/perllocale.pod
pod/perlmodlib.PL
pod/perlmodlib.pod
pod/perlnumber.pod
pod/perlop.pod
pod/perlopentut.pod
pod/perlpod.pod
pod/perlport.pod
pod/perlre.pod
pod/perlreftut.pod
pod/perlrequick.pod
pod/perlretut.pod
pod/perlrun.pod
pod/perlsec.pod
pod/perlsub.pod
pod/perltie.pod
pod/perltoc.pod
pod/perltodo.pod
pod/perltoot.pod
pod/perltootc.pod
pod/perlunicode.pod
pod/perlvar.pod
pod/perlxs.pod
pod/perlxstut.pod
pod/pod2man.PL
pod/pod2text.PL
pp.c
pp.h
pp_ctl.c
pp_hot.c
pp_sys.c
proto.h
regcomp.c
regcomp.h
regcomp.sym
regexec.c
regexp.h
regnodes.h
run.c
scope.c
scope.h
sv.c
sv.h
t/README
t/TEST
t/UTEST
t/base/commonsense.t [new file with mode: 0644]
t/base/term.t
t/comp/proto.t
t/comp/redef.t
t/comp/require.t
t/io/dup.t
t/io/fs.t
t/io/open.t
t/io/pipe.t
t/io/tell.t
t/io/utf8.t [new file with mode: 0755]
t/lib/attrs.t
t/lib/b.t
t/lib/bigfltpm.t
t/lib/cgi-function.t
t/lib/cgi-html.t
t/lib/class-struct.t [new file with mode: 0644]
t/lib/db-btree.t
t/lib/db-hash.t
t/lib/db-recno.t
t/lib/dprof.t
t/lib/dprof/V.pm
t/lib/encode.t
t/lib/filter-util.pl [new file with mode: 0644]
t/lib/filter-util.t [new file with mode: 0644]
t/lib/ftmp-mktemp.t
t/lib/ftmp-posix.t
t/lib/ftmp-tempfile.t
t/lib/gdbm.t
t/lib/io_sock.t
t/lib/io_tell.t
t/lib/io_udp.t
t/lib/io_xs.t
t/lib/ndbm.t
t/lib/net-hostent.t [new file with mode: 0644]
t/lib/odbm.t
t/lib/peek.t
t/lib/sdbm.t
t/lib/st-lock.t
t/lib/st-recurse.t
t/lib/syslfs.t
t/lib/syslog.t
t/lib/thr5005.t
t/lib/tie-refhash.t [new file with mode: 0644]
t/lib/tie-splice.t [new file with mode: 0644]
t/lib/tie-substrhash.t [new file with mode: 0644]
t/op/64bitint.t
t/op/array.t
t/op/assignwarn.t
t/op/attrs.t
t/op/bop.t
t/op/chop.t
t/op/cmp.t
t/op/concat.t [new file with mode: 0644]
t/op/each.t
t/op/fork.t
t/op/goto_xs.t
t/op/join.t
t/op/length.t [new file with mode: 0644]
t/op/lfs.t
t/op/local.t
t/op/method.t
t/op/misc.t
t/op/numconvert.t
t/op/ord.t
t/op/pat.t
t/op/pos.t
t/op/re_tests
t/op/ref.t
t/op/regexp.t
t/op/regmesg.t
t/op/reverse.t [new file with mode: 0644]
t/op/sort.t
t/op/split.t
t/op/sprintf.t
t/op/taint.t
t/op/tie.t
t/op/utf8decode.t [new file with mode: 0644]
t/op/ver.t
t/op/write.t
t/pragma/constant.t
t/pragma/locale.t
t/pragma/overload.t
t/pragma/sub_lval.t
t/pragma/utf8.t
t/pragma/warn/pp_hot
t/pragma/warn/pp_sys
t/pragma/warn/utf8
t/pragma/warnings.t
taint.c
thrdvar.h
toke.c
uconfig.h
uconfig.sh
universal.c
unixish.h
utf8.c
utf8.h
util.c
util.h
utils/h2xs.PL
utils/perlbug.PL
utils/perlcc.PL
utils/perldoc.PL
vmesa/vmesa.c
vms/descrip_mms.template
vms/ext/DCLsym/Makefile.PL
vms/ext/Stdio/Makefile.PL
vms/ext/Stdio/Stdio.pm
vms/ext/Stdio/Stdio.xs
vms/gen_shrfls.pl
vms/genconfig.pl
vms/perlvms.pod
vms/perly_c.vms
vms/test.com
vms/vms.c
vms/vmsish.h
vms/vmspipe.com
vos/Changes
vos/build.cm
vos/compile_perl.cm
vos/config.alpha.def [moved from vos/config.def with 94% similarity]
vos/config.alpha.h [moved from vos/config.h with 96% similarity]
vos/config.ga.def [new file with mode: 0644]
vos/config.ga.h [moved from vos/config_h.SH_orig with 83% similarity, mode: 0644]
vos/config.pl
vos/configure_perl.cm [new file with mode: 0644]
vos/install_perl.cm [new file with mode: 0644]
vos/perl.bind
vos/vosish.h
warnings.pl
win32/Makefile
win32/bin/mdelete.bat [new file with mode: 0644]
win32/bin/search.pl
win32/config.bc
win32/config.gc
win32/config.vc
win32/config_H.bc
win32/config_H.gc
win32/config_H.vc
win32/config_h.PL
win32/distclean.bat [new file with mode: 0755]
win32/include/sys/socket.h
win32/makefile.mk
win32/perlhost.h
win32/perllib.c
win32/vdir.h
win32/win32.c
win32/win32.h
win32/win32iop.h
win32/win32sck.c
win32/win32thread.h
x2p/EXTERN.h
x2p/INTERN.h
x2p/a2p.c
x2p/a2p.h
x2p/a2p.y
x2p/find2perl.PL
x2p/hash.c
x2p/hash.h
x2p/proto.h
x2p/str.c
x2p/str.h
x2p/util.c
x2p/util.h
x2p/walk.c

diff --git a/AUTHORS b/AUTHORS
index b3d240c..e3bc2af 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
-# Two sections: the real one and the virtual one.
-# The real section has three \t+ fields: alias, name, email.
-# The sections are separated by one or more empty lines.
-# The virtual section (each record two \t+ separated fields) builds
-# meta-aliases based on the real section.
-
-alan.burlison  Alan Burlison           Alan.Burlison@UK.Sun.com
-allen          Norton T. Allen         allen@huarp.harvard.edu
-bradapp                Brad Appleton           bradapp@enteract.com
-cbail          Charles Bailey          bailey@newman.upenn.edu
-dgris          Daniel Grisinger        dgris@dimensional.com
-dmulholl       Daniel Yacob            dmulholl@cs.indiana.edu
-dogcow         Tom Spindler            dogcow@merit.edu
-domo           Dominic Dunlop          domo@computer.org
-doug           Doug MacEachern         dougm@covalent.net
-doughera       Andy Dougherty          doughera@lafcol.lafayette.edu
-efifer         Eric Fifer              EFifer@sanwaint.com
-francois       Francois Desarmenien    desar@club-internet.fr
-gbarr          Graham Barr             gbarr@ti.com
-gerben         Gerben Wierda           Gerben_Wierda@RnA.nl
-gerti          Gerd Knops              gerti@BITart.com
-gibreel                Stephen Zander          gibreel@pobox.com
-gnat           Nathan Torkington       gnat@frii.com
-gsar           Gurusamy Sarathy        gsar@activestate.com
-hansmu         Hans Mulder             hansmu@xs4all.nl
-hops           Mike Hopkirk            hops@sco.com
-hugo           Hugo van der Sanden     hv@crypt.demon.co.uk
-ilya           Ilya Zakharevich        ilya@math.ohio-state.edu
-jbuehler       Joe Buehler             jbuehler@hekimian.com
-jfs            John Stoffel            jfs@fluent.com
-jhi            Jarkko Hietaniemi       jhi@iki.fi
-jon            Jon Orwant              orwant@oreilly.com
-jvromans       Johan Vromans           jvromans@squirrel.nl
-k              Andreas König           a.koenig@mind.de
-kjahds         Kenneth Albanowski      kjahds@kjahds.com
-krishna                Krishna Sethuraman      krishna@sgi.com
-kstar          Kurt D. Starsinic       kstar@chapin.edu
-lane           Charles Lane            lane@DUPHY4.Physics.Drexel.Edu
-lstein         Lincoln D. Stein        lstein@genome.wi.mit.edu
-lutherh                Luther Huffman          lutherh@stratcom.com
-lutz           Mark P. Lutz            mark.p.lutz@boeing.com
-lwall          Larry Wall              larry@wall.org
-makemaker      MakeMaker list          makemaker@franz.ww.tu-berlin.de
-mbiggar                Mark A Biggar           mab@wdl.loral.com
-mbligh         Martin J. Bligh         mbligh@sequent.com
-mikestok       Mike Stok               mike@stok.co.uk
-millert                Todd Miller             millert@openbsd.org
-mkvale         Mark Kvale              kvale@phy.ucsf.edu
-mjd            Mark-Jason Dominus      mjd@plover.com
-mjtg           Mike Guy                mjtg@cam.ac.uk
-laszlo.molnar  Laszlo Molnar           Laszlo.Molnar@eth.ericsson.se
-mpeix          Mark Bixby              markb@cccd.edu
-muir           David Muir Sharnoff     muir@idiom.com
-neale          Neale Ferguson          neale@VMA.TABNSW.COM.AU
-nik            Nick Ing-Simmons        nik@tiuk.ti.com
-okamoto                Jeff Okamoto            okamoto@corp.hp.com
-paul_green     Paul Green              Paul_Green@stratus.com
-pmarquess      Paul Marquess           Paul.Marquess@btinternet.com
-pomeranz       Hal Pomeranz            pomeranz@netcom.com
-pudge          Chris Nandor            pudge@pobox.com
-pueschel       Norbert Pueschel        pueschel@imsdd.meb.uni-bonn.de
-pvhp           Peter Prymmer           pvhp@forte.com
-raphael                Raphael Manfredi        Raphael.Manfredi@pobox.com
-rdieter                Rex Dieter              rdieter@math.unl.edu
-richard                Richard Foley           Richard.Foley@m.dasa.de
-rra            Russ Allbery            rra@stanford.edu
-rsanders       Robert Sanders          Robert.Sanders@linux.org        
-roberto                Ollivier Robert         roberto@keltia.freenix.fr
-roderick       Roderick Schertler      roderick@argon.org
-roehrich       Dean Roehrich           roehrich@cray.com
-tsanders       Tony Sanders            sanders@bsdi.com
-schinder       Paul Schinder           schinder@pobox.com
-scotth         Scott Henry             scotth@sgi.com
-seibert                Greg Seibert            seibert@Lynx.COM
-simon          Simon Cozens            simon@brecon.co.uk
-spider         Spider Boardman         spider@Orb.Nashua.NH.US
-smccam         Stephen McCamant        smccam@uclink4.berkeley.edu
-sthoenna       Yitzchak Scott-Thoennes sthoenna@efn.org
-sugalskd       Dan Sugalski            dan@sidhe.org
-sundstrom      David Sundstrom         sunds@asictest.sc.ti.com
-tchrist                Tom Christiansen        tchrist@perl.com
-thomas.dorner  Dorner Thomas           Thomas.Dorner@start.de
-tjenness       Tim Jenness             t.jenness@jach.hawaii.edu
-timb           Tim Bunce               Tim.Bunce@ig.co.uk
-tom.horsley    Tom Horsley             Tom.Horsley@mail.ccur.com
-tye            Tye McQueen             tye@metronet.com
-wayne.thompson Wayne Thompson          Wayne.Thompson@Ebay.sun.com
-wilfredo       Wilfredo Sánchez        wsanchez@apple.com
-
-PUMPKING       jhi
-aix            jhi
-amiga          pueschel
-beos           dogcow
-bsdos          tsanders
-cfg            jhi
-cgi            lstein
-complex                jhi,raphael
-cpan           k
-cxux           tom.horsley
-cygwin         win32
-dec_osf                jhi,spider
-dgux           roderick
-doc            tchrist
-dos            laszlo.molnar
-dynix/ptx      mbligh
-ebcdic         os390,vmesa,posix-bc
-filespec       kjahds
-freebsd                roberto
-hpux           okamoto,jhi
-irix           scotth,krishna,jfs,kstar
-jpl            gibreel
-lexwarn                pmarquess
-linux          kjahds,kstar
-locale         jhi,domo
-machten                domo
-mm             makemaker
-netbsd         jhi
-next           gerben,hansmu
-openbsd                millert
-os2            ilya
-os390          pvhp
-plan9          lutherl
-posix-bc       thomas.dorner
-powerux                tom.horsley
-qnx            allen
-regex          ilya,jfriedl,hugo,mjd
-sco            francois,hops
-solaris                doughera,alan.burlison
-step           gerti,hansmu,rdieter
-sunos4         doughera
-svr4           tye
-unicos         jhi,lutz
-uwin           jbuehler
-vmesa          neale
-vms            sugalskd,cbail
-vos            paul_green
-warn           pmarquess
-win32          gsar
+# To give due honor to those who have made Perl 5 what is is today,
+# here are easily-from-changelogs-extractable people and their
+# (hopefully) current and preferred email addresses (as of late 2000
+# if known) from the Changes files.  These people have either submitted
+# patches or suggestions, or their bug reports or comments have inspired
+# the appropriate patches.  Corrections, additions, deletions welcome.
+#
+-- 
+Aaron B. Dossett               <aaron@iglou.com>
+Abigail                        <abigail@foad.org>
+Achim Bohnet                   <ach@mpe.mpg.de>
+Adam Krolnik                   <adamk@gypsy.cyrix.com>
+Akim Demaille                  <akim@epita.fr>
+Alan Burlison                  <Alan.Burlison@uk.sun.com>
+Alan Champion                  <achampio@lehman.com>
+Alan Harder                    <Alan.Harder@Ebay.Sun.COM>
+Alan Modra
+Albert Chin-A-Young            <china@thewrittenword.com>
+Albert Dvornik                 <bert@genscan.com>
+Alexander Smishlajev           <als@turnhere.com>
+Allen Smith                    <easmith@beatrice.rutgers.edu>
+Ambrose Kofi Laing
+Andreas Klussmann              <andreas@infosys.heitec.de>
+Andreas König                  <a.koenig@mind.de>
+Andreas Schwab                 <schwab@suse.de>
+Andrew Bettison                <andrewb@zip.com.au>
+Andrew Cohen                   <cohen@andy.bu.edu>
+Andrew M. Langmead             <aml@world.std.com>
+Andrew Pimlott                 <pimlott@abel.math.harvard.edu>
+Andrew Vignaux                 <ajv@nz.sangacorp.com>
+Andrew Wilcox                  <awilcox@maine.com>
+Andy Dougherty                 <doughera@lafayette.edu>
+Anno Siegel                    <anno4000@lublin.zrz.tu-berlin.de>
+Anthony David                  <adavid@netinfo.com.au>
+Anton Berezin                  <tobez@tobez.org>
+Art Green                      <Art_Green@mercmarine.com>
+Artur                          <artur@vogon-solutions.com>
+Barrie Slaymaker               <barries@slaysys.com>
+Barry Friedman
+Ben Tilly                      <ben_tilly@hotmail.com>
+Benjamin Low                   <b.d.low@unsw.edu.au>
+Benjamin Stuhl                 <sho_pi@hotmail.com>
+Benjamin Sugars                <bsugars@canoe.ca>
+Bernard Quatermass             <bernard@quatermass.co.uk>
+Bill Campbell                  <bill@celestial.com>
+Bill Glicker                   <billg@burrelles.com>
+Billy Constantine              <wdconsta@cs.adelaide.edu.au>
+Blair Zajac                    <bzajac@geostaff.com>
+Boyd Gerber                    <gerberb@zenez.com>
+Brad Appleton                  <bradapp@enteract.com>
+Brad Howerter                  <bhower@wgc.woodward.com>
+Brad Hughes                    <brad@tgsmc.com>
+Brad Lanam                     <bll@gentoo.com>
+Brent B. Powers                <powers@ml.com>
+Brian Callaghan                <callagh@itginc.com>
+Brian Clarke                   <clarke@appliedmeta.com>
+Brian Grossman
+Brian Harrison                 <brie@corp.home.net>
+Brian Jepson                   <bjepson@home.com>
+Brian Katzung
+Brian Reichert                 <reichert@internet.com>
+Brian S. Cashman               <bsc@umich.edu>
+Bruce Barnett                  <barnett@grymoire.crd.ge.com>
+Bruce J. Keeler                <bkeelerx@iwa.dp.intel.com>
+Bruce P. Schuck                <bruce@aps.org>
+Bud Huff                       <BAHUFF@us.oracle.com>
+Byron Brummer                  <byron@omix.com>
+Calle Dybedahl                 <calle@lysator.liu.se>
+Carl M. Fongheiser             <cmf@ins.infonet.net>
+Carl Witty                     <cwitty@newtonlabs.com>
+Cary D. Renzema                <caryr@mxim.com>
+Casey R. Tweten                <crt@kiski.net>
+Castor Fu
+Chaim Frenkel                  <chaimf@pobox.com>
+Charles Bailey                 <bailey@newman.upenn.edu>
+Charles F. Randall             <crandall@free.click-n-call.com>
+Charles Lane                   <lane@DUPHY4.Physics.Drexel.Edu>
+Charles Wilson                 <cwilson@ece.gatech.edu>
+Chip Salzenberg                <chip@pobox.com>
+Chris Faylor                   <cgf@bbc.com>
+Chris Nandor                   <pudge@pobox.com>
+Chris Wick                     <cwick@lmc.com>
+Christian Kirsch               <ck@held.mind.de>
+Christopher Chan-Nui           <channui@austin.ibm.com>
+Christopher Davis              <ckd@loiosh.kei.com>
+Chuck D. Phillips              <cdp@hpescdp.fc.hp.com>
+Chuck Phillips                 <cdp@fc.hp.com>
+Chunhui Teng                   <cteng@nortel.ca>
+Clark Cooper                   <coopercc@netheaven.com>
+Clinton Pierce                 <cpierce1@ford.com>
+Colin Kuskie                   <ckuskie@cadence.com>
+Conrad Augustin
+Conrad E. Kimball              <cek@tblv021.ca.boeing.com>
+Craig A. Berry                 <craig.berry@psinetcs.com>
+Craig Milo Rogers              <Rogers@ISI.EDU>
+Dale Amon                      <amon@vnl.com>
+Damian Conway                  <damian@cs.monash.edu.au>
+Damon Atkins                   <Damon.Atkins@nabaus.com.au>
+Dan Boorstein                  <dan_boo@bellsouth.net>
+Dan Carson                     <dbc@tc.fluke.COM>
+Dan Schmidt                    <dfan@harmonixmusic.com>
+Dan Sugalski                   <dan@sidhe.org>
+Daniel Chetlin                 <daniel@chetlin.com>
+Daniel Grisinger               <dgris@dimensional.com>
+Daniel Muiño                   <dmuino@afip.gov.ar>
+Daniel S. Lewart               <lewart@vadds.cvm.uiuc.edu>
+Daniel Yacob                   <dmulholl@cs.indiana.edu>
+Danny R. Faught                <faught@mailhost.rsn.hp.com>
+Danny Sadinoff                 <sadinoff@olf.com>
+Darrell Kindred                <dkindred+@cmu.edu>
+Darrell Schiebel               <drs@nrao.edu>
+Darren/Torin/Who Ever...       <torin@daft.com>
+Dave Bianchi
+Dave Hartnoll                  <Dave_Hartnoll@3b2.com>
+Dave Nelson                    <David.Nelson@bellcow.com>
+Dave Schweisguth               <dcs@neutron.chem.yale.edu>
+David Billinghurst             <David.Billinghurst@riotinto.com.au>
+David Campbell
+David Couture
+David Denholm                  <denholm@conmat.phys.soton.ac.uk>
+David Dyck                     <dcd@tc.fluke.com>
+David F. Haertig               <dfh@dwroll.lucent.com>
+David Filo
+David Glasser                  <me@davidglasser.net>
+David Hammen                   <hammen@gothamcity.jsc.nasa.gov>
+David J. Fiander               <davidf@mks.com>
+David Kerry                    <davidk@tor.securecomputing.com>
+David Muir Sharnoff            <muir@idiom.com>
+David R. Favor                 <dfavor@austin.ibm.com>
+David Sparks                   <daves@ActiveState.com>
+David Starks-Browning          <dstarks@rc.tudelft.nl>
+David Sundstrom                <sunds@asictest.sc.ti.com>
+Davin Milun                    <milun@cs.Buffalo.EDU>
+Dean Roehrich                  <roehrich@cray.com>
+Dennis Marsa                   <dennism@cyrix.com>
+dive                           <dive@ender.com>
+Dominic Dunlop                 <domo@computer.org>
+Dominique Dumont               <Dominique_Dumont@grenoble.hp.com>
+Doug Campbell                  <soup@ampersand.com>
+Doug MacEachern                <dougm@covalent.net>
+Douglas E. Wegscheid           <wegscd@whirlpool.com>
+Douglas Lankshear              <dougl@activestate.com>
+Dov Grobgeld                   <dov@Orbotech.Co.IL>
+Drago Goricanec                <drago@raptor.otsd.ts.fujitsu.co.jp>
+Ed Mooring                     <mooring@Lynx.COM>
+Ed Peschko                     <epeschko@den-mdev1>
+Elaine -HFB- Ashton            <elaine@chaos.wustl.edu>
+Eric Arnold                    <eric.arnold@sun.com>
+Eric Bartley                   <bartley@icd.cc.purdue.edu>
+Eric E. Coe                    <Eric.Coe@oracle.com>
+Eric Fifer                     <egf7@columbia.edu>
+Erich Rickheit
+Eryq                           <eryq@zeegee.com>
+Etienne Grossman               <etienne@isr.isr.ist.utl.pt>
+Eugene Alterman                <Eugene.Alterman@bremer-inc.com>
+Fabien Tassin                  <tassin@eerie.fr>
+Felix Gallo                    <fgallo@etoys.com>
+Florent Guillaume
+Frank Crawford
+Frank Ridderbusch              <Frank.Ridderbusch@pdb.siemens.de>
+Frank Tobin                    <ftobin@uiuc.edu>
+François Désarménien           <desar@club-internet.fr>
+Fréderic Chauveau              <fmc@pasteur.fr>
+G. Del Merritt                 <del@intranetics.com>
+Gabe Schaffer
+Gary Clark                     <GaryC@mail.jeld-wen.com>
+Gary Ng                        <71564.1743@compuserve.com>
+Gerben Wierda                  <G.C.Th.Wierda@AWT.nl>
+Gerd Knops                     <gerti@BITart.com>
+Giles Lean                     <giles@nemeton.com.au>
+Gisle Aas                      <gisle@aas.no>
+Gordon J. Miller               <gjm@cray.com>
+Grace Lee                      <grace@hal.com>
+Graham Barr                    <gbarr@pobox.com>
+Graham TerMarsch               <grahamt@ActiveState.com>
+Greg Bacon                     <gbacon@itsc.uah.edu>
+Greg Chapman                   <glc@well.com>
+Greg Earle
+Greg Kuperberg
+Greg Seibert                   <seibert@Lynx.COM>
+Greg Ward                      <gward@ase.com>
+Gregory Martin Pfeil           <pfeilgm@technomadic.org>
+Guenter Schmidt                <gsc@bruker.de>
+Guido Flohr                    <gufl0000@stud.uni-sb.de>
+Gurusamy Sarathy               <gsar@activestate.com>
+Gustaf Neumann
+Guy Decoux                     <decoux@moulon.inra.fr>
+H.J. Lu                        <hjl@nynexst.com>
+H.Merijn Brand                 <h.m.brand@hccnet.nl>
+Hal Pomeranz                   <pomeranz@netcom.com>
+Hallvard B Furuseth            <h.b.furuseth@usit.uio.no>
+Hannu Napari                   <Hannu.Napari@hut.fi>
+Hans Mulder                    <hansmu@xs4all.nl>
+Hans de Graaff                 <J.J.deGraaff@twi.tudelft.nl>
+Harold O Morris                <hom00@utsglobal.com>
+Harry Edmon                    <harry@atmos.washington.edu>
+Helmut Jarausch                <jarausch@numa1.igpm.rwth-aachen.de>
+Henrik Tougaard                <ht.000@foa.dk>
+Hershel Walters                <walters@smd4d.wes.army.mil>
+Holger Bechtold
+Horst von Brand                <vonbrand@sleipnir.valparaiso.cl>
+Hubert Feyrer                  <hubert.feyrer@informatik.fh-regensburg.de>
+Hugo van der Sanden            <hv@crypt0.demon.co.uk>
+Hunter Kelly                   <retnuh@zule.pixar.com>
+Huw Rogers                     <count0@gremlin.straylight.co.jp>
+Ian Maloney                    <ian.malonet@ubs.com>
+Ian Phillipps                  <ian@dial.pipex.com>
+Ignasi Roca                    <ignasi.roca@fujitsu.siemens.es>
+Ilya Sandler                   <Ilya.Sandler@etak.com>
+Ilya Zakharevich               <ilya@math.ohio-state.edu>
+Inaba Hiroto                   <inaba@st.rim.or.jp>
+Irving Reid                    <irving@tor.securecomputing.com>
+J. David Blackstone            <jdb@dfwnet.sbms.sbc.com>
+J. van Krieken                 <John.van.Krieken@ATComputing.nl>
+JD Laub                        <jdl@access-health.com>
+JT McDuffie                    <jt@kpc.com>
+Jack Shirazi                   <JackS@GemStone.com>
+Jacqui Caren                   <Jacqui.Caren@ig.co.uk>
+Jake Hamby                     <jehamby@lightside.com>
+James FitzGibbon               <james@ican.net>
+Jamshid Afshar
+Jan D.                         <jan.djarv@mbox200.swipnet.se>
+Jan Dubois                     <jand@activestate.com>
+Jan Pazdziora                  <adelton@fi.muni.cz>
+Jan-Erik Karlsson              <trg@privat.utfors.se>
+Jan-Pieter Cornet              <johnpc@xs4all.nl>
+Jared Rhine                    <jared@organic.com>
+Jarkko Hietaniemi              <jhi@iki.fi>
+Jason A. Smith                 <smithj4@rpi.edu>
+Jason Shirk
+Jason Stewart                  <jasons@cs.unm.edu>
+Jason Varsoke                  <jjv@caesun10.msd.ray.com>
+Jay Rogers                     <jay@rgrs.com>
+Jeff Bouis
+Jeff McDougal                  <jmcdo@cris.com>
+Jeff Okamoto                   <okamoto@corp.hp.com>
+Jeff Pinyan                    <jeffp@crusoe.net>
+Jeff Urlwin                    <jurlwin@access.digex.net>
+Jeffrey Friedl                 <jfriedl@yahoo-inc.com>
+Jeffrey S. Haemer              <jsh@woodcock.boulder.qms.com>
+Jens Hamisch                   <jens@Strawberry.COM>
+Jens T. Berger Thielemann      <jensthi@ifi.uio.no>
+Jens Thomsen                   <jens@fiend.cis.com>
+Jens-Uwe Mager                 <jum@helios.de>
+Jeremy D. Zawodny              <jzawodn@wcnet.org>
+Jerome Abela                   <abela@hsc.fr>
+Jim Anderson                   <jander@ml.com>
+Jim Avera                      <avera@hal.com>
+Jim Balter
+Jim Meyering                   <meyering@asic.sc.ti.com>
+Jim Miner                      <jfm@winternet.com>
+Jim Richardson
+Joachim Huober
+Jochen Wiedmann                <joe@ispsoft.de>
+Joe Buehler                    <jbuehler@hekimian.com>
+Joe Smith                      <jsmith@inwap.com>
+Joel Rosi-Schwartz             <j.schwartz@agonet.it>
+Joerg Porath                   <Joerg.Porath@informatik.tu-chemnitz.de>
+Joergen Haegg
+Johan Holtman
+Johan Vromans                  <jvromans@squirrel.nl>
+Johann Klasek                  <jk@auto.tuwien.ac.at>
+John Bley                      <jbb6@acpub.duke.edu>
+John Borwick                   <jhborwic@unity.ncsu.edu>
+John Cerney                    <j-cerney1@ti.com>
+John D Groenveld               <groenvel@cse.psu.edu>
+John Hasstedt                  <John.Hasstedt@sunysb.edu>
+John Hughes                    <john@AtlanTech.COM>
+John L. Allen                  <allen@grumman.com>
+John Macdonald                 <jmm@revenge.elegant.com>
+John Nolan                     <jpnolan@Op.Net>
+John Peacock                   <jpeacock@rowman.com>
+John Pfuntner                  <pfuntner@vnet.ibm.com>
+John Rowe
+John Salinas                   <jsalinas@cray.com>
+John Stoffel                   <jfs@fluent.com>
+John Tobey                     <jtobey@john-edwin-tobey.org>
+Jon Orwant                     <orwant@oreilly.com>
+Jonathan Biggar                <jon@sems.com>
+Jonathan D Johnston            <jdjohnston2@juno.com>
+Jonathan Fine                  <jfine@borders.com>
+Jonathan I. Kamens             <jik@kamens.brookline.ma.us>
+Jonathan Roy                   <roy@idle.com>
+Joseph N. Hall                 <joseph@cscaper.com>
+Joseph S. Myers                <jsm28@hermes.cam.ac.uk>
+Joshua Pritikin                <joshua.pritikin@db.com>
+Juan Gallego                   <Little.Boss@physics.mcgill.ca>
+Julian Yip                     <julian@imoney.com>
+Justin Banks                   <justinb@cray.com>
+Ka-Ping Yee                    <kpyee@aw.sgi.com>
+Karl Glazebrook                <kgb@aaossz.aao.GOV.AU>
+Karl Heuer                     <kwzh@gnu.org>
+Karl Simon Berg                <karl@it.kth.se>
+Karsten Sperling               <spiff@phreax.net>
+Kaveh Ghazi                    <ghazi@caip.rutgers.edu>
+Keith Neufeld                  <neufeld@fast.pvi.org>
+Keith Thompson                 <kst@cts.com>
+Ken Estes                      <estes@ms.com>
+Ken Fox                        <kfox@ford.com>
+Ken MacLeod                    <ken@bitsko.slc.ut.us>
+Ken Shan                       <ken@digitas.harvard.edu>
+Kenneth Albanowski             <kjahds@kjahds.com>
+Kenneth Duda                   <kjd@cisco.com>
+Keong Lim                      <Keong.Lim@sr.com.au>
+Kevin O'Gorman                 <kevin.kosman@nrc.com>
+Kevin White                    <klwhite@magnus.acs.ohio-state.edu>
+Kim Frutiger
+Kragen Sitaker                 <kragen@dnaco.net>
+Krishna Sethuraman             <krishna@sgi.com>
+Kurt D. Starsinic              <kstar@smithrenaud.com>
+Kyriakos Georgiou
+Larry Parmelee                 <parmelee@CS.Cornell.EDU>
+Larry Schuler
+Larry Schwimmer                <rosebud@cyclone.Stanford.EDU>
+Larry W. Virden                <lvirden@cas.org>
+Larry Wall                     <larry@wall.org>
+Lars Hecking                   <lhecking@nmrc.ucc.ie>
+Laszlo Molnar                  <laszlo.molnar@eth.ericsson.se>
+Len Johnson                    <lenjay@ibm.net>
+Les Peters                     <lpeters@aol.net>
+Lincoln D. Stein               <lstein@cshl.org>
+Lionel Cons                    <lionel.cons@cern.ch>
+Luca Fini
+Lupe Christoph                 <lupe@lupe-christoph.de>
+Luther Huffman                 <lutherh@stratcom.com>
+M. J. T. Guy                   <mjtg@cam.ac.uk>
+Major Sébastien                <sebastien.major@crdp.ac-caen.fr>
+Makoto MATSUSHITA              <matusita@ics.es.osaka-u.ac.jp>
+Malcolm Beattie                <mbeattie@sable.ox.ac.uk>
+Marc Lehmann                   <pcg@goof.com>
+Marc Paquette                  <Marc.Paquette@Softimage.COM>
+Marcel Grunauer                <marcel@codewerk.com>
+Mark A Biggar                  <mab@wdl.loral.com>
+Mark Bixby                     <mark@bixby.org>
+Mark Dickinson                 <dickins3@fas.harvard.edu>
+Mark Hanson
+Mark K Trettin                 <mkt@lucent.com>
+Mark Kaehny                    <kaehny@execpc.com>
+Mark Kettenis                  <kettenis@wins.uva.nl>
+Mark Klein                     <mklein@dis.com>
+Mark Knutsen                   <knutsen@pilot.njin.net>
+Mark Kvale                     <kvale@phy.ucsf.edu>
+Mark Leighton Fisher           <fisherm@tce.com>
+Mark Murray                    <mark@grondar.za>
+Mark P. Lutz                   <mark.p.lutz@boeing.com>
+Mark Pease                     <peasem@primenet.com>
+Mark Pizzolato                 <mark@infocomm.com>
+Mark R. Levinson               <mrl@isc.upenn.edu>
+Mark-Jason Dominus             <mjd@plover.com>
+Martijn Koster                 <mak@excitecorp.com>
+Martin J. Bligh                <mbligh@sequent.com>
+Martin Jost                    <Martin.Jost@icn.siemens.de>
+Martin Lichtin                 <lichtin@bivio.com>
+Martin Plechsmid               <plechsmi@karlin.mff.cuni.cz>
+Marty Lucich                   <marty@netcom.com>
+Martyn Pearce                  <martyn@inpharmatica.co.uk>
+Masahiro KAJIURA               <masahiro.kajiura@toshiba.co.jp>
+Mathias Koerber                <mathias@dnssec1.singnet.com.sg>
+Matt Kimball
+Matthew Black                  <black@csulb.edu>
+Matthew Green                  <mrg@splode.eterna.com.au>
+Matthew T Harden               <mthard@mthard1.monsanto.com>
+Matthias Ulrich Neeracher      <neeri@iis.ee.ethz.ch>
+Matthias Urlichs               <smurf@noris.net>
+Maurizio Loreti                <maurizio.loreti@pd.infn.it>
+Michael Cook                   <mcook@cognex.com>
+Michael De La Rue              <mikedlr@tardis.ed.ac.uk>
+Michael Engel                  <engel@nms1.cc.huji.ac.il>
+Michael G Schwern              <schwern@pobox.com>
+Michael H. Moran               <mhm@austin.ibm.com>
+Michael Mahan                  <mahanm@nextwork.rose-hulman.edu>
+Michael Stevens                <mstevens@globnix.org>
+Michele Sardo
+Mik Firestone                  <fireston@lexmark.com>
+Mike Fletcher                  <fletch@phydeaux.org>
+Mike Hopkirk                   <hops@sco.com>
+Mike Rogers
+Mike Stok                      <mike@stok.co.uk>
+Mike W Ellwood                 <mwe@rl.ac.uk>
+Milton Hankins                 <webtools@uewrhp03.msd.ray.com>
+Milton L. Hankins              <mlh@swl.msd.ray.com>
+Molnar Laszlo                  <molnarl@cdata.tvnet.hu>
+Murray Nesbitt                 <mjn@pathcom.com>
+Nathan Kurz                    <nate@valleytel.net>
+Nathan Torkington              <gnat@frii.com>
+Neale Ferguson                 <neale@VMA.TABNSW.COM.AU>
+Neil Bowers                    <neilb@cre.canon.co.uk>
+Nicholas Clark                 <nick@ccl4.org>
+Nick Duffek
+Nick Gianniotis
+Nick Ing-Simmons               <nick@ing-simmons.net>
+Norbert Pueschel               <pueschel@imsdd.meb.uni-bonn.de>
+Norton T. Allen                <allen@huarp.harvard.edu>
+Olaf Flebbe                    <o.flebbe@gmx.de>
+Olaf Titz                      <olaf@bigred.inka.de>
+Ollivier Robert                <roberto@keltia.freenix.fr>
+Owen Taylor                    <owt1@cornell.edu>
+Patrick Hayes                  <Patrick.Hayes.CAP_SESA@renault.fr>
+Patrick O'Brien                <pdo@cs.umd.edu>
+Paul A Sand                    <pas@unh.edu>
+Paul David Fardy               <pdf@morgan.ucs.mun.ca>
+Paul Green                     <Paul_Green@stratus.com>
+Paul Hoffman                   <phoffman@proper.com>
+Paul Holser                    <Paul.Holser.pholser@nortelnetworks.com>
+Paul Johnson                   <pjcj@transeda.com>
+Paul Marquess                  <Paul.Marquess@btinternet.com>
+Paul Moore                     <Paul.Moore@uk.origin-it.com>
+Paul Rogers                    <Paul.Rogers@Central.Sun.COM>
+Paul Saab                      <ps@yahoo-inc.com>
+Paul Schinder                  <schinder@pobox.com>
+Pete Peterson                  <petersonp@genrad.com>
+Peter Chines                   <pchines@nhgri.nih.gov>
+Peter Gordon                   <peter@valor.com>
+Peter Haworth                  <pmh@edison.ioppublishing.com>
+Peter J. Farley III            <pjfarley@banet.net>
+Peter Jaspers-Fayer
+Peter Prymmer                  <pvhp@forte.com>
+Peter Scott                    <Peter@PSDT.com>
+Peter Wolfe                    <wolfe@teloseng.com>
+Peter van Heusden              <pvh@junior.uwc.ac.za>
+Petter Reinholdtsen            <pere@hungry.com>
+Phil Lobbes                    <phil@finchcomputer.com>
+Philip Hazel                   <ph10@cus.cam.ac.uk>
+Philip Newton                  <pne@cpan.org>
+Piers Cawley                   <pdcawley@bofh.org.uk>
+Piotr Klaban                   <makler@oryl.man.torun.pl>
+Prymmer/Kahn                   <pvhp@best.com>
+Quentin Fennessy               <quentin@arrakeen.amd.com>
+Radu Greab                     <radu@netsoft.ro>
+Ralf S. Engelschall            <rse@engelschall.com>
+Randal L. Schwartz             <merlyn@stonehenge.com>
+Randy J. Ray                   <rjray@redhat.com>
+Raphael Manfredi               <Raphael.Manfredi@pobox.com>
+Raymund Will                   <ray@caldera.de>
+Rex Dieter                     <rdieter@math.unl.edu>
+Rich Morin                     <rdm@cfcl.com>
+Rich Salz                      <rsalz@bbn.com>
+Richard A. Wells               <Rwells@uhs.harvard.edu>
+Richard Foley                  <Richard.Foley@m.dasa.de>
+Richard L. England             <richard_england@mentorg.com>
+Richard L. Maus, Jr.           <rmaus@monmouth.com>
+Richard Soderberg              <rs@crystalflame.net>
+Richard Yeh                    <rcyeh@cco.caltech.edu>
+Rick Delaney                   <rick@consumercontact.com>
+Rick Pluta
+Rickard Westman
+Rob Henderson                  <robh@cs.indiana.edu>
+Robert Partington              <rjp@riffraff.plig.net>
+Robert Sanders                 <Robert.Sanders@linux.org>
+Robert Spier                   <rspier@pobox.com>
+Robin Barker                   <rmb1@cise.npl.co.uk>
+Robin Houston                  <robin@nml.guardian.co.uk>
+Rocco Caputo                   <troc@netrus.net>
+Roderick Schertler             <roderick@argon.org>
+Rodger Anderson                <rodger@boi.hp.com>
+Ronald F. Guilmette            <rfg@monkeys.com>
+Ronald J. Kimball              <rjk@linguist.dartmouth.edu>
+Ruben Schattevoy               <schattev@imb-jena.de>
+Rujith S. de Silva             <desilva@netbox.com>
+Russ Allbery                   <rra@stanford.edu>
+Russell Fulton                 <russell@ccu1.auckland.ac.nz>
+Russell Mosemann
+Ryan Herbert                   <rherbert@sycamorehq.com>
+SAKAI Kiyotaka                 <ksakai@netwk.ntt-at.co.jp>
+Samuli Kärkkäinen              <skarkkai@woods.iki.fi>
+Scott Gifford                  <sgifford@tir.com>
+Scott Henry                    <scotth@sgi.com>
+Sean Robinson                  <robinson_s@sc.maricopa.edu>
+Sean Sheedy                    <seans@ncube.com>
+Sebastien Barre                <Sebastien.Barre@utc.fr>
+Shigeya Suzuki                 <shigeya@foretune.co.jp>
+Shimpei Yamashita              <shimpei@socrates.patnet.caltech.edu>
+Shishir Gundavaram             <shishir@ruby.ora.com>
+Simon Cozens                   <simon@cozens.net>
+Simon Leinen
+Simon Parsons                  <S.Parsons@ftel.co.uk>
+Slaven Rezic                   <eserte@cs.tu-berlin.de>
+Spider Boardman                <spider@orb.nashua.nh.us>
+Stephane Payrard               <stef@francenet.fr>
+Stephanie Beals                <bealzy@us.ibm.com>
+Stephen McCamant               <alias@mcs.com>
+Stephen O. Lidie               <lusol@turkey.cc.Lehigh.EDU>
+Stephen P. Potter              <spp@ds.net>
+Stephen Zander                 <gibreel@pobox.com>
+Steve A Fink                   <sfink@cs.berkeley.edu>
+Steve Kelem                    <steve.kelem@xilinx.com>
+Steve McDougall                <swmcd@world.std.com>
+Steve Nielsen                  <spn@enteract.com>
+Steve Pearlmutter
+Steve Vinoski
+Steven Hirsch                  <hirschs@btv.ibm.com>
+Steven Knight                  <knight@theopera.baldmt.citilink.com>
+Steven Morlock                 <newspost@morlock.net>
+Steven N. Hirsch               <hirschs@stargate.btv.ibm.com>
+Steven Parkes                  <parkes@sierravista.com>
+Sven Verdoolaege               <skimo@breughel.ufsia.ac.be>
+SynaptiCAD, Inc.               <sales@syncad.com>
+Taro KAWAGISHI
+Ted Ashton                     <ashted@southern.edu>
+Ted Law                        <tedlaw@cibcwg.com>
+Teun Burgers                   <burgers@ecn.nl>
+Thad Floryan                   <thad@thadlabs.com>
+Thomas Bowditch                <bowditch@inmet.com>
+Thomas Conté                   <tom@fr.uu.net>
+Thomas Dorner                  <Thomas.Dorner@start.de>
+Thomas Kofler
+Thomas König
+Tim Adye                       <T.J.Adye@rl.ac.uk>
+Tim Ayers                      <tayers@bridge.com>
+Tim Bunce                      <Tim.Bunce@ig.co.uk>
+Tim Conrow                     <tim@spindrift.srl.caltech.edu>
+Tim Freeman                    <tfreeman@infoseek.com>
+Tim Jenness                    <t.jenness@jach.hawaii.edu>
+Tim Mooney                     <mooney@dogbert.cc.ndsu.NoDak.edu>
+Tim Witham                     <twitham@pcocd2.intel.com>
+Timur I. Bakeyev               <bsdi@listserv.bat.ru>
+Tkil                           <tkil@reptile.scrye.com>
+Todd C. Miller                 <Todd.Miller@courtesan.com>
+Tom Bates                      <tom_bates@att.net>
+Tom Christiansen               <tchrist@perl.com>
+Tom Horsley                    <Tom.Horsley@mail.ccur.com>
+Tom Hughes                     <tom@compton.nu>
+Tom Phoenix                    <rootbeer@teleport.com>
+Tom Spindler                   <dogcow@isi.net>
+Tony Camas
+Tony Cook                      <tony@develop-help.com>
+Tony Sanders                   <sanders@bsdi.com>
+Tor Lillqvist                  <tml@hemuli.tte.vtt.fi>
+Trevor Blackwell               <tlb@viaweb.com>
+Tuomas J. Lukka                <tjl@lukka.student.harvard.edu>
+Tye McQueen                    <tye@metronet.com>
+Ulrich Kunitz                  <kunitz@mai-koeln.com>
+Ulrich Pfeifer                 <pfeifer@wait.de>
+Vadim Konovalov                <vkonovalov@lucent.com>
+Valeriy E. Ushakov             <uwe@ptc.spbu.ru>
+Vishal Bhatia                  <vishal@deja.com>
+Vlad Harchev                   <hvv@hippo.ru>
+Vladimir Alexiev               <vladimir@cs.ualberta.ca>
+W. Phillip Moore               <wpm@ms.com>
+Warren Hyde                    <whyde@pezz.sps.mot.com>
+Warren Jones                   <wjones@tc.fluke.com>
+Wayne Berke                    <berke@panix.com>
+Wayne Scott                    <wscott@ichips.intel.com>
+Wayne Thompson                 <Wayne.Thompson@Ebay.sun.com>
+Wilfredo Sánchez               <wsanchez@apple.com>
+William J. Middleton           <William.Middleton@oslo.mobil.telenor.no>
+William Mann                   <wmann@avici.com>
+William R Ward                 <hermit@BayView.COM>
+William Setzer                 <William_Setzer@ncsu.edu>
+Winfried König                 <win@in.rhein-main.de>
+Wolfgang Laun                  <Wolfgang.Laun@alcatel.at>
+Yary Hluchan
+Yasushi Nakajima               <sey@jkc.co.jp>
+Yitzchak Scott-Thoennes        <sthoenna@efn.org>
+Yutaka OIWA                    <oiwa@is.s.u-tokyo.ac.jp>
+Yutao Feng
+Zachary Miller                 <zcmiller@simon.er.usgs.gov>
index 3dc17bc..47adbff 100644 (file)
@@ -13319,7 +13319,7 @@ ____________________________________________________________________________
 [  3914] By: jhi                                   on 1999/08/03  21:11:11
         Log: The op/filetest.t failed subtest 7 if testing as root.
              
-             From: =?iso-8859-1?Q?Fran=E7ois=20D=E9sarm=E9nien?= <desar@club-internet.fr>
+             From: François Désarménien <desar@club-internet.fr>
              To: perl5-porters@perl.org
              Subject: [ID 19990727.039] Not OK: perl 5.00558 on i386-sco 3.2v5.0.4
              Date: Tue, 27 Jul 1999 22:54:05 +0200
index 03004be..023df36 100755 (executable)
--- a/Configure
+++ b/Configure
 
 # $Id: Head.U,v 3.0.1.9 1997/02/28 15:02:09 ram Exp $
 #
-# Generated on Thu Oct 19 22:28:50 EET DST 2000 [metaconfig 3.0 PL70]
+# Generated on Fri Jan  5 20:11:52 EET 2001 [metaconfig 3.0 PL70]
 # (with additional metaconfig patches by perlbug@perl.org)
 
-cat >/tmp/c1$$ <<EOF
+cat >c1$$ <<EOF
 ARGGGHHHH!!!!!
 
 SCO csh still thinks true is false.  Write to SCO today and tell them that next
@@ -34,18 +34,18 @@ we'd have to do is go in and swap the && and || tokens, wherever they are.)
 
 [End of diatribe. We now return you to your regularly scheduled programming...]
 EOF
-cat >/tmp/c2$$ <<EOF
+cat >c2$$ <<EOF
 
 OOPS!  You naughty creature!  You didn't run Configure with sh!
 I will attempt to remedy the situation by running sh for you...
 EOF
 
-true || cat /tmp/c1$$ /tmp/c2$$
+true || cat c1$$ c2$$
 true || exec sh $0 $argv:q
 
-(exit $?0) || cat /tmp/c2$$
+(exit $?0) || cat c2$$
 (exit $?0) || exec sh $0 $argv:q
-rm -f /tmp/c1$$ /tmp/c2$$
+rm -f c1$$ c2$$
 
 : compute my invocation name
 me=$0
@@ -308,6 +308,7 @@ cppminus=''
 cpprun=''
 cppstdin=''
 crosscompile=''
+d__fwalk=''
 d_access=''
 d_accessx=''
 d_alarm=''
@@ -348,6 +349,7 @@ d_endsent=''
 d_fchmod=''
 d_fchown=''
 d_fcntl=''
+d_fcntl_can_lock=''
 d_fd_macros=''
 d_fd_set=''
 d_fds_bits=''
@@ -361,6 +363,7 @@ d_fs_data_s=''
 d_fseeko=''
 d_fsetpos=''
 d_fstatfs=''
+d_fsync=''
 d_ftello=''
 d_ftime=''
 d_gettimeod=''
@@ -385,6 +388,7 @@ d_getnbyaddr=''
 d_getnbyname=''
 d_getnent=''
 d_getnetprotos=''
+d_getpagsz=''
 d_getpent=''
 d_getpgid=''
 d_getpgrp2=''
@@ -474,6 +478,7 @@ d_rmdir=''
 d_safebcpy=''
 d_safemcpy=''
 d_sanemcmp=''
+d_sbrkproto=''
 d_select=''
 d_sem=''
 d_semctl=''
@@ -536,6 +541,8 @@ d_fstatvfs=''
 d_statvfs=''
 d_stdio_cnt_lval=''
 d_stdio_ptr_lval=''
+d_stdio_ptr_lval_nochange_cnt=''
+d_stdio_ptr_lval_sets_cnt=''
 d_stdiobase=''
 d_stdstdio=''
 stdio_base=''
@@ -555,6 +562,7 @@ d_strtod=''
 d_strtol=''
 d_strtold=''
 d_strtoll=''
+d_strtoq=''
 d_strtoul=''
 d_strtoull=''
 d_strtouq=''
@@ -714,6 +722,7 @@ installusrbinperl=''
 intsize=''
 longsize=''
 shortsize=''
+issymlink=''
 libc=''
 ldlibpthname=''
 libperl=''
@@ -773,6 +782,7 @@ d_eofnblk=''
 eagain=''
 o_nonblock=''
 rd_nodata=''
+need_va_copy=''
 netdb_hlen_type=''
 netdb_host_type=''
 netdb_name_type=''
@@ -1424,6 +1434,7 @@ case "$src" in
     */*) src=`echo $0 | sed -e 's%/[^/][^/]*$%%'`
          case "$src" in
         /*)    ;;
+        .)     ;;
          *)    src=`cd ../$src && pwd` ;;
         esac
          ;;
@@ -2051,6 +2062,7 @@ test)
 *)
        if `sh -c "PATH= test true" >/dev/null 2>&1`; then
                echo "Using the test built into your sh."
+               echo "Using the test built into your sh."
                test=test
                _test=test
        fi
@@ -2159,6 +2171,93 @@ else
 fi
 $rm -f blurfl sym
 
+: determine whether symbolic links are supported
+echo " "
+case "$lns" in
+*"ln -s")
+       echo "Checking how to test for symbolic links..." >&4
+       $lns blurfl sym
+       if $test "X$issymlink" = X; then
+               sh -c "PATH= test -h sym" >/dev/null 2>&1
+               if test $? = 0; then
+                       issymlink="test -h"
+               fi              
+       fi
+       if $test "X$issymlink" = X; then
+               if  $test -h >/dev/null 2>&1; then
+                       issymlink="$test -h"
+                       echo "Your builtin 'test -h' may be broken, I'm using external '$test -h'." >&4
+               fi              
+       fi
+       if $test "X$issymlink" = X; then
+               if $test -L sym 2>/dev/null; then
+                       issymlink="$test -L"
+               fi
+       fi
+       if $test "X$issymlink" != X; then
+               echo "You can test for symbolic links with '$issymlink'." >&4
+       else
+               echo "I do not know how you can test for symbolic links." >&4
+       fi
+       $rm -f blurfl sym
+       ;;
+*)     echo "No symbolic links, so not testing for their testing..." >&4
+       ;;
+esac
+echo " "
+
+
+case "$mksymlinks" in
+$define|true|[yY]*)
+       case "$src" in
+       ''|'.') echo "Cannot create symlinks in the original directory." >&4
+               exit 1
+               ;;
+       *)      case "$lns:$issymlink" in
+               *"ln -s:"*"test -"?)
+                       echo "Creating the symbolic links..." >&4
+                       echo "(First creating the subdirectories...)" >&4
+                       cd ..
+                       awk '{print $1}' $src/MANIFEST | grep / | sed 's:/[^/]*$::' | sort -u | while true; do
+                               read directory
+                               test -z "$directory" && break
+                               mkdir -p $directory
+                       done
+                       # Sanity check 1.
+                       if test ! -d t/base; then
+                               echo "Failed to create the subdirectories.  Aborting." >&4
+                               exit 1
+                       fi
+                       echo "(Then creating the symlinks...)" >&4
+                       awk '{print $1}' $src/MANIFEST | while true; do
+                               read filename
+                               test -z "$filename" && break
+                               if test -f $filename; then
+                                       if $issymlink $filename; then
+                                               rm -f $filename
+                                       fi
+                               fi
+                               if test -f $filename; then
+                                       echo "$filename already exists, not symlinking."
+                               else
+                                       ln -s $src/$filename $filename
+                               fi
+                       done
+                       # Sanity check 2.
+                       if test ! -f t/base/commonsense.t; then
+                               echo "Failed to create the symlinks.  Aborting." >&4
+                               exit 1
+                       fi
+                       cd UU
+                       ;;
+               *)      echo "(I cannot figure out how to do symbolic links, ignoring mksymlinks)." >&4
+                       ;;
+               esac
+               ;;
+       esac
+       ;;
+esac
+
 : see whether [:lower:] and [:upper:] are supported character classes
 echo " "
 case "`echo AbyZ | $tr '[:lower:]' '[:upper:]' 2>/dev/null`" in
@@ -2261,7 +2360,10 @@ if test -f config.sh; then
        rp="I see a config.sh file.  Shall I use it to set the defaults?"
        . UU/myread
        case "$ans" in
-       n*|N*) echo "OK, I'll ignore it."; mv config.sh config.sh.old;;
+       n*|N*) echo "OK, I'll ignore it."
+               mv config.sh config.sh.old
+               myuname="$newmyuname"
+               ;;
        *)  echo "Fetching default answers from your old config.sh file..." >&4
                tmp_n="$n"
                tmp_c="$c"
@@ -2426,7 +2528,7 @@ EOM
                        esac
                        ;;
                next*) osname=next ;;
-               NonStop-UX) osname=nonstopux ;;
+               nonstop-ux) osname=nonstopux ;;
                POSIX-BC | posix-bc ) osname=posix-bc
                        osvers="$3"
                        ;;
@@ -2672,7 +2774,6 @@ cd UU
        ;;
 esac
 test "$override" && . ./optdef.sh
-myuname="$newmyuname"
 
 : Restore computed paths
 for file in $loclist $trylist; do
@@ -2906,7 +3007,7 @@ if test -f /osf_boot || $contains 'OSF/1' /usr/include/ctype.h >/dev/null 2>&1
 then
        echo "Looks kind of like an OSF/1 system, but we'll see..."
        echo exit 0 >osf1
-elif test `echo abc | tr a-z A-Z` = Abc ; then
+elif test `echo abc | $tr a-z A-Z` = Abc ; then
        xxx=`./loc addbib blurfl $pth`
        if $test -f $xxx; then
        echo "Looks kind of like a USG system with BSD features, but we'll see..."
@@ -3286,7 +3387,7 @@ esac
 
 case "$fn" in
 *\(*)
-       expr $fn : '.*(\(.*\)).*' | tr ',' $trnl >getfile.ok
+       expr $fn : '.*(\(.*\)).*' | $tr ',' $trnl >getfile.ok
        fn=`echo $fn | sed 's/(.*)//'`
        ;;
 esac
@@ -3663,7 +3764,8 @@ esac
 cat <<EOM
 
 Perl can be built to use the SOCKS proxy protocol library.  To do so,
-Configure must be run with -Dusesocks.
+Configure must be run with -Dusesocks.  If you use SOCKS you also need
+to use the PerlIO abstraction layer, this will be implicitly selected.
 
 If this doesn't make any sense to you, just accept the default '$dflt'.
 EOM
@@ -3676,6 +3778,10 @@ esac
 set usesocks
 eval $setvar
 
+case "$usesocks" in
+$define|true|[yY]*) useperlio="$define";;
+esac
+
 : Looking for optional libraries
 echo " "
 echo "Checking for optional libraries..." >&4
@@ -4041,8 +4147,8 @@ and I got the following output:
 
 EOM
 dflt=y
-if sh -c "$cc -o try $optimize $ccflags $ldflags try.c $libs" >>try.msg 2>&1; then
-       if sh -c './try' >>try.msg 2>&1; then
+if $sh -c "$cc -o try $optimize $ccflags $ldflags try.c $libs" >>try.msg 2>&1; then
+       if $sh -c './try' >>try.msg 2>&1; then
                xxx=`./try`
                case "$xxx" in
                "Ok") dflt=n ;;
@@ -4739,7 +4845,7 @@ unknown)
                                s/0*\([0-9][0-9][0-9][0-9][0-9]\)/\1/g
                                G
                                s/\n/ /' | \
-                        sort | $sed -e 's/^.* //'`
+                        $sort | $sed -e 's/^.* //'`
                eval set \$$#
        done
        $test -r $1 || set /usr/ccs/lib/libc.$so
@@ -4799,7 +4905,7 @@ compiler, or your machine supports multiple models), you can override it here.
 EOM
 else
        dflt=''
-       echo $libpth | tr ' ' $trnl | sort | uniq > libpath
+       echo $libpth | $tr ' ' $trnl | $sort | $uniq > libpath
        cat >&4 <<EOM
 I can't seem to find your C library.  I've looked in the following places:
 
@@ -4817,7 +4923,7 @@ rp='Where is your C library?'
 libc="$ans"
 
 echo " "
-echo $libc $libnames | tr ' ' $trnl | sort | uniq > libnames
+echo $libc $libnames | $tr ' ' $trnl | $sort | $uniq > libnames
 set X `cat libnames`
 shift
 xxx=files
@@ -7266,6 +7372,25 @@ rp='Perl administrator e-mail address'
 . ./myread
 perladmin="$ans"
 
+: determine whether to only install version-specific parts.
+echo " "
+$cat <<EOM
+Do you want to install only the version-specific parts of the perl
+distribution?  Usually you do *not* want to do this.
+EOM
+case "$versiononly" in
+"$define"|[Yy]*|true) dflt='y' ;;
+*) dflt='n';
+esac
+rp="Do you want to install only the version-specific parts of perl?"
+. ./myread
+case "$ans" in
+[yY]*) val="$define";;
+*)     val="$undef" ;;
+esac
+set versiononly
+eval $setvar
+
 : figure out how to guarantee perl startup
 case "$startperl" in
 '')
@@ -7280,7 +7405,10 @@ want to share those scripts and perl is not in a standard place
 a shell by starting the script with a single ':' character.
 
 EOH
-               dflt="$binexp/perl"
+               case "$versiononly" in
+               "$define")      dflt="$binexp/perl$version";;  
+               *)              dflt="$binexp/perl";;
+               esac
                rp='What shall I put after the #! to start up perl ("none" to not use #!)?'
                . ./myread
                case "$ans" in
@@ -7396,13 +7524,12 @@ $define|true|[yY]*)     dflt='y';;
 esac
 cat <<EOM
 
-Previous version of $package used the standard IO mechanisms as defined
-in <stdio.h>.  Versions 5.003_02 and later of perl allow alternate IO
-mechanisms via a "PerlIO" abstraction, but the stdio mechanism is still
-the default.  This abstraction layer can use AT&T's sfio (if you already
-have sfio installed) or regular stdio.  Using PerlIO with sfio may cause
-problems with some extension modules.  Using PerlIO with stdio is safe,
-but it is slower than plain stdio and therefore is not the default.
+Previous version of $package used the standard IO mechanisms as
+defined in <stdio.h>.  Versions 5.003_02 and later of perl allow
+alternate IO mechanisms via the PerlIO abstraction layer, but the
+stdio mechanism is still the default.  This abstraction layer can
+use AT&T's sfio (if you already have sfio installed) or regular stdio.
+Using PerlIO with sfio may cause problems with some extension modules.
 
 If this doesn't make any sense to you, just accept the default '$dflt'.
 EOM
@@ -7413,13 +7540,29 @@ y|Y)
        val="$define"
        ;;     
 *)      
-       echo "Ok, doing things the stdio way"
+       echo "Ok, doing things the stdio way."
        val="$undef"
        ;;
 esac
 set useperlio
 eval $setvar 
 
+case "$usesocks" in
+$define|true|[yY]*)
+       case "$useperlio" in
+       $define|true|[yY]*) ;;
+       *)      cat >&4 <<EOM
+
+You are using the SOCKS proxy protocol library which means that you
+should also use the PerlIO layer.  You may be headed for trouble.
+
+EOM
+               ;;
+       esac
+       ;;
+esac
+
+       
 case "$vendorprefix" in
 '')    d_vendorbin="$undef"
        vendorbin=''
@@ -7445,25 +7588,6 @@ else
        installvendorbin="$vendorbinexp"
 fi
 
-: determine whether to only install version-specific parts.
-echo " "
-$cat <<EOM
-Do you want to install only the version-specific parts of the perl
-distribution?  Usually you do *not* want to do this.
-EOM
-case "$versiononly" in
-"$define"|[Yy]*|true) dflt='y' ;;
-*) dflt='n';
-esac
-rp="Do you want to install only the version-specific parts of perl?"
-. ./myread
-case "$ans" in
-[yY]*) val="$define";;
-*)     val="$undef" ;;
-esac
-set versiononly
-eval $setvar
-
 : see if qgcvt exists
 set qgcvt d_qgcvt
 eval $inlibc
@@ -7744,6 +7868,10 @@ qgcvt) d_Gconvert='qgcvt((x),(n),(b))' ;;
    ;;  
 esac
 
+: see if _fwalk exists
+set fwalk d__fwalk
+eval $inlibc
+
 : Initialize h_fcntl
 h_fcntl=false
 
@@ -8843,6 +8971,54 @@ eval $inlibc
 set fcntl d_fcntl
 eval $inlibc
 
+echo " "
+: See if fcntl-based locking works.
+$cat >try.c <<'EOCP'
+#include <stdlib.h>
+#include <unistd.h>
+#include <fcntl.h>
+int main() {
+#if defined(F_SETLK) && defined(F_SETLKW)
+     struct flock flock;
+     int retval, fd;
+     fd = open("try.c", O_RDONLY);
+     flock.l_type = F_RDLCK;
+     flock.l_whence = SEEK_SET;
+     flock.l_start = flock.l_len = 0;
+     retval = fcntl(fd, F_SETLK, &flock);
+     close(fd);
+     (retval < 0 ? exit(2) : exit(0));
+#else
+     exit(2);
+#endif
+}
+EOCP
+echo "Checking if fcntl-based file locking works... "
+case "$d_fcntl" in
+"$define")
+       set try
+       if eval $compile_ok; then
+               if ./try; then
+                       echo "Yes, it seems to work."
+                       val="$define"
+               else
+                       echo "Nope, it didn't work."
+                       val="$undef"
+               fi
+       else
+               echo "I'm unable to compile the test program, so I'll assume not."
+               val="$undef"
+       fi
+       ;;
+*) val="$undef";
+       echo "Nope, since you don't even have fcntl()."
+       ;;
+esac
+set d_fcntl_can_lock
+eval $setvar
+$rm -f try*
+
+
 hasfield='varname=$1; struct=$2; field=$3; shift; shift; shift;
 while $test $# -ge 2; do
        case "$1" in
@@ -9219,6 +9395,10 @@ set fstatvfs d_fstatvfs
 eval $inlibc
 
 
+: see if fsync exists
+set fsync d_fsync
+eval $inlibc
+
 : see if ftello exists
 set ftello d_ftello
 eval $inlibc
@@ -9378,6 +9558,10 @@ echo " "
 set d_getnetprotos getnetent $i_netdb netdb.h
 eval $hasproto
 
+: see if getpagesize exists
+set getpagesize d_getpagsz
+eval $inlibc
+
 
 : see if getprotobyname exists
 set getprotobyname d_getpbyname
@@ -10040,6 +10224,37 @@ rp="What is the size of a character (in bytes)?"
 charsize="$ans"
 $rm -f try.c try
 
+: check for volatile keyword
+echo " "
+echo 'Checking to see if your C compiler knows about "volatile"...' >&4
+$cat >try.c <<'EOCP'
+int main()
+{
+       typedef struct _goo_struct goo_struct;
+       goo_struct * volatile goo = ((goo_struct *)0);
+       struct _goo_struct {
+               long long_int;
+               int reg_int;
+               char char_var;
+       };
+       typedef unsigned short foo_t;
+       char *volatile foo;
+       volatile int bar;
+       volatile foo_t blech;
+       foo = foo;
+}
+EOCP
+if $cc -c $ccflags try.c >/dev/null 2>&1 ; then
+       val="$define"
+       echo "Yup, it does."
+else
+       val="$undef"
+       echo "Nope, it doesn't."
+fi
+set d_volatile
+eval $setvar
+$rm -f try.*
+
 
 echo " "
 $echo "Choosing the C types to be used for Perl's internal types..." >&4
@@ -10218,67 +10433,68 @@ case "$i64type" in
        ;;
 esac
 
-$echo "Checking whether your NVs can preserve your UVs..." >&4
+$echo "Checking how many bits of your UVs your NVs can preserve..." >&4
+: volatile so that the compiler has to store it out to memory.
+if test X"$d_volatile" = X"$define"; then
+       volatile=volatile
+fi
 $cat <<EOP >try.c
 #include <stdio.h>
-int main() {
-    $uvtype k = ($uvtype)~0, l;
-    $nvtype d;
-    l = k;
-    d = ($nvtype)l;
-    l = ($uvtype)d;
-    if (l == k)
-       printf("preserve\n");
-    exit(0);
-}
-EOP
-set try
-if eval $compile; then
-       case "`./try$exe_ext`" in
-       preserve) d_nv_preserves_uv="$define" ;;
-       esac
-fi     
-case "$d_nv_preserves_uv" in
-$define) $echo "Yes, they can."  2>&1 ;;
-*)      $echo "No, they can't." 2>&1
-        d_nv_preserves_uv="$undef"
-        ;;
-esac
-
-$rm -f try.* try
-
-case "$d_nv_preserves_uv" in
-"$define") d_nv_preserves_uv_bits=`expr $uvsize \* 8` ;;
-*)     $echo "Checking how many bits of your UVs your NVs can preserve..." >&4
-       $cat <<EOP >try.c
-#include <stdio.h>
+#include <sys/types.h>
+#include <signal.h>
+#ifdef SIGFPE
+$volatile int bletched = 0;
+$signal_t blech(s) int s; { bletched = 1; }
+#endif
 int main() {
     $uvtype u = 0;
+    $nvtype d;
     int     n = 8 * $uvsize;
     int     i;
+#ifdef SIGFPE
+    signal(SIGFPE, blech);
+#endif
+
     for (i = 0; i < n; i++) {
       u = u << 1 | ($uvtype)1;
-      if (($uvtype)($nvtype)u != u)
+      d = ($nvtype)u;
+      if (($uvtype)d != u)
+        break;
+      if (d <= 0)
+       break;
+      d = ($nvtype)(u - 1);
+      if (($uvtype)d != (u - 1))
         break;
+#ifdef SIGFPE
+      if (bletched) {
+       break;
+#endif
+      }        
     }
-    printf("%d\n", i);
+    printf("%d\n", ((i == n) ? -n : i));
     exit(0);
 }
 EOP
-       set try
-       if eval $compile; then
-               d_nv_preserves_uv_bits="`./try$exe_ext`"
-       fi
-       case "$d_nv_preserves_uv_bits" in
-       [1-9]*) $echo "Your NVs can preserve $d_nv_preserves_uv_bits bits of your UVs."  2>&1 ;;
-       *)      $echo "Can't figure out how many bits your NVs preserve." 2>&1
-               d_nv_preserves_uv_bits="$undef"
-               ;;
-       esac
-       $rm -f try.* try
+set try
+
+d_nv_preserves_uv="$undef"
+if eval $compile; then
+       d_nv_preserves_uv_bits="`./try$exe_ext`"
+fi
+case "$d_nv_preserves_uv_bits" in
+\-[1-9]*)      
+       d_nv_preserves_uv_bits=`expr 0 - $d_nv_preserves_uv_bits`
+       $echo "Your NVs can preserve all $d_nv_preserves_uv_bits bits of your UVs."  2>&1
+       d_nv_preserves_uv="$define"
        ;;
+[1-9]*)        $echo "Your NVs can preserve only $d_nv_preserves_uv_bits bits of your UVs."  2>&1
+       d_nv_preserves_uv="$undef" ;;
+*)     $echo "Can't figure out how many bits your NVs preserve." 2>&1
+       d_nv_preserves_uv_bits="$undef" ;;
 esac
 
+$rm -f try.* try
+
 
 : check for off64_t
 echo " "
@@ -10792,6 +11008,11 @@ $rm -f try.* try core
 set d_sanemcmp
 eval $setvar
 
+: see if prototype for sbrk is available
+echo " "
+set d_sbrkproto sbrk $i_unistd unistd.h
+eval $hasproto
+
 : see if select exists
 set select d_select
 eval $inlibc
@@ -11390,7 +11611,28 @@ esac
 
 : see if _ptr and _cnt from stdio act std
 echo " "
-if $contains '_IO_fpos_t' `./findhdr stdio.h` `./findhdr libio.h` >/dev/null 2>&1 ; then
+
+if $contains '_lbfsize' `./findhdr stdio.h` >/dev/null 2>&1 ; then
+       echo "(Looks like you have stdio.h from BSD.)"
+       case "$stdio_ptr" in
+       '') stdio_ptr='((fp)->_p)'
+               ptr_lval=$define
+               ;;
+       *)      ptr_lval=$d_stdio_ptr_lval;;
+       esac
+       case "$stdio_cnt" in
+       '') stdio_cnt='((fp)->_r)'
+               cnt_lval=$define
+               ;;
+       *)      cnt_lval=$d_stdio_cnt_lval;;
+       esac
+       case "$stdio_base" in
+       '') stdio_base='((fp)->_ub._base ? (fp)->_ub._base : (fp)->_bf._base)';;
+       esac
+       case "$stdio_bufsiz" in
+       '') stdio_bufsiz='((fp)->_ub._base ? (fp)->_ub._size : (fp)->_bf._size)';;
+       esac
+elif $contains '_IO_fpos_t' `./findhdr stdio.h` `./findhdr libio.h` >/dev/null 2>&1 ; then
        echo "(Looks like you have stdio.h from Linux.)"
        case "$stdio_ptr" in
        '') stdio_ptr='((fp)->_IO_read_ptr)'
@@ -11430,6 +11672,7 @@ else
        '') stdio_bufsiz='((fp)->_cnt + (fp)->_ptr - (fp)->_base)';;
        esac
 fi
+
 : test whether _ptr and _cnt really work
 echo "Checking how std your stdio is..." >&4
 $cat >try.c <<EOP
@@ -11479,6 +11722,93 @@ esac
 set d_stdio_cnt_lval
 eval $setvar
 
+
+: test whether setting _ptr sets _cnt as a side effect
+d_stdio_ptr_lval_sets_cnt="$undef"
+d_stdio_ptr_lval_nochange_cnt="$undef"
+case "$d_stdio_ptr_lval$d_stdstdio" in
+$define$define)
+       echo "Checking to see what happens if we set the stdio ptr..." >&4
+$cat >try.c <<EOP
+#include <stdio.h>
+/* Can we scream? */
+/* Eat dust sed :-) */
+/* In the buffer space, no one can hear you scream. */
+#define FILE_ptr(fp)   $stdio_ptr
+#define FILE_cnt(fp)   $stdio_cnt
+#include <sys/types.h>
+int main() {
+       FILE *fp = fopen("try.c", "r");
+       int c;
+       char *ptr;
+       size_t cnt;
+       if (!fp) {
+           puts("Fail even to read");
+           exit(1);
+       }
+       c = getc(fp); /* Read away the first # */
+       if (c == EOF) {
+           puts("Fail even to read");
+           exit(1);
+       }
+       if (!(
+               18 <= FILE_cnt(fp) &&
+               strncmp(FILE_ptr(fp), "include <stdio.h>\n", 18) == 0
+       )) {
+               puts("Fail even to read");
+               exit (1);
+       }
+       ptr = (char*) FILE_ptr(fp);
+       cnt = (size_t)FILE_cnt(fp);
+
+       FILE_ptr(fp) += 42;
+
+       if ((char*)FILE_ptr(fp) != (ptr + 42)) {
+               printf("Fail ptr check %p != %p", FILE_ptr(fp), (ptr + 42));
+               exit (1);
+       }
+       if (FILE_cnt(fp) <= 20) {
+               printf ("Fail (<20 chars to test)");
+               exit (1);
+       }
+       if (strncmp(FILE_ptr(fp), "Eat dust sed :-) */\n", 20) != 0) {
+               puts("Fail compare");
+               exit (1);
+       }
+       if (cnt == FILE_cnt(fp)) {
+               puts("Pass_unchanged");
+               exit (0);
+       }       
+       if (FILE_cnt(fp) == (cnt - 42)) {
+               puts("Pass_changed");
+               exit (0);
+       }
+       printf("Fail count was %d now %d\n", cnt, FILE_cnt(fp));
+       return 1;
+
+}
+EOP
+       set try
+       if eval $compile; then
+               case `./try$exe_ext` in
+               Pass_changed)
+                       echo "Increasing ptr in your stdio decreases cnt by the same amount.  Good." >&4
+                       d_stdio_ptr_lval_sets_cnt="$define" ;;
+               Pass_unchanged)
+                       echo "Increasing ptr in your stdio leaves cnt unchanged.  Good." >&4
+                       d_stdio_ptr_lval_nochange_cnt="$define" ;;
+               Fail*)
+                       echo "Increasing ptr in your stdio didn't do exactly what I expected.  We'll not be doing that then." >&4 ;;
+               *)
+                       echo "It appears attempting to set ptr in your stdio is a bad plan." >&4 ;;
+       esac
+       else
+               echo "It seems we can't set ptr in your stdio.  Nevermind." >&4
+       fi
+       $rm -f try.c try
+       ;;
+esac
+
 : see if _base is also standard
 val="$undef"
 case "$d_stdstdio" in
        ;;
 esac
 
-: see if strtoul exists
-set strtoul d_strtoul
+: see if strtoq exists
+set strtoq d_strtoq
 eval $inlibc
 
-: see if strtoull exists
-set strtoull d_strtoull
+: see if strtoul exists
+set strtoul d_strtoul
 eval $inlibc
 
-case "$d_longlong-$d_strtoull" in
-"$define-$define")
+case "$d_strtoul" in
+"$define")
        $cat <<EOM
-Checking whether your strtoull() works okay...
+Checking whether your strtoul() works okay...
 EOM
        $cat >try.c <<'EOCP'
 #include <errno.h>
-#ifdef __hpux
-#define strtoull __strtoull
-#endif
 #include <stdio.h>
-extern unsigned long long int strtoull(char *s, char **, int); 
+extern unsigned long int strtoul(char *s, char **, int); 
+static int bad = 0;
+void check(char *s, unsigned long eul, int een) {
+       unsigned long gul;
+       errno = 0;
+       gul = strtoul(s, 0, 10);
+       if (!((gul == eul) && (errno == een)))
+               bad++;
+}
+int main() {
+       check(" 1", 1L, 0);
+       check(" 0", 0L, 0);
+EOCP
+       case "$longsize" in
+       8)
+           $cat >>try.c <<'EOCP'
+       check("18446744073709551615", 18446744073709551615UL, 0);
+       check("18446744073709551616", 18446744073709551615UL, ERANGE);
+#if 0 /* strtoul() for /^-/ strings is undefined. */
+       check("-1", 18446744073709551615UL, 0);
+       check("-18446744073709551614", 2, 0);
+       check("-18446744073709551615", 1, 0);
+               check("-18446744073709551616", 18446744073709551615UL, ERANGE);
+       check("-18446744073709551617", 18446744073709551615UL, ERANGE);
+#endif
+EOCP
+               ;;
+       4)
+                   $cat >>try.c <<'EOCP'
+       check("4294967295", 4294967295UL, 0);
+       check("4294967296", 4294967295UL, ERANGE);
+#if 0 /* strtoul() for /^-/ strings is undefined. */
+       check("-1", 4294967295UL, 0);
+       check("-4294967294", 2, 0);
+       check("-4294967295", 1, 0);
+               check("-4294967296", 4294967295UL, ERANGE);
+       check("-4294967297", 4294967295UL, ERANGE);
+#endif
+EOCP
+               ;;
+       *)
+: Should we write these tests to be more portable by sprintf-ing
+: ~0 and then manipulating that char string as input for strtol?
+               ;;
+       esac
+       $cat >>try.c <<'EOCP'
+       if (!bad)
+               printf("ok\n");
+       return 0;
+}
+EOCP
+       set try
+       if eval $compile; then
+               case "`./try`" in
+               ok) echo "Your strtoul() seems to be working okay." ;;
+               *) cat <<EOM >&4
+Your strtoul() doesn't seem to be working okay.
+EOM
+                  d_strtoul="$undef"
+                  ;;
+               esac
+       fi
+       ;;
+esac
+
+: see if strtoull exists
+set strtoull d_strtoull
+eval $inlibc
+
+case "$d_longlong-$d_strtoull" in
+"$define-$define")
+       $cat <<EOM
+Checking whether your strtoull() works okay...
+EOM
+       $cat >try.c <<'EOCP'
+#include <errno.h>
+#ifdef __hpux
+#define strtoull __strtoull
+#endif
+#include <stdio.h>
+extern unsigned long long int strtoull(char *s, char **, int); 
 static int bad = 0;
 int check(char *s, long long eull, int een) {
        long long gull;
@@ -11717,10 +12124,17 @@ int check(char *s, long long eull, int een) {
                bad++;
 }
 int main() {
-       check(" 1",                                       1LL, 0);
-       check(" 0",                                       0LL, 0);
-       check("18446744073709551615", 18446744073709551615ULL, 0);
-       check("18446744073709551616", 18446744073709551615ULL, ERANGE);
+       check(" 1",                                        1LL, 0);
+       check(" 0",                                        0LL, 0);
+       check("18446744073709551615",  18446744073709551615ULL, 0);
+       check("18446744073709551616",  18446744073709551615ULL, ERANGE);
+#if 0 /* strtoull() for /^-/ strings is undefined. */
+       check("-1",                    18446744073709551615ULL, 0);
+       check("-18446744073709551614",                     2LL, 0);
+       check("-18446744073709551615",                     1LL, 0);
+               check("-18446744073709551616", 18446744073709551615ULL, ERANGE);
+       check("-18446744073709551617", 18446744073709551615ULL, ERANGE);
+#endif
        if (!bad)
                printf("ok\n");
 }
@@ -11743,6 +12157,54 @@ esac
 set strtouq d_strtouq
 eval $inlibc
 
+case "$d_strtouq" in
+"$define")
+       $cat <<EOM
+Checking whether your strtouq() works okay...
+EOM
+       $cat >try.c <<'EOCP'
+#include <errno.h>
+#include <stdio.h>
+extern unsigned long long int strtouq(char *s, char **, int); 
+static int bad = 0;
+void check(char *s, unsigned long long eull, int een) {
+       unsigned long long gull;
+       errno = 0;
+       gull = strtouq(s, 0, 10);
+       if (!((gull == eull) && (errno == een)))
+               bad++;
+}
+int main() {
+       check(" 1",                                        1LL, 0);
+       check(" 0",                                        0LL, 0);
+       check("18446744073709551615",  18446744073709551615ULL, 0);
+       check("18446744073709551616",  18446744073709551615ULL, ERANGE);
+#if 0 /* strtouq() for /^-/ strings is undefined. */
+       check("-1",                    18446744073709551615ULL, 0);
+       check("-18446744073709551614",                     2LL, 0);
+       check("-18446744073709551615",                     1LL, 0);
+               check("-18446744073709551616", 18446744073709551615ULL, ERANGE);
+       check("-18446744073709551617", 18446744073709551615ULL, ERANGE);
+#endif
+       if (!bad)
+               printf("ok\n");
+       return 0;
+}
+EOCP
+       set try
+       if eval $compile; then
+               case "`./try`" in
+               ok) echo "Your strtouq() seems to be working okay." ;;
+               *) cat <<EOM >&4
+Your strtouq() doesn't seem to be working okay.
+EOM
+                  d_strtouq="$undef"
+                  ;;
+               esac
+       fi
+       ;;
+esac
+
 : see if strxfrm exists
 set strxfrm d_strxfrm
 eval $inlibc
@@ -11934,37 +12396,6 @@ esac
 set d_void_closedir
 eval $setvar
 $rm -f closedir*
-: check for volatile keyword
-echo " "
-echo 'Checking to see if your C compiler knows about "volatile"...' >&4
-$cat >try.c <<'EOCP'
-int main()
-{
-       typedef struct _goo_struct goo_struct;
-       goo_struct * volatile goo = ((goo_struct *)0);
-       struct _goo_struct {
-               long long_int;
-               int reg_int;
-               char char_var;
-       };
-       typedef unsigned short foo_t;
-       char *volatile foo;
-       volatile int bar;
-       volatile foo_t blech;
-       foo = foo;
-}
-EOCP
-if $cc -c $ccflags try.c >/dev/null 2>&1 ; then
-       val="$define"
-       echo "Yup, it does."
-else
-       val="$undef"
-       echo "Nope, it doesn't."
-fi
-set d_volatile
-eval $setvar
-$rm -f try.*
-
 : see if there is a wait4
 set wait4 d_wait4
 eval $inlibc
@@ -13274,6 +13705,168 @@ rp="What is the type used for file modes for system calls (e.g. fchmod())?"
 set mode_t modetype int stdio.h sys/types.h
 eval $typedef_ask
 
+: see if stdarg is available
+echo " "
+if $test `./findhdr stdarg.h`; then
+       echo "<stdarg.h> found." >&4
+       valstd="$define"
+else
+       echo "<stdarg.h> NOT found." >&4
+       valstd="$undef"
+fi
+
+: see if varags is available
+echo " "
+if $test `./findhdr varargs.h`; then
+       echo "<varargs.h> found." >&4
+else
+       echo "<varargs.h> NOT found, but that's ok (I hope)." >&4
+fi
+
+: set up the varargs testing programs
+$cat > varargs.c <<EOP
+#ifdef I_STDARG
+#include <stdarg.h>
+#endif
+#ifdef I_VARARGS
+#include <varargs.h>
+#endif
+
+#ifdef I_STDARG
+int f(char *p, ...)
+#else
+int f(va_alist)
+va_dcl
+#endif
+{
+       va_list ap;
+#ifndef I_STDARG
+       char *p;
+#endif
+#ifdef I_STDARG
+       va_start(ap,p);
+#else
+       va_start(ap);
+       p = va_arg(ap, char *);
+#endif
+       va_end(ap);
+}
+EOP
+$cat > varargs <<EOP
+$startsh
+if $cc -c $ccflags -D\$1 varargs.c >/dev/null 2>&1; then
+       echo "true"
+else
+       echo "false"
+fi
+$rm -f varargs$_o
+EOP
+chmod +x varargs
+
+: now check which varargs header should be included
+echo " "
+i_varhdr=''
+case "$valstd" in
+"$define")
+       if `./varargs I_STDARG`; then
+               val='stdarg.h'
+       elif `./varargs I_VARARGS`; then
+               val='varargs.h'
+       fi
+       ;;
+*)
+       if `./varargs I_VARARGS`; then
+               val='varargs.h'
+       fi
+       ;;
+esac
+case "$val" in
+'')
+echo "I could not find the definition for va_dcl... You have problems..." >&4
+       val="$undef"; set i_stdarg; eval $setvar
+       val="$undef"; set i_varargs; eval $setvar
+       ;;
+*) 
+       set i_varhdr
+       eval $setvar
+       case "$i_varhdr" in
+       stdarg.h)
+               val="$define"; set i_stdarg; eval $setvar
+               val="$undef"; set i_varargs; eval $setvar
+               ;;
+       varargs.h)
+               val="$undef"; set i_stdarg; eval $setvar
+               val="$define"; set i_varargs; eval $setvar
+               ;;
+       esac
+       echo "We'll include <$i_varhdr> to get va_dcl definition." >&4;;
+esac
+$rm -f varargs*
+
+: see if we need va_copy
+echo " "
+case "$i_stdarg" in
+"$define")
+       $cat >try.c <<EOCP
+#include <stdarg.h>
+#include <stdio.h>
+#$i_stdlib I_STDLIB
+#ifdef I_STDLIB
+#include <stdlib.h>
+#endif
+#include <signal.h>
+
+int
+ivfprintf(FILE *f, const char *fmt, va_list *valp)
+{
+  return vfprintf(f, fmt, *valp);
+}
+int    
+myvfprintf(FILE *f, const  char *fmt, va_list val)
+{
+  return ivfprintf(f, fmt, &val);
+}
+      
+int
+myprintf(char *fmt, ...) 
+{
+  va_list val;
+  va_start(val, fmt);
+  return myvfprintf(stdout, fmt, val); 
+}         
+
+int
+main(int ac, char **av)
+{
+  signal(SIGSEGV, exit);
+
+  myprintf("%s%cs all right, then\n", "that", '\'');                            
+  exit(0);      
+}
+EOCP
+       set try
+       if eval $compile && ./try 2>&1 >/dev/null; then
+               case "`./try`" in
+               "that's all right, then")
+                       okay=yes
+                       ;;
+               esac
+       fi
+       case "$okay" in
+       yes)    echo "It seems that you don't need va_copy()." >&4
+               need_va_copy="$undef"
+               ;;
+       *)      echo "It seems that va_copy() or similar will be needed." >&4
+               need_va_copy="$define"
+               ;;
+       esac
+       $rm -f try.* core core.* *.core *.core.*
+       ;;
+*)     echo "You don't have <stdarg.h>, not checking for va_copy()." >&4
+       ;;
+esac
+
 : define a fucntion to check prototypes
 $cat > protochk <<EOSH
 $startsh
@@ -14031,6 +14624,10 @@ $rm -f try try.*
 set d_socklen_t
 eval $setvar
 
+: see if this is a socks.h system
+set socks.h i_socks
+eval $inhdr
+
 : check for type of the size argument to socket calls
 case "$d_socket" in
 "$define")
@@ -14038,7 +14635,6 @@ case "$d_socket" in
 
 Checking to see what type is the last argument of accept().
 EOM
-       hdrs="$define sys/types.h $d_socket sys/socket.h" 
        yyy=''
        case "$d_socklen_t" in
        "$define") yyy="$yyy socklen_t"
@@ -14047,10 +14643,19 @@ EOM
        for xxx in $yyy; do
                case "$socksizetype" in
                '')     try="extern int accept(int, struct sockaddr *, $xxx *);"
-                       if ./protochk "$try" $hdrs; then
-                               echo "Your system accepts '$xxx *' for the last argument of accept()."
-                               socksizetype="$xxx"
-                       fi
+                       case "$usesocks" in
+                       "$define")
+                               if ./protochk "$try" $i_systypes sys/types.h $d_socket sys/socket.h literal '#define INCLUDE_PROTOTYPES' $i_socks socks.h.; then
+                                       echo "Your system accepts '$xxx *' for the last argument of accept()."
+                                       socksizetype="$xxx"
+                               fi
+                               ;;
+                       *)      if ./protochk "$try"  $i_systypes sys/types.h $d_socket sys/socket.h; then
+                                       echo "Your system accepts '$xxx *' for the last argument of accept()."
+                                       socksizetype="$xxx"
+                               fi
+                               ;;
+                       esac
                        ;;
                esac
        done
@@ -14111,13 +14716,17 @@ $rm -f ssize ssize.*
 
 : see what type of char stdio uses.
 echo " "
-if $contains 'unsigned.*char.*_ptr;' `./findhdr stdio.h` >/dev/null 2>&1 ; then
+echo '#include <stdio.h>' | $cppstdin $cppminus > stdioh
+if $contains 'unsigned.*char.*_ptr;' stdioh >/dev/null 2>&1 ; then
        echo "Your stdio uses unsigned chars." >&4
        stdchar="unsigned char"
 else
        echo "Your stdio uses signed chars." >&4
        stdchar="char"
 fi
+$rm -f stdioh
+
+
 
 : see if time exists
 echo " "
@@ -14514,7 +15123,7 @@ EOSH
 ./tr '[a-z]' '[A-Z]' < Cppsym.know > Cppsym.a
 ./tr '[A-Z]' '[a-z]' < Cppsym.know > Cppsym.b
 $cat Cppsym.know > Cppsym.c
-$cat Cppsym.a Cppsym.b Cppsym.c | $tr ' ' $trnl | sort | uniq > Cppsym.know
+$cat Cppsym.a Cppsym.b Cppsym.c | $tr ' ' $trnl | $sort | $uniq > Cppsym.know
 $rm -f Cppsym.a Cppsym.b Cppsym.c
 cat <<EOSH > Cppsym
 $startsh
@@ -14697,108 +15306,6 @@ val=$val3; set i_termios; eval $setvar
 set shadow.h i_shadow
 eval $inhdr
 
-: see if this is a socks.h system
-set socks.h i_socks
-eval $inhdr
-
-: see if stdarg is available
-echo " "
-if $test `./findhdr stdarg.h`; then
-       echo "<stdarg.h> found." >&4
-       valstd="$define"
-else
-       echo "<stdarg.h> NOT found." >&4
-       valstd="$undef"
-fi
-
-: see if varags is available
-echo " "
-if $test `./findhdr varargs.h`; then
-       echo "<varargs.h> found." >&4
-else
-       echo "<varargs.h> NOT found, but that's ok (I hope)." >&4
-fi
-
-: set up the varargs testing programs
-$cat > varargs.c <<EOP
-#ifdef I_STDARG
-#include <stdarg.h>
-#endif
-#ifdef I_VARARGS
-#include <varargs.h>
-#endif
-
-#ifdef I_STDARG
-int f(char *p, ...)
-#else
-int f(va_alist)
-va_dcl
-#endif
-{
-       va_list ap;
-#ifndef I_STDARG
-       char *p;
-#endif
-#ifdef I_STDARG
-       va_start(ap,p);
-#else
-       va_start(ap);
-       p = va_arg(ap, char *);
-#endif
-       va_end(ap);
-}
-EOP
-$cat > varargs <<EOP
-$startsh
-if $cc -c $ccflags -D\$1 varargs.c >/dev/null 2>&1; then
-       echo "true"
-else
-       echo "false"
-fi
-$rm -f varargs$_o
-EOP
-chmod +x varargs
-
-: now check which varargs header should be included
-echo " "
-i_varhdr=''
-case "$valstd" in
-"$define")
-       if `./varargs I_STDARG`; then
-               val='stdarg.h'
-       elif `./varargs I_VARARGS`; then
-               val='varargs.h'
-       fi
-       ;;
-*)
-       if `./varargs I_VARARGS`; then
-               val='varargs.h'
-       fi
-       ;;
-esac
-case "$val" in
-'')
-echo "I could not find the definition for va_dcl... You have problems..." >&4
-       val="$undef"; set i_stdarg; eval $setvar
-       val="$undef"; set i_varargs; eval $setvar
-       ;;
-*) 
-       set i_varhdr
-       eval $setvar
-       case "$i_varhdr" in
-       stdarg.h)
-               val="$define"; set i_stdarg; eval $setvar
-               val="$undef"; set i_varargs; eval $setvar
-               ;;
-       varargs.h)
-               val="$undef"; set i_stdarg; eval $setvar
-               val="$define"; set i_varargs; eval $setvar
-               ;;
-       esac
-       echo "We'll include <$i_varhdr> to get va_dcl definition." >&4;;
-esac
-$rm -f varargs*
-
 : see if stddef is available
 set stddef.h i_stddef
 eval $inhdr
@@ -15343,6 +15850,7 @@ d_PRIo64='$d_PRIo64'
 d_PRIu64='$d_PRIu64'
 d_PRIx64='$d_PRIx64'
 d_SCNfldbl='$d_SCNfldbl'
+d__fwalk='$d__fwalk'
 d_access='$d_access'
 d_accessx='$d_accessx'
 d_alarm='$d_alarm'
@@ -15389,6 +15897,7 @@ d_eunice='$d_eunice'
 d_fchmod='$d_fchmod'
 d_fchown='$d_fchown'
 d_fcntl='$d_fcntl'
+d_fcntl_can_lock='$d_fcntl_can_lock'
 d_fd_macros='$d_fd_macros'
 d_fd_set='$d_fd_set'
 d_fds_bits='$d_fds_bits'
@@ -15404,6 +15913,7 @@ d_fseeko='$d_fseeko'
 d_fsetpos='$d_fsetpos'
 d_fstatfs='$d_fstatfs'
 d_fstatvfs='$d_fstatvfs'
+d_fsync='$d_fsync'
 d_ftello='$d_ftello'
 d_ftime='$d_ftime'
 d_getcwd='$d_getcwd'
@@ -15423,6 +15933,7 @@ d_getnbyaddr='$d_getnbyaddr'
 d_getnbyname='$d_getnbyname'
 d_getnent='$d_getnent'
 d_getnetprotos='$d_getnetprotos'
+d_getpagsz='$d_getpagsz'
 d_getpbyname='$d_getpbyname'
 d_getpbynumber='$d_getpbynumber'
 d_getpent='$d_getpent'
@@ -15526,6 +16037,7 @@ d_rmdir='$d_rmdir'
 d_safebcpy='$d_safebcpy'
 d_safemcpy='$d_safemcpy'
 d_sanemcmp='$d_sanemcmp'
+d_sbrkproto='$d_sbrkproto'
 d_sched_yield='$d_sched_yield'
 d_scm_rights='$d_scm_rights'
 d_seekdir='$d_seekdir'
@@ -15580,6 +16092,8 @@ d_statfs_s='$d_statfs_s'
 d_statvfs='$d_statvfs'
 d_stdio_cnt_lval='$d_stdio_cnt_lval'
 d_stdio_ptr_lval='$d_stdio_ptr_lval'
+d_stdio_ptr_lval_nochange_cnt='$d_stdio_ptr_lval_nochange_cnt'
+d_stdio_ptr_lval_sets_cnt='$d_stdio_ptr_lval_sets_cnt'
 d_stdio_stream_array='$d_stdio_stream_array'
 d_stdiobase='$d_stdiobase'
 d_stdstdio='$d_stdstdio'
@@ -15592,6 +16106,7 @@ d_strtod='$d_strtod'
 d_strtol='$d_strtol'
 d_strtold='$d_strtold'
 d_strtoll='$d_strtoll'
+d_strtoq='$d_strtoq'
 d_strtoul='$d_strtoul'
 d_strtoull='$d_strtoull'
 d_strtouq='$d_strtouq'
@@ -15783,6 +16298,7 @@ installvendorarch='$installvendorarch'
 installvendorbin='$installvendorbin'
 installvendorlib='$installvendorlib'
 intsize='$intsize'
+issymlink='$issymlink'
 ivdformat='$ivdformat'
 ivsize='$ivsize'
 ivtype='$ivtype'
@@ -15845,6 +16361,7 @@ mydomain='$mydomain'
 myhostname='$myhostname'
 myuname='$myuname'
 n='$n'
+need_va_copy='$need_va_copy'
 netdb_hlen_type='$netdb_hlen_type'
 netdb_host_type='$netdb_host_type'
 netdb_name_type='$netdb_name_type'
@@ -16057,9 +16574,9 @@ echo "CONFIGDOTSH=true" >>config.sh
 
 : propagate old symbols
 if $test -f UU/config.sh; then
-       <UU/config.sh sort | uniq >UU/oldconfig.sh
+       <UU/config.sh $sort | $uniq >UU/oldconfig.sh
        sed -n 's/^\([a-zA-Z_0-9]*\)=.*/\1/p' config.sh config.sh UU/oldconfig.sh |\
-       sort | uniq -u >UU/oldsyms
+       $sort | $uniq -u >UU/oldsyms
        set X `cat UU/oldsyms`
        shift
        case $# in
index 897fae6..1480551 100644 (file)
--- a/EXTERN.h
+++ b/EXTERN.h
@@ -1,6 +1,6 @@
 /*    EXTERN.h
  *
- *    Copyright (c) 1991-2000, Larry Wall
+ *    Copyright (c) 1991-2001, Larry Wall
  *
  *    You may distribute under the terms of either the GNU General Public
  *    License or the Artistic License, as specified in the README file.
diff --git a/INSTALL b/INSTALL
index 50e7773..3aa80ca 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -517,6 +517,23 @@ directories to add to @INC.  By default, it will be empty.
 Perl will search these directories (including architecture and
 version-specific subdirectories) for add-on modules and extensions.
 
+=item APPLLIB_EXP
+
+There is one other way of adding paths to @INC at perl build time, and
+that is by setting the APPLLIB_EXP C pre-processor token to a colon-
+separated list of directories, like this
+
+       sh Configure -Accflags='-DAPPLLIB_EXP=\"/usr/libperl\"'
+
+The directories defined by APPLLIB_EXP get added to @INC I<first>,
+ahead of any others, and so provide a way to override the standard perl
+modules should you, for example, want to distribute fixes without
+touching the perl distribution proper.  And, like otherlib dirs,
+version and architecture specific subdirectories are also searched, if
+present, at run time.  Of course, you can still search other @INC
+directories ahead of those in APPLLIB_EXP by using any of the standard
+run-time methods: $PERLLIB, $PERL5LIB, -I, use lib, etc.
+
 =item Man Pages
 
 In versions 5.005_57 and earlier, the default was to store module man
@@ -1131,6 +1148,39 @@ you have some libraries under /usr/local/ and others under
 
 =back
 
+=head2 Building DB, NDBM, and ODBM interfaces with Berkeley DB 3
+
+Perl interface for DB3 is part of Berkeley DB, but if you want to
+compile standard Perl DB/ODBM/NDBM interfaces, you must follow
+following instructions.
+
+Berkeley DB3 from Sleepycat Software is by default installed without
+DB1 compatibility code (needed for DB_File interface) and without
+links to compatibility files. So if you want to use packages written
+for DB/ODBM/NDBM interfaces, you need to configure DB3 with
+--enable-compat185 (and optionally with --enable-dump185) and create
+additional references (suppose you are installing DB3 with
+--prefix=/usr):
+
+    ln -s libdb-3.so /usr/lib/libdbm.so
+    ln -s libdb-3.so /usr/lib/libndbm.so
+    echo '#define DB_DBM_HSEARCH 1' >dbm.h 
+    echo '#include <db.h>' >>dbm.h
+    install -m 0644 dbm.h /usr/include/dbm.h 
+    install -m 0644 dbm.h /usr/include/ndbm.h
+
+Optionally, if you have compiled with --enable-compat185 (not needed
+for ODBM/NDBM):
+
+    ln -s libdb-3.so /usr/lib/libdb1.so
+    ln -s libdb-3.so /usr/lib/libdb.so
+
+ODBM emulation seems not to be perfect, but is quite usable,
+using DB 3.1.17:
+
+    lib/odbm.............FAILED at test 9
+        Failed 1/64 tests, 98.44% okay
+
 =head2 What if it doesn't work?
 
 If you run into problems, try some of the following ideas.
@@ -1397,36 +1447,6 @@ numbers and function name may vary in different versions of perl):
 it might well be a symptom of the gcc "varargs problem".  See the
 previous L<"varargs"> item.
 
-=item Solaris and SunOS dynamic loading
-
-If you have problems with dynamic loading using gcc on SunOS or
-Solaris, and you are using GNU as and GNU ld, you may need to add
--B/bin/ (for SunOS) or -B/usr/ccs/bin/ (for Solaris) to your
-$ccflags, $ldflags, and $lddlflags so that the system's versions of as
-and ld are used.  Note that the trailing '/' is required.
-Alternatively, you can use the GCC_EXEC_PREFIX
-environment variable to ensure that Sun's as and ld are used.  Consult
-your gcc documentation for further information on the -B option and
-the GCC_EXEC_PREFIX variable.
-
-One convenient way to ensure you are not using GNU as and ld is to
-invoke Configure with
-
-    sh Configure -Dcc='gcc -B/usr/ccs/bin/'
-
-for Solaris systems.  For a SunOS system, you must use -B/bin/
-instead.
-
-Alternatively, recent versions of GNU ld reportedly work if you
-include C<-Wl,-export-dynamic> in the ccdlflags variable in
-config.sh.
-
-=item ld.so.1: ./perl: fatal: relocation error:
-
-If you get this message on SunOS or Solaris, and you're using gcc,
-it's probably the GNU as or GNU ld problem in the previous item
-L<"Solaris and SunOS dynamic loading">.
-
 =item LD_LIBRARY_PATH
 
 If you run into dynamic loading problems, check your setting of
@@ -1435,18 +1455,6 @@ Perl library (libperl.a rather than libperl.so) it should build
 fine with LD_LIBRARY_PATH unset, though that may depend on details
 of your local set-up.
 
-=item dlopen: stub interception failed
-
-The primary cause of the 'dlopen: stub interception failed' message is
-that the LD_LIBRARY_PATH environment variable includes a directory
-which is a symlink to /usr/lib (such as /lib).
-
-The reason this causes a problem is quite subtle.  The file libdl.so.1.0
-actually *only* contains functions which generate 'stub interception
-failed' errors!  The runtime linker intercepts links to
-"/usr/lib/libdl.so.1.0" and links in internal implementation of those
-functions instead.  [Thanks to Tim Bunce for this explanation.]
-
 =item nm extraction
 
 If Configure seems to be having trouble finding library functions,
@@ -1632,24 +1640,11 @@ official site named at the start of this document.  If you do find
 that any site is carrying a corrupted or incomplete source code
 archive, please report it to the site's maintainer.
 
-This message can also be a symptom of using (say) a GNU tar compiled
-for SunOS4 on Solaris.  When you run SunOS4 binaries on Solaris the
-run-time system magically alters pathnames matching m#lib/locale# - so
-when tar tries to create lib/locale.pm a differently-named file gets
-created instead.
-
-You may find the file under its assumed name and be able to rename it
-back.  Or use Sun's tar to do the extract.
-
 =item invalid token: ##
 
 You are using a non-ANSI-compliant C compiler.  See L<WARNING:  This
 version requires a compiler that supports ANSI C>.
 
-=item lib/locale.pm: No such file or directory
-
-See L<THIS PACKAGE SEEMS TO BE INCOMPLETE>.
-
 =item Miscellaneous
 
 Some additional things that have been reported for either perl4 or perl5:
index 286cc46..1b35c13 100644 (file)
--- a/INTERN.h
+++ b/INTERN.h
@@ -1,6 +1,6 @@
 /*    INTERN.h
  *
- *    Copyright (c) 1991-2000, Larry Wall
+ *    Copyright (c) 1991-2001, Larry Wall
  *
  *    You may distribute under the terms of either the GNU General Public
  *    License or the Artistic License, as specified in the README file.
diff --git a/MAINTAIN b/MAINTAIN
deleted file mode 100644 (file)
index cd1e4ed..0000000
--- a/MAINTAIN
+++ /dev/null
@@ -1,904 +0,0 @@
-# In addition to actual maintainers this file also lists "interested parties".
-#
-# The maintainer aliases come from AUTHORS.  They may be defined in
-# a layered way: 'doc' expands to tchrist which expands to Tom Christiansen.
-#
-# A file that is in MANIFEST need not be here at all.
-# In any case, if nobody else is listed as maintainer,
-# PUMPKING (from AUTHORS) should be it.
-#
-# Filenames can contain * which means qr(.*) on the filenames found
-# using File::Find (it's _not_ filename glob).
-#
-# Maintainership definitions are of course cumulative: if A maintains
-# X/* and B maintains X/Y/Z, if X/Y/Z is changed, both A and B should
-# be notified.
-#
-# The filename(glob) and the maintainer(s) are separated by one or more tabs.
-
-Artistic       
-Changes        
-Changes5.000   
-Changes5.001   
-Changes5.002   
-Changes5.003   
-Changes5.004   
-Changes5.005   
-Configure                      cfg
-Copying        
-EXTERN.h       
-INSTALL        
-INTERN.h       
-MANIFEST       
-Makefile.SH    
-Makefile.micro                 simon
-objXSUB.h      
-Policy_sh.SH   
-Porting/*                      cfg
-Porting/Contract       
-Porting/Glossary       
-Porting/config.sh      
-Porting/config_H       
-Porting/findvars       
-Porting/fixCORE        
-Porting/fixvars        
-Porting/genlog 
-Porting/makerel        
-Porting/p4d2p  
-Porting/p4desc 
-Porting/patching.pod           dgris
-Porting/patchls        
-Porting/pumpkin.pod    
-README 
-README.amiga                   amiga
-README.beos                    beos
-README.cygwin                  cygwin
-README.dos                     dos
-README.hpux                    hpux
-README.lexwarn                 lexwarn
-README.machten                 machten
-README.micro                   simon
-README.mpeix                   mpeix
-README.os2                     os2
-README.os390                   os390
-README.plan9                   plan9
-README.posix-bc                        posix-bc
-README.qnx                     qnx
-README.threads 
-README.vmesa                   vmesa
-README.vms                     vms
-README.vos                     vos
-README.win32                   win32
-Todo   
-Todo-5.005     
-Todo.micro                     simon
-XSlock.h       
-XSUB.h 
-av.c   
-av.h   
-beos/*                         beos
-bytecode.h     
-bytecode.pl    
-byterun.c      
-byterun.h      
-cc_runtime.h   
-cflags.SH      
-config_h.SH                    cfg
-configpm       
-configure.com                  vms
-configure.gnu  
-cop.h  
-cv.h   
-cygwin/*                       cygwin
-deb.c  
-djgpp/*                                dos
-doio.c 
-doop.c 
-dosish.h       
-dump.c 
-ebcdic.c               
-eg/ADB 
-eg/README      
-eg/cgi/*                       cgi
-eg/changes     
-eg/client      
-eg/down        
-eg/dus 
-eg/findcp      
-eg/findtar     
-eg/g/gcp       
-eg/g/gcp.man   
-eg/g/ged       
-eg/g/ghosts    
-eg/g/gsh       
-eg/g/gsh.man   
-eg/muck        
-eg/muck.man    
-eg/myrup       
-eg/nih 
-eg/relink      
-eg/rename      
-eg/rmfrom      
-eg/scan/scan_df        
-eg/scan/scan_last      
-eg/scan/scan_messages  
-eg/scan/scan_passwd    
-eg/scan/scan_ps        
-eg/scan/scan_sudo      
-eg/scan/scan_suid      
-eg/scan/scanner        
-eg/server      
-eg/shmkill     
-eg/sysvipc/README      
-eg/sysvipc/ipcmsg      
-eg/sysvipc/ipcsem      
-eg/sysvipc/ipcshm      
-eg/travesty    
-eg/unuc        
-eg/uudecode    
-eg/van/empty   
-eg/van/unvanish        
-eg/van/vanexp  
-eg/van/vanish  
-eg/who 
-eg/wrapsuid    
-emacs/*                                ilya
-embed.h        
-embed.pl       
-embedvar.h     
-ext/*/hints*                   cfg
-ext/B/*                                nik
-ext/B/B/Deparse.pm             smccam
-ext/DB_File*                   pmarquess
-ext/DB_File/hints/dynixptx.pl  dynix/ptx
-ext/Data/Dumper/*              gsar
-ext/Devel/DProf/*
-ext/Devel/Peek/*               ilya
-ext/DynaLoader/DynaLoader_pm.PL        
-ext/DynaLoader/Makefile.PL     
-ext/DynaLoader/README  
-ext/DynaLoader/dl_aix.xs       aix
-ext/DynaLoader/dl_dld.xs       rsanders
-ext/DynaLoader/dl_dlopen.xs    timb
-ext/DynaLoader/dl_hpux.xs      hpux
-ext/DynaLoader/dl_mpeix.xs     mpeix
-ext/DynaLoader/dl_next.xs      next
-ext/DynaLoader/dl_none.xs      
-ext/DynaLoader/dl_vms.xs       vms
-ext/DynaLoader/dl_vmesa.xs     vmesa
-ext/DynaLoader/dlutils.c       
-ext/DynaLoader/hints/linux.pl  linux
-ext/Errno/*                    gbarr
-ext/Fcntl/*                    jhi
-ext/GDBM_File/GDBM_File.pm     
-ext/GDBM_File/GDBM_File.xs     
-ext/GDBM_File/Makefile.PL      
-ext/GDBM_File/typemap  
-ext/IO/*                       
-ext/IPC/SysV/*                 gbarr
-ext/NDBM_File/Makefile.PL      
-ext/NDBM_File/NDBM_File.pm     
-ext/NDBM_File/NDBM_File.xs     
-ext/NDBM_File/hints/dec_osf.pl dec_osf
-ext/NDBM_File/hints/dynixptx.pl        dynix/ptx
-ext/NDBM_File/hints/solaris.pl solaris
-ext/NDBM_File/hints/svr4.pl    svr4
-ext/NDBM_File/typemap  
-ext/ODBM_File/Makefile.PL      
-ext/ODBM_File/ODBM_File.pm     
-ext/ODBM_File/ODBM_File.xs     
-ext/ODBM_File/hints/dec_osf.pl dec_osf
-ext/ODBM_File/hints/hpux.pl    hpux
-ext/ODBM_File/hints/sco.pl     sco
-ext/ODBM_File/hints/solaris.pl solaris
-ext/ODBM_File/hints/svr4.pl    svr4
-ext/ODBM_File/hints/ultrix.pl
-ext/ODBM_File/typemap  
-ext/Opcode/Makefile.PL 
-ext/Opcode/Opcode.pm   
-ext/Opcode/Opcode.xs   
-ext/Opcode/Safe.pm     
-ext/Opcode/ops.pm      
-ext/POSIX/Makefile.PL  
-ext/POSIX/POSIX.pm     
-ext/POSIX/POSIX.pod    
-ext/POSIX/POSIX.xs     
-ext/POSIX/hints/bsdos.pl       bsdos
-ext/POSIX/hints/dynixptx.pl    dynix/ptx
-ext/POSIX/hints/freebsd.pl     freebsd
-ext/POSIX/hints/linux.pl       linux
-ext/POSIX/hints/netbsd.pl      netbsd
-ext/POSIX/hints/next_3.pl      next
-ext/POSIX/hints/openbsd.pl     openbsd
-ext/POSIX/hints/sunos_4.pl     sunos4
-ext/POSIX/typemap      
-ext/SDBM_File/Makefile.PL      
-ext/SDBM_File/SDBM_File.pm     
-ext/SDBM_File/SDBM_File.xs     
-ext/SDBM_File/sdbm/CHANGES     
-ext/SDBM_File/sdbm/COMPARE     
-ext/SDBM_File/sdbm/Makefile.PL 
-ext/SDBM_File/sdbm/README      
-ext/SDBM_File/sdbm/README.too  
-ext/SDBM_File/sdbm/biblio      
-ext/SDBM_File/sdbm/dba.c       
-ext/SDBM_File/sdbm/dbd.c       
-ext/SDBM_File/sdbm/dbe.1       
-ext/SDBM_File/sdbm/dbe.c       
-ext/SDBM_File/sdbm/dbm.c       
-ext/SDBM_File/sdbm/dbm.h       
-ext/SDBM_File/sdbm/dbu.c       
-ext/SDBM_File/sdbm/grind       
-ext/SDBM_File/sdbm/hash.c      
-ext/SDBM_File/sdbm/linux.patches       
-ext/SDBM_File/sdbm/makefile.sdbm       
-ext/SDBM_File/sdbm/pair.c      
-ext/SDBM_File/sdbm/pair.h      
-ext/SDBM_File/sdbm/readme.ms   
-ext/SDBM_File/sdbm/sdbm.3      
-ext/SDBM_File/sdbm/sdbm.c      
-ext/SDBM_File/sdbm/sdbm.h      
-ext/SDBM_File/sdbm/tune.h      
-ext/SDBM_File/sdbm/util.c      
-ext/SDBM_File/typemap  
-ext/Socket/Makefile.PL 
-ext/Socket/Socket.pm   
-ext/Socket/Socket.xs   
-ext/Thread/Makefile.PL 
-ext/Thread/Notes       
-ext/Thread/README      
-ext/Thread/Thread.pm   
-ext/Thread/Thread.xs   
-ext/Thread/Thread/Queue.pm     
-ext/Thread/Thread/Semaphore.pm 
-ext/Thread/Thread/Signal.pm    
-ext/Thread/Thread/Specific.pm  
-ext/Thread/create.t    
-ext/Thread/die.t       
-ext/Thread/die2.t      
-ext/Thread/io.t        
-ext/Thread/join.t      
-ext/Thread/join2.t     
-ext/Thread/list.t      
-ext/Thread/lock.t      
-ext/Thread/queue.t     
-ext/Thread/specific.t  
-ext/Thread/sync.t      
-ext/Thread/sync2.t     
-ext/Thread/typemap     
-ext/Thread/unsync.t    
-ext/Thread/unsync2.t   
-ext/Thread/unsync3.t   
-ext/Thread/unsync4.t   
-ext/attrs/Makefile.PL  
-ext/attrs/attrs.pm     
-ext/attrs/attrs.xs     
-ext/re/Makefile.PL     
-ext/re/hints/mpeix.pl          mpeix
-ext/re/re.pm                   regex
-ext/re/re.xs                   regex
-ext/util/make_ext      
-ext/util/mkbootstrap   
-fakethr.h      
-form.h 
-global.sym     
-globals.c      
-globvar.sym    
-gv.c   
-gv.h   
-h2pl/README    
-h2pl/cbreak.pl 
-h2pl/cbreak2.pl        
-h2pl/eg/sizeof.ph      
-h2pl/eg/sys/errno.pl   
-h2pl/eg/sys/ioctl.pl   
-h2pl/eg/sysexits.pl    
-h2pl/getioctlsizes     
-h2pl/mksizes   
-h2pl/mkvars    
-h2pl/tcbreak   
-h2pl/tcbreak2  
-handy.h        
-hints/*                                cfg
-hints/3b1.sh   
-hints/3b1cc    
-hints/README.hints     
-hints/aix.sh                   aix
-hints/altos486.sh      
-hints/amigaos.sh               amiga
-hints/apollo.sh        
-hints/aux_3.sh 
-hints/beos.sh                  beos
-hints/broken-db.msg    
-hints/bsdos.sh                 bsdos
-hints/convexos.sh      
-hints/cxux.sh                  cxux
-hints/cygwin.sh                        cygwin
-hints/dcosx.sh 
-hints/dec_osf.sh               dec_osf
-hints/dgux.sh                  dgux
-hints/dos_djgpp.sh             dos
-hints/dynix.sh                 dynix/ptx
-hints/dynixptx.sh              dynix/ptx
-hints/epix.sh  
-hints/esix4.sh 
-hints/fps.sh   
-hints/freebsd.sh               freebsd
-hints/genix.sh 
-hints/greenhills.sh    
-hints/hpux.sh                  hpux
-hints/i386.sh  
-hints/irix*                    irix
-hints/isc.sh   
-hints/isc_2.sh 
-hints/linux.sh                 linux
-hints/lynxos.sh
-hints/machten.sh               machten
-hints/machten_2.sh     
-hints/mips.sh  
-hints/mpc.sh   
-hints/mpeix.sh                 mpeix
-hints/ncr_tower.sh     
-hints/netbsd.sh                        netbsd
-hints/newsos4.sh       
-hints/next*                    step
-hints/openbsd.sh               openbsd
-hints/opus.sh  
-hints/os2.sh                   os2
-hints/os390.sh                 os390
-hints/posix-bc.sh              posix-bc
-hints/powerux.sh               powerux
-hints/qnx.sh                   qnx
-hints/sco.sh   
-hints/sco_2_3_0.sh     
-hints/sco_2_3_1.sh     
-hints/sco_2_3_2.sh     
-hints/sco_2_3_3.sh     
-hints/sco_2_3_4.sh     
-hints/solaris_2.sh             solaris
-hints/stellar.sh       
-hints/sunos_4*                 sunos4
-hints/svr4.sh                  svr4
-hints/ti1500.sh        
-hints/titanos.sh       
-hints/ultrix_4.sh              ultrix
-hints/umips.sh 
-hints/unicos*                  unicos
-hints/unisysdynix.sh   
-hints/utekv.sh 
-hints/uts.sh   
-hints/uwin.sh                  uwin
-hints/vmesa.sh                 vmesa
-hv.c   
-hv.h   
-installhtml    
-installman     
-installperl    
-intrpvar.h     
-iperlsys.h     
-jpl/*                          jpl
-keywords.h     
-keywords.pl    
-lib/AnyDBM_File.pm     
-lib/AutoLoader.pm      
-lib/AutoSplit.pm       
-lib/Benchmark.pm               jhi,timb
-lib/CGI*                       cgi
-lib/CPAN*                      cpan
-lib/Carp.pm    
-lib/Class/Struct.pm            tchrist
-lib/Cwd.pm     
-lib/Devel/SelfStubber.pm       
-lib/DirHandle.pm       
-lib/English.pm 
-lib/Env.pm     
-lib/Exporter.pm        
-lib/ExtUtils/*                 mm
-lib/ExtUtils/Command.pm                nik
-lib/ExtUtils/Embed.pm          doug
-lib/ExtUtils/Installed.pm      alan.burlison
-lib/ExtUtils/Mksymlists.pm     cbail
-lib/ExtUtils/MM_OS2.pm         os2
-lib/ExtUtils/MM_VMS.pm         vms
-lib/ExtUtils/MM_Win32.pm       win32
-lib/ExtUtils/Packlist.pm       alan.burlison
-lib/Fatal.pm   
-lib/File/Basename.pm   
-lib/File/CheckTree.pm  
-lib/File/Compare.pm            nik
-lib/File/Copy.pm               cbail
-lib/File/DosGlob.pm            gsar
-lib/File/Find.pm       
-lib/File/Path.pm               timb,cbail
-lib/File/Spec*                 kjahds
-lib/File/Spec/Mac.pm           schinder
-lib/File/Spec/OS2.pm           ilya
-lib/File/Spec/VMS.pm           vms
-lib/File/Spec/Win32.pm         win32
-lib/File/Temp.pm               tjenness
-lib/File/stat.pm               tchrist
-lib/FileCache.pm       
-lib/FileHandle.pm      
-lib/FindBin.pm 
-lib/Getopt/Long.pm             jvromans
-lib/I18N/Collate.pm            jhi
-lib/IPC/Open2.pm       
-lib/IPC/Open3.pm       
-lib/Math/BigFloat.pm           mbiggar
-lib/Math/BigInt.pm             mbiggar
-lib/Math/Complex.pm            complex
-lib/Math/Trig.pm               complex
-lib/Net/Ping.pm        
-lib/Net/hostent.pm             tchrist
-lib/Net/netent.pm              tchrist
-lib/Net/protoent.pm            tchrist
-lib/Net/servent.pm             tchrist
-lib/Pod/Checker.pm             bradapp
-lib/Pod/Functions.pm   
-lib/Pod/Html.pm                        tchrist
-lib/Pod/InputObjects.pm                bradapp
-lib/Pod/LaTeX.pm               tjenness
-lib/Pod/Man.pm                 rra
-lib/Pod/Parser.pm              bradapp
-lib/Pod/PlainText.pm           bradapp
-lib/Pod/Select.pm              bradapp
-lib/Pod/Text.pm                        rra
-lib/Pod/Text/*                 rra
-lib/Pod/Usage.pm               bradapp
-lib/Search/Dict.pm     
-lib/SelectSaver.pm     
-lib/SelfLoader.pm      
-lib/Shell.pm   
-lib/Symbol.pm  
-lib/Sys/Hostname.pm            sundstrom
-lib/Sys/Syslog.pm              tchrist
-lib/Term/ANSIcolor.pm          rra
-lib/Term/Cap.pm        
-lib/Term/Complete.pm           wayne.thompson
-lib/Term/ReadLine.pm   
-lib/Test.pm    
-lib/Test/Harness.pm            k
-lib/Text/Abbrev.pm     
-lib/Text/ParseWords.pm         pomeranz
-lib/Text/Soundex.pm            mikestok
-lib/Text/Tabs.pm               muir
-lib/Text/Wrap.pm               muir
-lib/Tie/Array.pm               nik
-lib/Tie/Handle.pm      
-lib/Tie/Hash.pm        
-lib/Tie/RefHash.pm             gsar
-lib/Tie/Scalar.pm      
-lib/Tie/SubstrHash.pm  
-lib/Time/Local.pm              pomeranz
-lib/Time/gmtime.pm             tchrist
-lib/Time/localtime.pm          tchrist
-lib/Time/tm.pm                 tchrist
-lib/UNIVERSAL.pm       
-lib/User/grent.pm              tchrist
-lib/User/pwent.pm              tchrist
-lib/abbrev.pl  
-lib/assert.pl  
-lib/autouse.pm 
-lib/base.pm    
-lib/bigfloat.pl        
-lib/bigint.pl  
-lib/bigrat.pl  
-lib/blib.pm    
-lib/cacheout.pl        
-lib/charnames.pm               ilya
-lib/chat2.pl   
-lib/complete.pl        
-lib/constant.pm        
-lib/ctime.pl   
-lib/diagnostics.pm             doc
-lib/dotsh.pl   
-lib/dumpvar.pl 
-lib/exceptions.pl      
-lib/fastcwd.pl 
-lib/fields.pm  
-lib/filetest.pm        
-lib/find.pl    
-lib/finddepth.pl       
-lib/flush.pl   
-lib/ftp.pl     
-lib/getcwd.pl  
-lib/getopt.pl  
-lib/getopts.pl 
-lib/hostname.pl        
-lib/importenv.pl       
-lib/integer.pm 
-lib/less.pm    
-lib/lib.pm     
-lib/locale.pm                  locale
-lib/look.pl    
-lib/newgetopt.pl       
-lib/open2.pl   
-lib/open3.pl   
-lib/overload.pm                        ilya
-lib/perl5db.pl                 ilya
-lib/pwd.pl     
-lib/shellwords.pl      
-lib/sigtrap.pm 
-lib/stat.pl    
-lib/strict.pm  
-lib/subs.pm    
-lib/syslog.pl  
-lib/tainted.pl 
-lib/termcap.pl 
-lib/timelocal.pl       
-lib/unicode/*Ethiopic*         dmulholl
-lib/unicode*                   lwall
-lib/utf8*                      lwall
-lib/validate.pl        
-lib/vars.pm    
-lib/warning.pm                 lexwarn
-makeaperl.SH   
-makedepend.SH  
-makedir.SH     
-malloc.c                       ilya
-mg.c   
-mg.h   
-minimod.pl     
-miniperlmain.c 
-mpeix/*                                mpeix
-mv-if-diff     
-myconfig       
-nostdio.h      
-op.c   
-op.h   
-opcode.h       
-opcode.pl      
-os2/*                          ilya
-patchlevel.h   
-perl.c 
-perl.h 
-perl_exp.SH    
-perlio.c       
-perlio.h       
-perlio.sym     
-perlsdio.h     
-perlsfio.h     
-perlsh 
-perlvars.h     
-perly.c        
-perly_c.diff   
-perly.fixer    
-perly.h        
-perly.y        
-plan9/*                                plan9
-pod/pod2usage.PL               bradapp
-pod/podchecker.PL              bradapp
-pod/podselect.PL               bradapp
-pod/*                          doc
-pod/buildtoc   
-pod/checkpods.PL       
-pod/perl.pod   
-pod/perlapio.pod       
-pod/perlbook.pod       
-pod/perlbot.pod        
-pod/perlcall.pod               pmarquess
-pod/perldata.pod       
-pod/perldebug.pod      
-pod/perldelta.pod      
-pod/perl5005delta.pod  
-pod/perl5004delta.pod  
-pod/perldebtut.pod             richard
-pod/perldiag.pod       
-pod/perldsc.pod                        tchrist
-pod/perlembed.pod              doug,jon
-pod/perlebcdic.pod             pvhp
-pod/perlfaq*                   gnat
-pod/perlform.pod       
-pod/perlfunc.pod       
-pod/perlguts.pod       
-pod/perlhack.pod               simon
-pod/perlhist.pod               jhi
-pod/perlipc.pod                        tchrist
-pod/perllocale.pod             locale
-pod/perllol.pod                        tchrist
-pod/perlmod.pod        
-pod/perlmodinstall.pod         jon
-pod/perlmodlib.pod             simon
-pod/perlmodlib.PL              simon
-pod/perlnewmod.pod             simon
-pod/perlobj.pod        
-pod/perlop.pod 
-pod/perlpod.pod                        lwall
-pod/perlport.pod               pudge
-pod/perlposix-bc.pod           posix-bc
-pod/perlre.pod                 regex
-pod/perlref.pod        
-pod/perlreftut.pod             mjd
-pod/perlrequick.pod            mkvale
-pod/perlretut.pod              mkvale
-pod/perlrun.pod        
-pod/perlsec.pod        
-pod/perlstyle.pod      
-pod/perlsub.pod        
-pod/perlsyn.pod        
-pod/perltie.pod                        tchrist
-pod/perltoc.pod        
-pod/perltoot.pod               tchrist
-pod/perltrap.pod       
-pod/perlunicode.pod            simon
-pod/perlutil.pod               simon
-pod/perlvar.pod        
-pod/perlxs.pod                 roehrich
-pod/perlxstut.pod              okamoto
-pod/pod2html.PL        
-pod/pod2latex.PL       
-pod/pod2man.PL 
-pod/pod2text.PL        
-pod/roffitall  
-pod/rofftoc    
-pod/splitman   
-pod/splitpod   
-pp.c   
-pp.h   
-pp.sym 
-pp_ctl.c       
-pp_hot.c       
-pp_proto.h     
-pp_sys.c       
-proto.h        
-qnx/*                          qnx
-regcomp.c                      regex
-regcomp.h                      regex
-regcomp.pl                     regex
-regcomp.sym                    regex
-regexec.c                      regex
-regexp.h                       regex
-regnodes.h                     regex
-run.c  
-scope.c        
-scope.h        
-sv.c   
-sv.h   
-t/README       
-t/TEST 
-t/UTEST        
-t/base/cond.t  
-t/base/if.t    
-t/base/lex.t   
-t/base/pat.t   
-t/base/rs.t    
-t/base/term.t  
-t/cmd/elsif.t  
-t/cmd/for.t    
-t/cmd/mod.t    
-t/cmd/subval.t 
-t/cmd/switch.t 
-t/cmd/while.t  
-t/comp/cmdopt.t        
-t/comp/colon.t 
-t/comp/cpp.aux 
-t/comp/cpp.t   
-t/comp/decl.t  
-t/comp/multiline.t     
-t/comp/package.t       
-t/comp/proto.t 
-t/comp/redef.t 
-t/comp/require.t       
-t/comp/script.t        
-t/comp/term.t  
-t/comp/use.t   
-t/harness      
-t/io/argv.t    
-t/io/dup.t     
-t/io/fs.t      
-t/io/inplace.t 
-t/io/iprefix.t 
-t/io/pipe.t    
-t/io/print.t   
-t/io/read.t    
-t/io/tell.t    
-t/lib/abbrev.t 
-t/lib/anydbm.t 
-t/lib/ansicolor.t              rra
-t/lib/autoloader.t     
-t/lib/basename.t       
-t/lib/bigint.t 
-t/lib/bigintpm.t       
-t/lib/cgi-form.t       
-t/lib/cgi-function.t   
-t/lib/cgi-html.t       
-t/lib/cgi-request.t    
-t/lib/charnames.t              ilya
-t/lib/checktree.t      
-t/lib/complex.t                        complex
-t/lib/db-btree.t               pmarquess
-t/lib/db-hash.t                        pmarquess
-t/lib/db-recno.t               pmarquess
-t/lib/dirhand.t        
-t/lib/dosglob.t        
-t/lib/dumper-ovl.t             gsar
-t/lib/dumper.t                 gsar
-t/lib/english.t        
-t/lib/env.t    
-t/lib/errno.t                  gbarr
-t/lib/fields.t 
-t/lib/filecache.t      
-t/lib/filecopy.t       
-t/lib/filefind.t       
-t/lib/filehand.t       
-t/lib/filepath.t       
-t/lib/filespec.t               kjahds
-t/lib/findbin.t        
-t/lib/ftmp-*.t                 tjenness
-t/lib/gol-basic.t              jvromans
-t/lib/gol-compat.t             jvromans
-t/lib/gol-linkage.t            jvromans
-t/lib/gdbm.t   
-t/lib/getopt.t                 jvromans
-t/lib/h2ph*                    kstar
-t/lib/hostname.t       
-t/lib/io_*                     gbarr
-t/lib/ipc_sysv.t               gbarr
-t/lib/ndbm.t   
-t/lib/odbm.t   
-t/lib/opcode.t 
-t/lib/open2.t  
-t/lib/open3.t  
-t/lib/ops.t    
-t/lib/parsewords.t     
-t/lib/ph.t                     kstar
-t/lib/posix.t  
-t/lib/safe1.t  
-t/lib/safe2.t  
-t/lib/sdbm.t   
-t/lib/searchdict.t     
-t/lib/selectsaver.t    
-t/lib/socket.t 
-t/lib/soundex.t        
-t/lib/symbol.t 
-t/lib/texttabs.t               muir
-t/lib/textfill.t               muir
-t/lib/textwrap.t       
-t/lib/thr5005.t        
-t/lib/tie-push.t       
-t/lib/tie-stdarray.t   
-t/lib/tie-stdpush.t    
-t/lib/timelocal.t      
-t/lib/trig.t   
-t/op/append.t  
-t/op/arith.t   
-t/op/array.t   
-t/op/assignwarn.t      
-t/op/auto.t    
-t/op/avhv.t    
-t/op/bop.t     
-t/op/chop.t    
-t/op/closure.t 
-t/op/cmp.t     
-t/op/cond.t    
-t/op/context.t 
-t/op/defins.t  
-t/op/delete.t  
-t/op/die.t     
-t/op/die_exit.t        
-t/op/do.t      
-t/op/each.t    
-t/op/eval.t    
-t/op/exec.t    
-t/op/exp.t     
-t/op/filetest.t        
-t/op/flip.t    
-t/op/fork.t    
-t/op/glob.t    
-t/op/goto.t    
-t/op/goto_xs.t 
-t/op/grent.t   
-t/op/groups.t  
-t/op/gv.t      
-t/op/hashwarn.t        
-t/op/inc.t     
-t/op/index.t   
-t/op/int.t     
-t/op/join.t    
-t/op/lex_assign.t      
-t/op/list.t    
-t/op/local.t   
-t/op/magic.t   
-t/op/method.t  
-t/op/misc.t    
-t/op/mkdir.t   
-t/op/my.t      
-t/op/nothr5005.t       
-t/op/oct.t     
-t/op/ord.t     
-t/op/pack.t    
-t/op/pat.t     
-t/op/pos.t     
-t/op/push.t    
-t/op/pwent.t   
-t/op/quotemeta.t       
-t/op/rand.t    
-t/op/range.t   
-t/op/re_tests                  regex
-t/op/read.t    
-t/op/readdir.t 
-t/op/recurse.t 
-t/op/ref.t     
-t/op/regexp.t                  regex
-t/op/regexp_noamp.t            regex
-t/op/repeat.t  
-t/op/runlevel.t        
-t/op/sleep.t   
-t/op/sort.t    
-t/op/splice.t  
-t/op/split.t   
-t/op/sprintf.t 
-t/op/stat.t    
-t/op/study.t   
-t/op/subst.t   
-t/op/substr.t  
-t/op/sysio.t   
-t/op/taint.t   
-t/op/tie.t     
-t/op/tiearray.t        
-t/op/tiehandle.t       
-t/op/time.t    
-t/op/tr.t      
-t/op/undef.t   
-t/op/universal.t       
-t/op/unshift.t 
-t/op/vec.t     
-t/op/wantarray.t       
-t/op/write.t   
-t/pod/*                                bradapp
-t/pragma/constant.t    
-t/pragma/locale.t              locale
-t/pragma/overload.t            ilya
-t/pragma/strict-refs   
-t/pragma/strict-subs   
-t/pragma/strict-vars   
-t/pragma/strict.t      
-t/pragma/subs.t        
-t/pragma/warn/*                        lexwarn
-t/pragma/warn/regcomp          regex
-t/pragma/warn/regexec          regex
-t/pragma/warning.t             lexwarn
-taint.c        
-thrdvar.h      
-thread.h       
-toke.c 
-uconfig.h                      simon
-uconfig.sh                     simon
-universal.c    
-unixish.h      
-utf*                           lwall
-utils/Makefile
-utils/c2ph.PL                  tchrist
-utils/h2ph.PL                  kstar
-utils/h2xs.PL  
-utils/perlbug.PL       
-utils/perlcc.PL        
-utils/perldoc.PL       
-utils/pl2pm.PL 
-utils/splain.PL                        doc
-vmesa/*                                vmesa
-vms/*                          vms
-vos/*                          vos
-warning.h                      lexwarn
-warning.pl                     lexwarn
-win32/*
-writemain.SH   
-x2p/EXTERN.h   
-x2p/INTERN.h   
-x2p/Makefile.SH        
-x2p/a2p.c      
-x2p/a2p.h      
-x2p/a2p.pod    
-x2p/a2p.y      
-x2p/a2py.c     
-x2p/cflags.SH  
-x2p/find2perl.PL       
-x2p/hash.c     
-x2p/hash.h     
-x2p/proto.h    
-x2p/s2p.PL     
-x2p/str.c      
-x2p/str.h      
-x2p/util.c     
-x2p/util.h     
-x2p/walk.c     
index dbe97ca..18ae760 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -13,7 +13,6 @@ Copying                       The GNU General Public License
 EXTERN.h               Included before foreign .h files
 INSTALL                        Detailed installation instructions
 INTERN.h               Included before domestic .h files
-MAINTAIN               Who maintains which files
 MANIFEST               This list of files
 Makefile.SH            A script that generates Makefile
 Makefile.micro         microperl Makefile
@@ -32,6 +31,7 @@ Porting/p4desc                Smarter 'p4 describe', outputs diffs for new files
 Porting/patching.pod   How to report changes made to Perl
 Porting/patchls                Flexible patch file listing utility
 Porting/pumpkin.pod    Guidelines and hints for Perl maintainers
+Porting/repository.pod How to use the Perl repository
 README                 The Instructions
 README.Y2K             Notes about Year 2000 concerns
 README.aix             Notes about AIX port
@@ -52,6 +52,7 @@ README.os390          Notes about OS/390 (nee MVS) port
 README.plan9           Notes about Plan9 port
 README.posix-bc                Notes about BS2000 POSIX port
 README.qnx             Notes about QNX port
+README.solaris         Notes about Solaris port
 README.threads         Notes about multithreading
 README.vmesa           Notes about VM/ESA port
 README.vms             Notes about installing the VMS port
@@ -191,10 +192,11 @@ ext/DynaLoader/hints/netbsd.pl    Hint for DynaLoader for named architecture
 ext/DynaLoader/hints/openbsd.pl        Hint for DynaLoader for named architecture
 ext/Encode/Encode.pm           Encode extension
 ext/Encode/Encode.xs           Encode extension
-ext/Encode/Makefile.PL         Encode extension
-ext/Encode/Todo                        Encode extension
+ext/Encode/Encode/EncodeFormat.pod     Encoding table format
 ext/Encode/Encode/ascii.enc    Encoding tables
 ext/Encode/Encode/big5.enc     Encoding tables
+ext/Encode/Encode/cp1006.enc   Encoding tables
+ext/Encode/Encode/cp1047.enc   Encoding tables
 ext/Encode/Encode/cp1250.enc   Encoding tables
 ext/Encode/Encode/cp1251.enc   Encoding tables
 ext/Encode/Encode/cp1252.enc   Encoding tables
@@ -204,12 +206,15 @@ ext/Encode/Encode/cp1255.enc      Encoding tables
 ext/Encode/Encode/cp1256.enc   Encoding tables
 ext/Encode/Encode/cp1257.enc   Encoding tables
 ext/Encode/Encode/cp1258.enc   Encoding tables
+ext/Encode/Encode/cp37.enc     Encoding tables
+ext/Encode/Encode/cp424.enc    Encoding tables
 ext/Encode/Encode/cp437.enc    Encoding tables
 ext/Encode/Encode/cp737.enc    Encoding tables
 ext/Encode/Encode/cp775.enc    Encoding tables
 ext/Encode/Encode/cp850.enc    Encoding tables
 ext/Encode/Encode/cp852.enc    Encoding tables
 ext/Encode/Encode/cp855.enc    Encoding tables
+ext/Encode/Encode/cp856.enc    Encoding tables
 ext/Encode/Encode/cp857.enc    Encoding tables
 ext/Encode/Encode/cp860.enc    Encoding tables
 ext/Encode/Encode/cp861.enc    Encoding tables
@@ -231,10 +236,16 @@ ext/Encode/Encode/euc-kr.enc      Encoding tables
 ext/Encode/Encode/gb12345.enc  Encoding tables
 ext/Encode/Encode/gb1988.enc   Encoding tables
 ext/Encode/Encode/gb2312.enc   Encoding tables
+ext/Encode/Encode/gsm0338.enc          Encoding tables
 ext/Encode/Encode/iso2022-jp.enc       Encoding tables
 ext/Encode/Encode/iso2022-kr.enc       Encoding tables
 ext/Encode/Encode/iso2022.enc          Encoding tables
 ext/Encode/Encode/iso8859-1.enc                Encoding tables
+ext/Encode/Encode/iso8859-10.enc       Encoding tables
+ext/Encode/Encode/iso8859-13.enc       Encoding tables
+ext/Encode/Encode/iso8859-14.enc       Encoding tables
+ext/Encode/Encode/iso8859-15.enc       Encoding tables
+ext/Encode/Encode/iso8859-16.enc       Encoding tables
 ext/Encode/Encode/iso8859-2.enc                Encoding tables
 ext/Encode/Encode/iso8859-3.enc                Encoding tables
 ext/Encode/Encode/iso8859-4.enc                Encoding tables
@@ -260,8 +271,14 @@ ext/Encode/Encode/macRomania.enc   Encoding tables
 ext/Encode/Encode/macThai.enc          Encoding tables
 ext/Encode/Encode/macTurkish.enc       Encoding tables
 ext/Encode/Encode/macUkraine.enc       Encoding tables
+ext/Encode/Encode/posix-bc.enc         Encoding tables
 ext/Encode/Encode/shiftjis.enc         Encoding tables
 ext/Encode/Encode/symbol.enc           Encoding tables
+ext/Encode/Makefile.PL         Encode extension
+ext/Encode/Todo                        Encode extension
+ext/Encode/compile             Encode extension
+ext/Encode/encengine.c         Encode extension
+ext/Encode/encode.h            Encode extension
 ext/Errno/ChangeLog            Errno perl module change log
 ext/Errno/Errno_pm.PL          Errno perl module create script
 ext/Errno/Makefile.PL          Errno extension makefile writer
@@ -275,6 +292,9 @@ ext/File/Glob/Makefile.PL   File::Glob extension makefile writer
 ext/File/Glob/TODO             File::Glob extension todo list
 ext/File/Glob/bsd_glob.c       File::Glob extension run time code
 ext/File/Glob/bsd_glob.h       File::Glob extension header file
+ext/Filter/Util/Call/Call.pm   Filter::Util::Call extension module
+ext/Filter/Util/Call/Call.xs   Filter::Util::Call extension external subroutines
+ext/Filter/Util/Call/Makefile.PL       Filter::Util::Call extension makefile writer
 ext/GDBM_File/GDBM_File.pm     GDBM extension Perl module
 ext/GDBM_File/GDBM_File.xs     GDBM extension external subroutines
 ext/GDBM_File/Makefile.PL      GDBM extension makefile writer
@@ -348,6 +368,7 @@ ext/POSIX/hints/netbsd.pl       Hint for POSIX for named architecture
 ext/POSIX/hints/next_3.pl       Hint for POSIX for named architecture
 ext/POSIX/hints/openbsd.pl     Hint for POSIX for named architecture
 ext/POSIX/hints/sunos_4.pl     Hint for POSIX for named architecture
+ext/POSIX/hints/svr4.pl                Hint for POSIX for named architecture
 ext/POSIX/typemap              POSIX extension interface types
 ext/SDBM_File/Makefile.PL      SDBM extension makefile writer
 ext/SDBM_File/SDBM_File.pm     SDBM extension Perl module
@@ -382,8 +403,8 @@ ext/Socket/Makefile.PL      Socket extension makefile writer
 ext/Socket/Socket.pm   Socket extension Perl module
 ext/Socket/Socket.xs   Socket extension external subroutines
 ext/Storable/ChangeLog         Storable extension
-ext/Storable/Makefile.PL       Storable extension
 ext/Storable/MANIFEST          Storable extension
+ext/Storable/Makefile.PL       Storable extension
 ext/Storable/README            Storable extension
 ext/Storable/Storable.pm       Storable extension
 ext/Storable/Storable.xs       Storable extension
@@ -423,13 +444,14 @@ ext/attrs/Makefile.PL     attrs extension makefile writer
 ext/attrs/attrs.pm     attrs extension Perl module
 ext/attrs/attrs.xs     attrs extension external subroutines
 ext/re/Makefile.PL     re extension makefile writer
+ext/re/hints/aix.pl    Hints for re for named architecture
 ext/re/hints/mpeix.pl  Hints for re for named architecture
 ext/re/re.pm           re extension Perl module
 ext/re/re.xs           re extension external subroutines
 ext/util/make_ext      Used by Makefile to execute extension Makefiles
 ext/util/mkbootstrap   Turns ext/*/*_BS into bootstrap info
+fakesdio.h             stdio in terms of PerlIO
 fakethr.h              Fake threads header
-fix_pl                 Fix up patchlevel.h for repository perls
 form.h                 Public declarations for the above
 global.sym             Symbols that need hiding when embedded
 globals.c              File to declare global symbols (for shared library)
@@ -633,6 +655,7 @@ lib/ExtUtils/Embed.pm       Utilities for embedding Perl in C programs
 lib/ExtUtils/Install.pm        Handles 'make install' on extensions
 lib/ExtUtils/Installed.pm      Information on installed extensions
 lib/ExtUtils/Liblist.pm        Locates libraries
+lib/ExtUtils/MANIFEST.SKIP     The default MANIFEST.SKIP
 lib/ExtUtils/MM_Cygwin.pm      MakeMaker methods for Cygwin
 lib/ExtUtils/MM_OS2.pm         MakeMaker methods for OS/2
 lib/ExtUtils/MM_Unix.pm                MakeMaker base class for Unix
@@ -656,6 +679,7 @@ lib/File/DosGlob.pm Win32 DOS-globbing module
 lib/File/Find.pm       Routines to do a find
 lib/File/Path.pm       Do things like `mkdir -p' and `rm -r'
 lib/File/Spec.pm       portable operations on file names
+lib/File/Spec/Epoc.pm  portable operations on EPOC file names
 lib/File/Spec/Functions.pm     Function interface to File::Spec object methods
 lib/File/Spec/Mac.pm   portable operations on Mac file names
 lib/File/Spec/OS2.pm   portable operations on OS2 file names
@@ -666,6 +690,7 @@ lib/File/Temp.pm    create safe temporary files and file handles
 lib/File/stat.pm       By-name interface to Perl's builtin stat
 lib/FileCache.pm       Keep more files open than the system permits
 lib/FileHandle.pm      Backward-compatible front end to IO extension
+lib/Filter/Simple.pm   Simple frontend to Filter::Util::Call
 lib/FindBin.pm         Find name of currently executing program
 lib/Getopt/Long.pm     Fetch command options (GetOptions)
 lib/Getopt/Std.pm      Fetch command options (getopt, getopts)
@@ -694,6 +719,7 @@ lib/Pod/Plainer.pm  Pod migration utility module
 lib/Pod/Select.pm      Pod-Parser - select portions of POD docs
 lib/Pod/Text.pm                Pod-Parser - convert POD data to formatted ASCII text
 lib/Pod/Text/Color.pm  Convert POD data to color ASCII text
+lib/Pod/Text/Overstrike.pm     Convert POD data to formatted overstrike text
 lib/Pod/Text/Termcap.pm        Convert POD data to ASCII text with format escapes
 lib/Pod/Usage.pm       Pod-Parser - print usage messages
 lib/Search/Dict.pm     Perform binary search on dictionaries
@@ -769,6 +795,7 @@ lib/open2.pl                Open a two-ended pipe (uses IPC::Open2)
 lib/open3.pl           Open a three-ended pipe (uses IPC::Open3)
 lib/overload.pm                Module for overloading perl operators
 lib/perl5db.pl         Perl debugging routines
+lib/perlio.pm          Perl IO interface pragma
 lib/pwd.pl             Routines to keep track of PWD environment variable
 lib/shellwords.pl      Perl library to split into words with shell quoting
 lib/sigtrap.pm         For trapping an abort and giving traceback
@@ -902,6 +929,7 @@ lib/unicode/Is/BidiRLE.pl                   Unicode character database
 lib/unicode/Is/BidiRLO.pl                      Unicode character database
 lib/unicode/Is/BidiS.pl                                Unicode character database
 lib/unicode/Is/BidiWS.pl                       Unicode character database
+lib/unicode/Is/Blank.pl                                Unicode character database
 lib/unicode/Is/C.pl                            Unicode character database
 lib/unicode/Is/Cc.pl                           Unicode character database
 lib/unicode/Is/Cf.pl                           Unicode character database
@@ -914,9 +942,9 @@ lib/unicode/Is/DCcompat.pl                  Unicode character database
 lib/unicode/Is/DCfinal.pl                      Unicode character database
 lib/unicode/Is/DCfont.pl                       Unicode character database
 lib/unicode/Is/DCfraction.pl                   Unicode character database
-lib/unicode/Is/DCinital.pl                     Unicode character database
 lib/unicode/Is/DCinitial.pl                    Unicode character database
 lib/unicode/Is/DCisolated.pl                   Unicode character database
+lib/unicode/Is/DCmedial.pl                     Unicode character database
 lib/unicode/Is/DCnarrow.pl                     Unicode character database
 lib/unicode/Is/DCnoBreak.pl                    Unicode character database
 lib/unicode/Is/DCsmall.pl                      Unicode character database
@@ -990,6 +1018,7 @@ lib/unicode/Is/Sk.pl                               Unicode character database
 lib/unicode/Is/Sm.pl                           Unicode character database
 lib/unicode/Is/So.pl                           Unicode character database
 lib/unicode/Is/Space.pl                                Unicode character database
+lib/unicode/Is/SpacePerl.pl                    Unicode character database
 lib/unicode/Is/SylA.pl                         Unicode character database
 lib/unicode/Is/SylAA.pl                                Unicode character database
 lib/unicode/Is/SylAAI.pl                       Unicode character database
@@ -1043,6 +1072,7 @@ lib/unicode/To/Upper.pl                           Unicode character database
 lib/unicode/UCD301.html                                Unicode character database
 lib/unicode/UCDFF301.html                      Unicode character database
 lib/unicode/Unicode.301                                Unicode character database
+lib/unicode/distinct.pm                Perl pragma to strictly distinguish UTF8 data and non-UTF data
 lib/unicode/mktables.PL                                Unicode character database generator
 lib/unicode/syllables.txt                      Unicode character database
 lib/utf8.pm                                    Pragma to control Unicode support
@@ -1134,8 +1164,9 @@ perl.h                    Global declarations
 perlapi.c              Perl API functions
 perlapi.h              Perl API function declarations
 perlio.c               C code for PerlIO abstraction
-perlio.h               compatibility stub
+perlio.h               PerlIO abstraction
 perlio.sym             Symbols for PerlIO abstraction
+perliol.h              PerlIO Layer definition
 perlsdio.h             Fake stdio using perlio
 perlsfio.h             Prototype sfio mapping for PerlIO
 perlsh                 A poor man's perl shell
@@ -1275,6 +1306,7 @@ sv.h                      Scalar value header
 t/README               Instructions for regression tests
 t/TEST                 The regression tester
 t/UTEST                        Run regression tests with -Mutf8
+t/base/commonsense.t   See if configuration meets basic needs
 t/base/cond.t          See if conditionals work
 t/base/if.t            See if if works
 t/base/lex.t           See if lexical items work
@@ -1314,6 +1346,7 @@ t/io/pipe.t               See if secure pipes work
 t/io/print.t           See if print commands work
 t/io/read.t            See if read works
 t/io/tell.t            See if file seeking works
+t/io/utf8.t            See if file seeking works
 t/lib/abbrev.t         See if Text::Abbrev works
 t/lib/ansicolor.t      See if Term::ANSIColor works
 t/lib/anydbm.t         See if AnyDBM_File works
@@ -1332,6 +1365,7 @@ t/lib/cgi-pretty.t        See if CGI.pm works
 t/lib/cgi-request.t    See if CGI.pm works
 t/lib/charnames.t      See if character names work
 t/lib/checktree.t      See if File::CheckTree works
+t/lib/class-struct.t   See if Class::Struct works
 t/lib/complex.t                See if Math::Complex works
 t/lib/db-btree.t       See if DB_File works
 t/lib/db-hash.t                See if DB_File works
@@ -1354,9 +1388,9 @@ t/lib/dprof/test6_t       Perl code profiler tests
 t/lib/dprof/test6_v    Perl code profiler tests
 t/lib/dumper-ovl.t     See if Data::Dumper works for overloaded data
 t/lib/dumper.t         See if Data::Dumper works
+t/lib/encode.t         See if Encode works
 t/lib/english.t                See if English works
 t/lib/env-array.t      See if Env works for arrays
-t/lib/encode.t         See if Encode works
 t/lib/env.t            See if Env works
 t/lib/errno.t          See if Errno works
 t/lib/fatal.t           See if Fatal works
@@ -1368,6 +1402,8 @@ t/lib/filefunc.t  See if File::Spec::Functions works
 t/lib/filehand.t       See if FileHandle works
 t/lib/filepath.t       See if File::Path works
 t/lib/filespec.t       See if File::Spec works
+t/lib/filter-util.pl   See if Filter::Util::Call works
+t/lib/filter-util.t    See if Filter::Util::Call works
 t/lib/findbin.t                See if FindBin works
 t/lib/ftmp-mktemp.t    See if File::Temp works
 t/lib/ftmp-posix.t     See if File::Temp works
@@ -1403,6 +1439,7 @@ t/lib/io_unix.t           See if UNIX socket-related methods from IO work
 t/lib/io_xs.t          See if XSUB methods from IO work
 t/lib/ipc_sysv.t       See if IPC::SysV works
 t/lib/ndbm.t           See if NDBM_File works
+t/lib/net-hostent.t    See if Net::hostent works
 t/lib/odbm.t           See if ODBM_File works
 t/lib/opcode.t         See if Opcode works
 t/lib/open2.t          See if IPC::Open2 works
@@ -1444,9 +1481,12 @@ t/lib/texttabs.t See if Text::Tabs works
 t/lib/textwrap.t       See if Text::Wrap::wrap works
 t/lib/thr5005.t                Test 5.005-style threading (skipped if no use5005threads)
 t/lib/tie-push.t       Test for Tie::Array
+t/lib/tie-refhash.t    Test for Tie::RefHash and Tie::RefHash::Nestable
+t/lib/tie-splice.t     Test for Tie::Array::SPLICE
 t/lib/tie-stdarray.t   Test for Tie::StdArray
 t/lib/tie-stdhandle.t  Test for Tie::StdHandle
 t/lib/tie-stdpush.t    Test for Tie::StdArray
+t/lib/tie-substrhash.t Test for Tie::SubstrHash
 t/lib/timelocal.t      See if Time::Local works
 t/lib/trig.t           See if Math::Trig works
 t/op/64bitint.t                See if 64 bit integers work
@@ -1464,6 +1504,7 @@ t/op/chars.t              See if character escapes work
 t/op/chop.t            See if chop works
 t/op/closure.t         See if closures work
 t/op/cmp.t             See if the various string and numeric compare work
+t/op/concat.t          See if string concatenation works
 t/op/cond.t            See if conditional expressions work
 t/op/context.t         See if context propagation works
 t/op/defins.t          See if auto-insert of defined() works
@@ -1492,6 +1533,7 @@ t/op/inc.t                See if inc/dec of integers near 32 bit limit work
 t/op/index.t           See if index works
 t/op/int.t             See if int works
 t/op/join.t            See if join works
+t/op/length.t          See if length works
 t/op/lex_assign.t      See if ops involving lexicals or pad temps work
 t/op/lfs.t             See if large files work for perlio
 t/op/list.t            See if array lists work
@@ -1524,6 +1566,7 @@ t/op/regexp.t             See if regular expressions work
 t/op/regexp_noamp.t    See if regular expressions work with optimizations
 t/op/regmesg.t         See if one can get regular expression errors
 t/op/repeat.t          See if x operator works
+t/op/reverse.t         See if reverse operator works
 t/op/runlevel.t                See if die() works from perl_call_*()
 t/op/sleep.t           See if sleep works
 t/op/sort.t            See if sort works
@@ -1546,6 +1589,7 @@ t/op/tr.t         See if tr works
 t/op/undef.t           See if undef works
 t/op/universal.t       See if UNIVERSAL class works
 t/op/unshift.t         See if unshift works
+t/op/utf8decode.t      See if UTF-8 decoding works
 t/op/vec.t             See if vectors work
 t/op/ver.t             See if v-strings and the %v format flag work
 t/op/wantarray.t       See if wantarray works
@@ -1691,10 +1735,13 @@ vms/writemain.pl        Generate perlmain.c from miniperlmain.c+extensions
 vos/Changes            Changes made to port Perl to the VOS operating system
 vos/build.cm           VOS command macro to build Perl
 vos/compile_perl.cm    VOS command macro to build multiple version of Perl
-vos/config.def         input for config.pl
-vos/config.h           config.h for VOS
+vos/config.alpha.def   definitions used by config.pl
+vos/config.alpha.h     config.h for use with alpha VOS POSIX.1 support
+vos/config.ga.def      definitions used by config.pl
+vos/config.ga.h                config.h for use with generally-available VOS POSIX.1 support
 vos/config.pl          script to convert a config_h.SH to a config.h
-vos/config_h.SH_orig   config_h.SH at the time config.h was created
+vos/configure_perl.cm  VOS command macro to configure perl before building
+vos/install_perl.cm    VOS command macro to install perl after building
 vos/perl.bind          VOS bind control file
 vos/test_vos_dummies.c Test program for "vos_dummies.c"
 vos/vos_dummies.c      Wrappers to soak up undefined functions
@@ -1703,6 +1750,7 @@ warnings.h                The warning numbers
 warnings.pl            Program to write warnings.h and lib/warnings.pm
 win32/Makefile         Win32 makefile for NMAKE (Visual C++ build)
 win32/bin/exetype.pl   Set executable type to CONSOLE or WINDOWS
+win32/bin/mdelete.bat  multifile delete
 win32/bin/perlglob.pl  Win32 globbing
 win32/bin/pl2bat.pl    wrap perl scripts into batch files
 win32/bin/runperl.pl   run perl script via batch file namesake
@@ -1716,6 +1764,7 @@ win32/config_H.vc Win32 config header (Visual C++ build)
 win32/config_h.PL      Perl code to convert Win32 config.sh to config.h
 win32/config_sh.PL     Perl code to update Win32 config.sh from Makefile
 win32/des_fcrypt.patch Win32 port
+win32/distclean.bat    Remove _ALL_ files not listed here in MANIFEST
 win32/dl_win32.xs      Win32 port
 win32/genmk95.pl        Perl code to generate command.com-usable makefile.95
 win32/include/arpa/inet.h      Win32 port
index 5418fc4..d0b5465 100644 (file)
@@ -137,6 +137,7 @@ CLDFLAGS = $ldflags
 mallocsrc = $mallocsrc
 mallocobj = $mallocobj
 LNS = $lns
+CPS = $cp -f
 RMS = rm -f
 ranlib = $ranlib
 
@@ -300,9 +301,13 @@ utilities: miniperl lib/Config.pm $(plextract) lib/lib.pm FORCE
 FORCE:
        @sh -c true
 
-opmini$(OBJ_EXT): op.c
+# We do a copy of the op.c instead of a symlink because gcc gets huffy
+# if we have a symlink forest to another disk (it complains about too many
+# levels of symbolic links, even if we have only two)
+
+opmini$(OBJ_EXT): op.c config.h
        $(RMS) opmini.c
-       $(LNS) op.c opmini.c
+       $(CPS) op.c opmini.c
        $(CCCMD) $(PLDLFLAGS) -DPERL_EXTERNAL_GLOB opmini.c
        $(RMS) opmini.c
 
@@ -324,14 +329,6 @@ ext.libs: $(static_ext)
 
 !NO!SUBS!
 
-# if test -f .patch ; then $spitshell >>Makefile <<'!NO!SUBS!' 
-# patchlevel.h: .patch
-#      perl fix_pl || (make -f Makefile.micro && ./microperl fix_pl)
-#      $(SHELL) Makefile.SH
-# fi
-# 
-# !NO!SUBS!
-
 # How to build libperl.  This is still rather convoluted.
 # Load up custom Makefile.SH fragment for shared loading and executables:
 case "$osname" in
@@ -600,7 +597,7 @@ install.html: all installhtml
 
 run_byacc:     FORCE
        $(BYACC) -d perly.y
-       -chmod 664 perly.c
+       -chmod 664 perly.c perly.h
        sh $(shellflags) ./perly.fixer y.tab.c perly.c
        sed -e 's/fprintf *( *stderr *,/PerlIO_printf(Perl_debug_log,/g' \
            -e 's/y\.tab/perly/g' perly.c >perly.tmp && mv perly.tmp perly.c
@@ -618,6 +615,11 @@ perly.c: perly.y
 perly.h: perly.y
        -@sh -c true
 
+PERLYVMS = vms/perly_c.vms vms/perly_h.vms
+
+$(PERLYVMS):   perly.c perly.h vms/vms_yfix.pl
+       perl vms/vms_yfix.pl perly.c perly.h vms/perly_c.vms vms/perly_h.vms
+
 # No compat3.sym here since and including the 5.004_50.
 # No interp.sym since 5.005_03.
 SYM  = global.sym globvar.sym perlio.sym pp.sym
@@ -642,6 +644,31 @@ CHMOD_W = chmod +w
 # To force them to be regenerated, type
 #      make regen_headers
 
+keywords.h:    keywords.pl
+       -perl keywords.pl
+
+OPCODE_PL_OUTPUT = opcode.h opnames.h pp_proto.h pp.sym
+
+$(OPCODE_PL_OUTPUT): opcode.pl
+       -perl opcode.pl
+
+# Really the prerequisites for the next rule  should only be "embed.pl pp.sym"
+# Writing it this way gives make a big hint to always run opcode.pl before
+# embed.pl. The alternative - running embed.pl then opcode.pl causes embed.pl
+# to be re-run next make invocation, and then all object files get recompiled.
+
+proto.h embed.h embedvar.h global.sym objXSUB.h perlapi.h perlapi.c pod/perlintern.pod pod/perlapi.pod: embed.pl $(OPCODE_PL_OUTPUT)
+       -perl embed.pl
+
+ext/ByteLoader/byterun.h ext/ByteLoader/byterun.c ext/B/B/Asmdata.pm: bytecode.pl
+       -perl bytecode.pl
+
+regnodes.h:    regcomp.pl
+       -perl regcomp.pl
+
+warnings.h lib/warnings.pm: warnings.pl
+       -perl warnings.pl
+
 AUTOGEN_FILES = keywords.h opcode.h opnames.h pp_proto.h pp.sym proto.h \
                embed.h embedvar.h global.sym \
                pod/perlintern.pod pod/perlapi.pod \
@@ -661,6 +688,8 @@ regen_headers:      FORCE
 regen_pods:    FORCE
        -cd pod; $(LDLIBPTH) make regen_pods
 
+regen_all: $(PERLYVMS) regen_headers regen_pods
+
 # Extensions:
 # Names added to $(dynamic_ext) or $(static_ext) or $(nonxs_ext) will
 # automatically get built.  There should ordinarily be no need to change
@@ -734,11 +763,11 @@ _cleaner2:
        rm -f $(FIRSTMAKEFILE) $(FIRSTMAKEFILE).old
        rm -f $(private)
        rm -rf lib/auto
-       rm -f lib/.exists lib/*/.exists
+       rm -f lib/.exists lib/*/.exists lib/*/*/.exists
        rm -f h2ph.man pstruct
        rm -rf .config
        rm -f testcompile compilelog
-       -rmdir lib/B lib/Data lib/Encode lib/IO/Socket lib/IO lib/Sys lib/Thread
+       -rmdir lib/B lib/Data lib/Encode lib/IO/Socket lib/IO lib/Filter/Util lib/Sys lib/Thread
 
 _realcleaner: 
        @$(LDLIBPTH) $(MAKE) _cleaner1 CLEAN=realclean
@@ -823,12 +852,24 @@ ok:       utilities
 okfile:        utilities
        $(LDLIBPTH) ./perl -Ilib utils/perlbug -ok -s '(UNINSTALLED)' -F perl.ok
 
+oknack:        utilities
+       $(LDLIBPTH) ./perl -Ilib utils/perlbug -ok -s '(UNINSTALLED)' -A
+
+okfilenack:    utilities
+       $(LDLIBPTH) ./perl -Ilib utils/perlbug -ok -s '(UNINSTALLED)' -F perl.ok -A
+
 nok:   utilities
        $(LDLIBPTH) ./perl -Ilib utils/perlbug -nok -s '(UNINSTALLED)'
 
 nokfile:       utilities
        $(LDLIBPTH) ./perl -Ilib utils/perlbug -nok -s '(UNINSTALLED)' -F perl.nok
 
+noknack:       utilities
+       $(LDLIBPTH) ./perl -Ilib utils/perlbug -nok -s '(UNINSTALLED)' -A
+
+nokfilenack:   utilities
+       $(LDLIBPTH) ./perl -Ilib utils/perlbug -nok -s '(UNINSTALLED)' -F perl.nok -A
+
 clist: $(c)
        echo $(c) | tr ' ' $(TRNL) >.clist
 
index cc91af2..2b619fd 100644 (file)
@@ -19,7 +19,7 @@ community, mutual respect, trust, and good-faith cooperation.
 
 We recognize that the Perl core, defined as the software distributed with
 the heart of Perl itself, is a joint project on the part of all of us.
->From time to time, a script, module, or set of modules (hereafter referred
+From time to time, a script, module, or set of modules (hereafter referred
 to simply as a "module") will prove so widely useful and/or so integral to
 the correct functioning of Perl itself that it should be distributed with
 Perl core.  This should never be done without the author's explicit
index 1b93821..0095ef1 100644 (file)
@@ -340,6 +340,10 @@ csh (Loc.U):
        full pathname (if any) of the csh program.  After Configure runs,
        the value is reset to a plain "csh" and is not useful.
 
+d__fwalk (d__fwalk.U):
+       This variable conditionally defines HAS__FWALK if _fwalk() is
+       available to apply a function to all the file handles.
+
 d_access (d_access.U):
        This variable conditionally defines HAS_ACCESS if the access() system
        call is available to check for access permissions using real IDs.
@@ -545,6 +549,10 @@ d_fcntl (d_fcntl.U):
        This variable conditionally defines the HAS_FCNTL symbol, and indicates
        whether the fcntl() function exists
 
+d_fcntl_can_lock (d_fcntl_can_lock.U):
+       This variable conditionally defines the FCNTL_CAN_LOCK symbol
+       and indicates whether file locking with fcntl() works.
+
 d_fd_macros (d_fd_set.U):
        This variable contains the eventual value of the HAS_FD_MACROS symbol,
        which indicates if your C compiler knows about the macros which
@@ -610,6 +618,10 @@ d_fstatvfs (d_statvfs.U):
        This variable conditionally defines the HAS_FSTATVFS symbol, which
        indicates to the C program that the fstatvfs() routine is available.
 
+d_fsync (d_fsync.U):
+       This variable conditionally defines the HAS_FSYNC symbol, which
+       indicates to the C program that the fsync() routine is available.
+
 d_ftello (d_ftello.U):
        This variable conditionally defines the HAS_FTELLO symbol, which
        indicates to the C program that the ftello() routine is available.
@@ -711,6 +723,10 @@ d_getnetprotos (d_getnetprotos.U):
        prototypes for the various getnet*() functions.  
        See also netdbtype.U for probing for various netdb types.
 
+d_getpagsz (d_getpagsz.U):
+       This variable conditionally defines HAS_GETPAGESIZE if getpagesize()
+       is available to get the system page size.
+
 d_getpbyname (d_getprotby.U):
        This variable conditionally defines the HAS_GETPROTOBYNAME 
        symbol, which indicates to the C program that the 
@@ -1235,6 +1251,12 @@ d_sanemcmp (d_sanemcmp.U):
        the memcpy() routine is available and can be used to compare relative
        magnitudes of chars with their high bits set.
 
+d_sbrkproto (d_sbrkproto.U):
+       This variable conditionally defines the HAS_SBRK_PROTO symbol,
+       which indicates to the C program that the system provides
+       a prototype for the sbrk() function.  Otherwise, it is
+       up to the program to supply one.
+
 d_sched_yield (d_pthread_y.U):
        This variable conditionally defines the HAS_SCHED_YIELD
        symbol if the sched_yield routine is available to yield
@@ -1478,6 +1500,15 @@ d_stdio_ptr_lval (d_stdstdio.U):
        This variable conditionally defines STDIO_PTR_LVALUE if the
        FILE_ptr macro can be used as an lvalue.
 
+d_stdio_ptr_lval_nochange_cnt (d_stdstdio.U):
+       This symbol is defined if using the FILE_ptr macro as an lvalue
+       to increase the pointer by n leaves File_cnt(fp) unchanged.
+
+d_stdio_ptr_lval_sets_cnt (d_stdstdio.U):
+       This symbol is defined if using the FILE_ptr macro as an lvalue
+       to increase the pointer by n has the side effect of decreasing the
+       value of File_cnt(fp) by n.
+
 d_stdio_stream_array (stdio_streams.U):
        This variable tells whether there is an array holding
        the stdio streams.
@@ -1533,6 +1564,10 @@ d_strtoll (d_strtoll.U):
        This variable conditionally defines the HAS_STRTOLL symbol, which
        indicates to the C program that the strtoll() routine is available.
 
+d_strtoq (d_strtoq.U):
+       This variable conditionally defines the HAS_STRTOQ symbol, which
+       indicates to the C program that the strtoq() routine is available.
+
 d_strtoul (d_strtoul.U):
        This variable conditionally defines the HAS_STRTOUL symbol, which
        indicates to the C program that the strtoul() routine is available
@@ -2408,6 +2443,11 @@ intsize (intsize.U):
        This variable contains the value of the INTSIZE symbol, which
        indicates to the C program how many bytes there are in an int.
 
+issymlink (issymlink.U):
+       This variable holds the switch of the test command to test
+       for a symbolic link (if they are supported).  Typical values
+       include '-h' and '-L'.
+
 ivdformat (perlxvf.U):
        This variable contains the format string used for printing
        a Perl IV as a signed decimal integer. 
@@ -2709,6 +2749,15 @@ n (n.U):
        command to suppress newline.  Otherwise it is null.  Correct usage is
        $echo $n "prompt for a question: $c".
 
+need_va_copy (need_va_copy.U):
+       This symbol, if defined, indicates that the system stores
+       the variable argument list datatype, va_list, in a format
+       that cannot be copied by simple assignment, so that some
+       other means must be used when copying is required.
+       As such systems vary in their provision (or non-provision)
+       of copying mechanisms, handy.h defines a platform-
+       independent macro, Perl_va_copy(src, dst), to do the job.
+
 netdb_hlen_type (netdbtype.U):
        This variable holds the type used for the 2nd argument to
        gethostbyaddr().  Usually, this is int or size_t or unsigned.
index 632c469..90e7dc5 100644 (file)
@@ -8,7 +8,7 @@
 
 # Package name      : perl5
 # Source directory  : /m/fs/work/work/permanent/perl/pp4/perl
-# Configuration time: Fri Oct 13 02:12:22 EET DST 2000
+# Configuration time: Thu Dec 21 18:13:27 EET 2000
 # Configured by     : jhi
 # Target system     : osf1 alpha.hut.fi v4.0 878 alpha 
 
@@ -62,7 +62,7 @@ ccsymbols='__alpha=1 __LANGUAGE_C__=1 __osf__=1 __unix__=1 _LONGLONG=1 _SYSTYPE_
 ccversion='V5.6-082'
 cf_by='jhi'
 cf_email='yourname@yourhost.yourplace.com'
-cf_time='Fri Oct 13 02:12:22 EET DST 2000'
+cf_time='Thu Dec 21 18:13:27 EET 2000'
 charsize='1'
 chgrp=''
 chmod=''
@@ -99,6 +99,7 @@ d_PRIo64='define'
 d_PRIu64='define'
 d_PRIx64='define'
 d_SCNfldbl='define'
+d__fwalk='undef'
 d_access='define'
 d_accessx='undef'
 d_alarm='define'
@@ -145,6 +146,7 @@ d_eunice='undef'
 d_fchmod='define'
 d_fchown='define'
 d_fcntl='define'
+d_fcntl_can_lock='define'
 d_fd_macros='define'
 d_fd_set='define'
 d_fds_bits='define'
@@ -160,6 +162,7 @@ d_fseeko='undef'
 d_fsetpos='define'
 d_fstatfs='define'
 d_fstatvfs='define'
+d_fsync='define'
 d_ftello='undef'
 d_ftime='undef'
 d_getcwd='define'
@@ -179,6 +182,7 @@ d_getnbyaddr='define'
 d_getnbyname='define'
 d_getnent='define'
 d_getnetprotos='define'
+d_getpagsz='define'
 d_getpbyname='define'
 d_getpbynumber='define'
 d_getpent='define'
@@ -282,6 +286,7 @@ d_rmdir='define'
 d_safebcpy='define'
 d_safemcpy='undef'
 d_sanemcmp='define'
+d_sbrkproto='define'
 d_sched_yield='define'
 d_scm_rights='define'
 d_seekdir='define'
@@ -336,6 +341,8 @@ d_statfs_s='define'
 d_statvfs='define'
 d_stdio_cnt_lval='define'
 d_stdio_ptr_lval='define'
+d_stdio_ptr_lval_nochange_cnt='define'
+d_stdio_ptr_lval_sets_cnt='undef'
 d_stdio_stream_array='define'
 d_stdiobase='define'
 d_stdstdio='define'
@@ -348,6 +355,7 @@ d_strtod='define'
 d_strtol='define'
 d_strtold='undef'
 d_strtoll='undef'
+d_strtoq='undef'
 d_strtoul='define'
 d_strtoull='undef'
 d_strtouq='undef'
@@ -394,7 +402,7 @@ dlext='so'
 dlsrc='dl_dlopen.xs'
 doublesize='8'
 drand01='drand48()'
-dynamic_ext='B ByteLoader DB_File Data/Dumper Devel/DProf Devel/Peek Encode Fcntl File/Glob IO IPC/SysV NDBM_File ODBM_File Opcode POSIX SDBM_File Socket Storable Sys/Hostname Sys/Syslog Thread attrs re'
+dynamic_ext='B ByteLoader DB_File Data/Dumper Devel/DProf Devel/Peek Encode Fcntl File/Glob Filter/Util/Call IO IPC/SysV NDBM_File ODBM_File Opcode POSIX SDBM_File Socket Storable Sys/Hostname Sys/Syslog Thread attrs re'
 eagain='EAGAIN'
 ebcdic='undef'
 echo='echo'
@@ -403,7 +411,7 @@ emacs=''
 eunicefix=':'
 exe_ext=''
 expr='expr'
-extensions='B ByteLoader DB_File Data/Dumper Devel/DProf Devel/Peek Encode Fcntl File/Glob IO IPC/SysV NDBM_File ODBM_File Opcode POSIX SDBM_File Socket Storable Sys/Hostname Sys/Syslog Thread attrs re Errno'
+extensions='B ByteLoader DB_File Data/Dumper Devel/DProf Devel/Peek Encode Fcntl File/Glob Filter/Util/Call IO IPC/SysV NDBM_File ODBM_File Opcode POSIX SDBM_File Socket Storable Sys/Hostname Sys/Syslog Thread attrs re Errno'
 fflushNULL='define'
 fflushall='undef'
 find=''
@@ -539,10 +547,11 @@ installvendorarch=''
 installvendorbin=''
 installvendorlib=''
 intsize='4'
+issymlink='-h'
 ivdformat='"ld"'
 ivsize='8'
 ivtype='long'
-known_extensions='B ByteLoader DB_File Data/Dumper Devel/DProf Devel/Peek Encode Fcntl File/Glob GDBM_File IO IPC/SysV NDBM_File ODBM_File Opcode POSIX SDBM_File Socket Storable Sys/Hostname Sys/Syslog Thread attrs re'
+known_extensions='B ByteLoader DB_File Data/Dumper Devel/DProf Devel/Peek Encode Fcntl File/Glob Filter/Util/Call GDBM_File IO IPC/SysV NDBM_File ODBM_File Opcode POSIX SDBM_File Socket Storable Sys/Hostname Sys/Syslog Thread attrs re'
 ksh=''
 ld='ld'
 lddlflags='-shared -expect_unresolved "*" -msym -std -s'
@@ -601,6 +610,7 @@ mydomain='.yourplace.com'
 myhostname='yourhost'
 myuname='osf1 alpha.hut.fi v4.0 878 alpha '
 n=''
+need_va_copy='undef'
 netdb_hlen_type='int'
 netdb_host_type='const char *'
 netdb_name_type='const char *'
index 149760c..039ed25 100644 (file)
@@ -17,7 +17,7 @@
 /*
  * Package name      : perl5
  * Source directory  : /m/fs/work/work/permanent/perl/pp4/perl
- * Configuration time: Fri Oct 13 02:12:22 EET DST 2000
+ * Configuration time: Thu Dec 21 18:13:27 EET 2000
  * Configured by     : jhi
  * Target system     : osf1 alpha.hut.fi v4.0 878 alpha 
  */
  */
 #define HAS_STRTOL     /**/
 
-/* HAS_STRTOUL:
- *     This symbol, if defined, indicates that the strtoul routine is
- *     available to provide conversion of strings to unsigned long.
- */
-#define HAS_STRTOUL    /**/
-
 /* HAS_STRXFRM:
  *     This symbol, if defined, indicates that the strxfrm() routine is
  *     available to transform strings.
  */
 #define SH_PATH "/bin/sh"  /**/
 
-/* STDCHAR:
- *     This symbol is defined to be the type of char used in stdio.h.
- *     It has the values "unsigned char" or "char".
- */
-#define STDCHAR unsigned char  /**/
-
 /* CROSSCOMPILE:
  *     This symbol, if defined, signifies that we our
  *     build process is a cross-compilation.
 #define CPPRUN "/usr/bin/cpp"
 #define CPPLAST ""
 
+/* HAS__FWALK:
+ *     This symbol, if defined, indicates that the _fwalk system call is
+ *     available to apply a function to all the file handles.
+ */
+/*#define HAS__FWALK           / **/
+
 /* HAS_ACCESS:
  *     This manifest constant lets the C program know that the access()
  *     system call is available to check for accessibility using real UID/GID.
  */
 #define HAS_ENDSERVENT         /**/
 
+/* FCNTL_CAN_LOCK:
+ *     This symbol, if defined, indicates that fcntl() can be used
+ *     for file locking.  Normally on Unix systems this is defined.
+ *     It may be undefined on VMS.
+ */
+#define FCNTL_CAN_LOCK         /**/
+
 /* HAS_FD_SET:
  *     This symbol, when defined, indicates presence of the fd_set typedef
  *     in <sys/types.h>
  */
 #define HAS_FSTATFS            /**/
 
+/* HAS_FSYNC:
+ *     This symbol, if defined, indicates that the fsync routine is
+ *     available to write a file's modified data and attributes to
+ *     permanent storage.
+ */
+#define HAS_FSYNC              /**/
+
 /* HAS_FTELLO:
  *     This symbol, if defined, indicates that the ftello routine is
  *     available to ftell beyond 32 bits (useful for ILP32 hosts).
  */
 #define        HAS_GETNET_PROTOS       /**/
 
+/* HAS_GETPAGESIZE:
+ *     This symbol, if defined, indicates that the getpagesize system call
+ *     is available to get system page size, which is the granularity of
+ *     many memory management calls.
+ */
+#define HAS_GETPAGESIZE                /**/
+
 /* HAS_GETPROTOENT:
  *     This symbol, if defined, indicates that the getprotoent() routine is
  *     available to look up protocols in some data base or another.
  */
 #define HAS_GETPROTOENT                /**/
 
+/* HAS_GETPGRP:
+ *     This symbol, if defined, indicates that the getpgrp routine is
+ *     available to get the current process group.
+ */
+/* USE_BSD_GETPGRP:
+ *     This symbol, if defined, indicates that getpgrp needs one
+ *     arguments whereas USG one needs none.
+ */
+#define HAS_GETPGRP            /**/
+/*#define USE_BSD_GETPGRP      / **/
+
 /* HAS_GETPROTOBYNAME:
  *     This symbol, if defined, indicates that the getprotobyname()
  *     routine is available to look up protocols by their name.
  */
 #define HAS_SANE_MEMCMP        /**/
 
+/* HAS_SBRK_PROTO:
+ *     This symbol, if defined, indicates that the system provides
+ *     a prototype for the sbrk() function.  Otherwise, it is up
+ *     to the program to supply one.  Good guesses are
+ *             extern void* sbrk _((int));
+ *             extern void* sbrk _((size_t));
+ */
+#define        HAS_SBRK_PROTO  /**/
+
 /* HAS_SEM:
  *     This symbol, if defined, indicates that the entire sem*(2) library is
  *     supported.
  */
 #define HAS_SETPROTOENT                /**/
 
+/* HAS_SETPGRP:
+ *     This symbol, if defined, indicates that the setpgrp routine is
+ *     available to set the current process group.
+ */
+/* USE_BSD_SETPGRP:
+ *     This symbol, if defined, indicates that setpgrp needs two
+ *     arguments whereas USG one needs none.  See also HAS_SETPGID
+ *     for a POSIX interface.
+ */
+#define HAS_SETPGRP            /**/
+#define USE_BSD_SETPGRP        /**/
+
 /* HAS_SETPROCTITLE:
  *     This symbol, if defined, indicates that the setproctitle routine is
  *     available to set process title.
  *     This symbol is defined if the FILE_cnt macro can be used as an
  *     lvalue.
  */
+/* STDIO_PTR_LVAL_SETS_CNT:
+ *     This symbol is defined if using the FILE_ptr macro as an lvalue
+ *     to increase the pointer by n has the side effect of decreasing the
+ *     value of File_cnt(fp) by n.
+ */
+/* STDIO_PTR_LVAL_NOCHANGE_CNT:
+ *     This symbol is defined if using the FILE_ptr macro as an lvalue
+ *     to increase the pointer by n leaves File_cnt(fp) unchanged.
+ */
 #define USE_STDIO_PTR  /**/
 #ifdef USE_STDIO_PTR
 #define FILE_ptr(fp)   ((fp)->_ptr)
 #define STDIO_PTR_LVALUE               /**/
 #define FILE_cnt(fp)   ((fp)->_cnt)
 #define STDIO_CNT_LVALUE               /**/
+/*#define STDIO_PTR_LVAL_SETS_CNT      / **/
+#define STDIO_PTR_LVAL_NOCHANGE_CNT    /**/
 #endif
 
 /* USE_STDIO_BASE:
  */
 /*#define HAS_STRTOLL          / **/
 
+/* HAS_STRTOQ:
+ *     This symbol, if defined, indicates that the strtoq routine is
+ *     available to convert strings to long longs (quads).
+ */
+/*#define HAS_STRTOQ           / **/
+
+/* HAS_STRTOUL:
+ *     This symbol, if defined, indicates that the strtoul routine is
+ *     available to provide conversion of strings to unsigned long.
+ */
+#define HAS_STRTOUL    /**/
+
 /* HAS_STRTOULL:
  *     This symbol, if defined, indicates that the strtoull routine is
  *     available to convert strings to unsigned long longs.
 #define RD_NODATA -1
 #define EOF_NONBLOCK
 
+/* NEED_VA_COPY:
+ *     This symbol, if defined, indicates that the system stores
+ *     the variable argument list datatype, va_list, in a format
+ *     that cannot be copied by simple assignment, so that some
+ *     other means must be used when copying is required.
+ *     As such systems vary in their provision (or non-provision)
+ *     of copying mechanisms, handy.h defines a platform-
+ *     independent macro, Perl_va_copy(src, dst), to do the job.
+ */
+/*#define      NEED_VA_COPY            / **/
+
 /* Netdb_host_t:
  *     This symbol holds the type used for the 1st argument
  *     to gethostbyaddr().
  */
 #define STARTPERL "#!/opt/perl/bin/perl"               /**/
 
+/* STDCHAR:
+ *     This symbol is defined to be the type of char used in stdio.h.
+ *     It has the values "unsigned char" or "char".
+ */
+#define STDCHAR unsigned char  /**/
+
 /* HAS_STDIO_STREAM_ARRAY:
  *     This symbol, if defined, tells that there is an array
  *     holding the stdio streams.
 #define PERL_XS_APIVERSION "5.7.0"
 #define PERL_PM_APIVERSION "5.005"
 
-/* HAS_GETPGRP:
- *     This symbol, if defined, indicates that the getpgrp routine is
- *     available to get the current process group.
- */
-/* USE_BSD_GETPGRP:
- *     This symbol, if defined, indicates that getpgrp needs one
- *     arguments whereas USG one needs none.
- */
-#define HAS_GETPGRP            /**/
-/*#define USE_BSD_GETPGRP      / **/
-
-/* HAS_SETPGRP:
- *     This symbol, if defined, indicates that the setpgrp routine is
- *     available to set the current process group.
- */
-/* USE_BSD_SETPGRP:
- *     This symbol, if defined, indicates that setpgrp needs two
- *     arguments whereas USG one needs none.  See also HAS_SETPGID
- *     for a POSIX interface.
- */
-#define HAS_SETPGRP            /**/
-#define USE_BSD_SETPGRP        /**/
-
 #endif
index 218da41..627ba31 100755 (executable)
@@ -73,6 +73,7 @@ else {
     while (@desc) {
        my ($change,$who,$date,$time,@log,$branch,$file,$type,%files);
        my $skip = 0;
+        my $nbranch = 0;
        $_ = shift @desc;
        if (/^Change (\d+) by (\w+)\@.+ on (\S+) (\S+)\s*$/) {
            ($change, $who, $date, $time) = ($1,$2,$3,$4);
@@ -88,6 +89,7 @@ else {
                    last unless /^\.\.\./;
                    if (m{^\.\.\. //depot/(.*?perl|[^/]*)/([^#]+)#\d+ (\w+)\s*$}) {
                        ($branch,$file,$type) = ($1,$2,$3);
+                       $nbranch++;
                        if (exists $branch_exclude{$branch} or
                            @branch_include and
                            not exists $branch_include{$branch}) {
@@ -103,7 +105,7 @@ else {
                }
            }
        }
-       next if not $change or $skip;
+       next if not $change;
        print "_" x 76, "\n";
        printf <<EOT, $change, $who, $date, $time;
 [%6s] By: %-25s             on %9s %9s
index d761059..3bc9d09 100644 (file)
@@ -58,7 +58,7 @@ and 1 is the subversion.
 
 For compatibility with the older numbering scheme the composite floating
 point version number continues to be available as the magic variable $],
-and amounts to C<$revision + $version/1000 + $subversion/1000000>.  This
+and amounts to C<$revision + $version/1000 + $subversion/100000>.  This
 can still be used in comparisons.
 
        print "You've got an old perl\n" if $] < 5.005_03;
@@ -210,7 +210,7 @@ unset appropriate Configure variables, based on the Configure command
 line options and possibly existing config.sh and Policy.sh files from
 previous Configure runs.
 
-The extension hints are written Perl (by the time they are used
+The extension hints are written in Perl (by the time they are used
 miniperl has been built) and control the building of their respective
 extensions.  They can be used to for example manipulate compilation
 and linking flags.
@@ -252,7 +252,8 @@ the first B<not> to have a system call also update the list of
 A file called F<README.youros> at the top level that explains things
 like how to install perl at this platform, where to get any possibly
 required additional software, and for example what test suite errors
-to expect, is nice too.
+to expect, is nice too.  Such files are in the process of being written
+in pod format and will eventually be renamed F<INSTALL.youros>.
 
 You may also want to write a separate F<.pod> file for your operating
 system to tell about existing mailing lists, os-specific modules,
@@ -449,7 +450,9 @@ safely be sorted, so it's easy to track (typically very small) changes
 to config.sh and then propoagate them to a canned 'config.h' by any
 number of means, including a perl script in win32/ or carrying 
 config.sh and config_h.SH to a Unix system and running sh
-config_h.SH.)
+config_h.SH.)  Vms uses configure.com to generate its own config.sh
+and config.h.  If you want to add a new variable to config.sh check
+with vms folk how to add it to configure.com too.
 XXX]
 
 The Porting/config.sh and Porting/config_H files are provided to
@@ -460,7 +463,7 @@ distinguish the file from config.h even on case-insensitive file systems.)
 Simply edit the existing config_H file; keep the first few explanatory
 lines and then copy your new config.h below.
 
-It may also be necessary to update win32/config.?c, vms/config.vms and
+It may also be necessary to update win32/config.?c, and
 plan9/config.plan9, though you should be quite careful in doing so if
 you are not familiar with those systems.  You might want to issue your
 patch with a promise to quickly issue a follow-up that handles those
@@ -481,8 +484,10 @@ output statements mean the patch won't apply cleanly.  Long ago I
 started to fix F<perly.fixer> to detect this, but I never completed the
 task.
 
-If C<perly.c> changes, make sure you run C<perl vms/vms_yfix.pl> to
-update the corresponding VMS files.  See L<VMS-specific updates>.
+If C<perly.c> or C<perly.h> changes, make sure you run C<perl vms/vms_yfix.pl> 
+to update the corresponding VMS files.  This could be taken care of by 
+the regen_all target in the Unix Makefile.  See also 
+L<VMS-specific updates>.
 
 Some additional notes from Larry on this:
 
@@ -507,6 +512,11 @@ could be automated, but it doesn't happen very often nowadays.
 
 Larry
 
+=head2 make regen_all
+
+This target takes care of the PERLYVMS, regen_headers, and regen_pods
+targets.
+
 =head2 make regen_headers
 
 The F<embed.h>, F<keywords.h>, and F<opcode.h> files are all automatically
@@ -532,6 +542,10 @@ and effort by manually running C<make regen_headers> myself rather
 than answering all the questions and complaints about the failing
 command.
 
+=head2 make regen_pods
+
+Will run `make regen_pods` in the pod directory for indexing. 
+
 =head2 global.sym, interp.sym and perlio.sym
 
 Make sure these files are up-to-date.  Read the comments in these
@@ -541,7 +555,7 @@ files and in perl_exp.SH to see what to do.
 
 If you do change F<global.sym> or F<interp.sym>, think carefully about
 what you are doing.  To the extent reasonable, we'd like to maintain
-souce and binary compatibility with older releases of perl.  That way,
+source and binary compatibility with older releases of perl.  That way,
 extensions built under one version of perl will continue to work with
 new versions of perl.
 
@@ -594,11 +608,11 @@ things that need to be fixed in Configure.
 =head2 VMS-specific updates
 
 If you have changed F<perly.y> or F<perly.c>, then you most probably want
-to update F<vms/perly_{h,c}.vms> by running C<perl vms/vms_yfix.pl>.
+to update F<vms/perly_{h,c}.vms> by running C<perl vms/vms_yfix.pl>, or
+by running `make regen_all` which will run that script for you.
 
-The Perl version number appears in several places under F<vms>.
-It is courteous to update these versions.  For example, if you are
-making 5.004_42, replace "5.00441" with "5.00442".
+The Perl revision number appears as "perl5" in configure.com.
+It is courteous to update that if necessary.
 
 =head2 Making the new distribution
 
@@ -1353,7 +1367,8 @@ have good reason to do otherwise, I see no reason not to support them.
 =item File locking
 
 Somehow, straighten out, document, and implement lockf(), flock(),
-and/or fcntl() file locking.  It's a mess.
+and/or fcntl() file locking.  It's a mess.  See $d_fcntl_can_lock
+in recent config.sh files though.
 
 =back
 
diff --git a/Porting/repository.pod b/Porting/repository.pod
new file mode 100644 (file)
index 0000000..5f1338d
--- /dev/null
@@ -0,0 +1,327 @@
+=head1 NAME
+
+repository - Using the Perl repository
+
+This document describes what a Perl Porter needs to do
+to start using the Perl repository.
+
+=head1 Prerequisites
+
+You'll need to get hold of the following software.
+
+=over 4
+
+=item Perforce
+
+Download a perforce client from:
+
+   http://www.perforce.com/perforce/loadprog.html
+
+You'll probably also want to look at:
+
+   http://www.perforce.com/perforce/technical.html
+
+where you can look at or download its documentation.
+
+=item ssh
+
+If you don't already have access to an ssh client, then look at its
+home site C<http://www.cs.hut.fi/ssh> which mentions ftp sites from
+which it's available. You only need to build the client parts (ssh
+and ssh-keygen should suffice).
+
+=back
+
+=head1 Creating an SSH Key Pair
+
+If you already use ssh and want to use the same key pair for perl
+repository access then you can skip the rest of this section.
+Otherwise, generate an ssh key pair for use with the repository
+by typing the command
+
+    ssh-keygen
+
+After generating a key pair and testing it, ssh-keygen will ask you
+to enter a filename in which to save the key. The default it offers
+will be the file F<~/.ssh/identity> which is suitable unless you
+particularly want to keep separate ssh identities for some reason.
+If so, you could save the perl repository private key in the file
+F<~/.ssh/perl>, for example, but I will use the standard filename
+in the remainder of the examples of this document.
+
+After typing in the filename, it will prompt you to type in a
+passphrase. The private key will itself be encrypted so that it is
+usable only when that passphrase is typed. (When using ssh, you will
+be prompted when it requires a pass phrase to unlock a private key.)
+If you provide a blank passphrase then no passphrase will be needed
+to unlock the key and, as a consequence, anyone who gains access to
+the key file gains access to accounts protected with that key
+(barring additional configuration to restrict access by IP address).
+
+When you have typed the passphrase in twice, ssh-keygen will confirm
+where it has saved the private key (in the filename you gave and
+with permissions set to be only readable by you), what your public
+key is (don't worry: you don't need to memorise it) and where it
+has saved the corresponding public key. The public key is saved in
+a filename corresponding to your private key's filename but with
+".pub" appended, usually F<~/.ssh/identity.pub>. That public key
+can be (but need not be) world readable. It is not used by your
+own system at all.
+
+=head1 Notifying the Repository Keeper
+
+Mail the contents of that public key file to the keeper of the perl
+repository (see L</Contact Information> below).
+When the key is added to the repository host's configuration file,
+you will be able to connect to it with ssh by using the corresponding
+private key file (after unlocking it with your chosen passphrase).
+
+=head1 Connecting to the Repository
+
+Connections to the repository are made by using ssh to provide a
+TCP "tunnel" rather than by using ssh to login to or invoke any
+ordinary commands on the repository. When you want to start a
+session using the repository, use the command
+
+    ssh -l perlrep -f -q -x -L 1666:127.0.0.1:1666 sickle.activestate.com 
+foo
+
+If you are not using the default filename of F<~/.ssh/identity>
+to hold your perl repository private key then you'll need to add
+the option B<-i filename> to tell ssh where it is. Unless you chose
+a blank passphrase for that private key, ssh will prompt you for the
+passphrase to unlock that key. Then ssh will fork and put itself
+in the background, returning you (silently) to your shell prompt.
+The tunnel for repository access is now ready for use.
+
+For the sake of completeness (and for the case where the chosen
+port of 1666 is already in use on your machine), I'll briefly
+describe what all those ssh arguments are for.
+
+=over 4
+
+=item B<-l perl>
+
+Use a remote username of perl. The account on the repository which
+provides the end-point of the ssh tunnel is named "perl".
+
+=item B<-f>
+
+Tells ssh to fork and remain running in the background. Since ssh
+is only being used for its tunnelling capabilities, the command
+that ssh runs never does any I/O and can sit silently in the
+background.
+
+=item B<-q>
+
+Tells ssh to be quiet. Without this option, ssh will output a
+message each time you use a p4 command (since each p4 command
+tunnels over the ssh connection to reach the repository).
+
+=item B<-x>
+
+Tells ssh not to bother to set up a tunnel for X11 connections.
+The repository doesn't allow this anyway.
+
+=item B<-L 1666:127.0.0.1:1666>
+
+This is the important option. It tells ssh to listen out for
+connections made to port 1666 on your local machine. When such
+a connection is made, the ssh client tells the remote side
+(the corresponding ssh daemon on the repository) to make a
+connection to IP address 127.0.0.1, port 1666. Data flowing
+along that connection is tunnelled over the ssh connection
+(encrypted). The perforce daemon running on the repository
+only accepts connections from localhost and that is exactly
+where ssh-tunnelled connections appear to come from.
+
+If port 1666 is already in use on your machine then you can
+choose any non-privileged port (a number between 1024 and 65535)
+which happens to be free on your machine. It's the first of the
+three colon separated values that you should change. Picking
+port 2345 would mean changing the option to
+B<-L 2345:127.0.0.1:1666>. Whatever port number you choose should
+be used for the value of the P4PORT environment variable (q.v.).
+
+=item sickle.activestate.com
+
+This is the canonical IP name of the host on which the perl
+repository runs. Its IP number is 199.60.48.20.
+
+=item foo
+
+This is a dummy place holder argument. Without an argument
+here, ssh will try to perform an interactive login to the
+repository which is not allowed. Ordinarily, this argument
+is for the one-off command which is to be executed on the
+remote host. However, the repository's ssh configuration
+file uses the "command=" option to force a particular
+command to run so the actual value of the argument is
+ignored. The command that's actually run merely pauses and
+waits for the ssh connection to drop, then exits.
+
+=back
+
+=head1 Problems
+
+You should normally get a prompt that asks for the passphrase
+for your RSA key when you connect with the ssh command shown
+above.  If you see a prompt that looks like:
+
+    perlrep@sickle.activestate.com's password:
+
+Then you either don't have a ~/.ssh/identity file corresponding
+to your public key, or your ~/.ssh/identity file is not readable.
+Fix the problem and try again.
+
+=head1 Using the Perforce Client
+
+Remember to read the documentation for Perforce. You need
+to make sure that three environment variable are set
+correctly before using the p4 client with the perl repository.
+
+=over 4
+
+=item P4PORT
+
+Set this to localhost:1666 (the port for your ssh client to listen on)
+unless that port is already in use on your host. If it is, see
+the section above on the B<-L 1666:127.0.0.1:1666> option to ssh.
+
+=item P4CLIENT
+
+The value of this is the name by which Perforce knows your
+host's workspace. You need to pick a name (for example, your
+hostname unless that clashes with someone else's client name)
+when you first start using the perl repository and then
+stick with it. If you connect from multiple hosts (with
+different workspaces) then maybe you could have multiple
+clients. There is a licence limit on the number of perforce
+clients which can be created. Although we have been told that
+Perforce will raise our licence limits within reason, it's
+probably best not to use additional clients unless needed.
+
+Note that perforce only needs the client name so that it can
+find the directory under which your client files are stored.
+If you have multiple hosts sharing the same directory structure
+via NFS then only one client name is necessary.
+
+The C<p4 clients> command lists all currently known clients.
+
+=item P4USER
+
+This is the username by which perforce knows you. Use your
+username if you have a well known or obvious one or else pick
+a new one which other perl5-porters will recognise. There is
+a licence limit on the number of these usernames. Perforce
+doesn't enforce security between usernames. If you set P4USER
+to be somebody else's username then perforce will believe you
+completely with regard to access control, logging and so on.
+
+The C<p4 users> command lists all currently known users.
+
+=back
+
+Once these three environment variables are set, you can use the
+perforce p4 client exactly as described in its documentation.
+After setting these variables and connecting to the repository
+for the first time, you should use the C<p4 user> and
+C<p4 client> commands to tell perforce the details of your
+new username and your new client workspace specifications.
+
+=head1 Ending a Repository Session
+
+When you have finished a session using the repository, you
+should kill off the ssh client process to break the tunnel.
+Since ssh forked itself into the background, you'll need to use
+something like ps with the appropriate options to find the ssh
+process and then kill it manually. The default signal of
+SIGTERM is fine.
+
+=head1 Overview of the Repository
+
+Please read at least the introductory sections of the Perforce
+User Guide (and perhaps the Quick Start Guide as well) before
+reading this section.
+
+Every repository user typically "owns" a "branch" of the mainline
+code in the repository.  They hold the "pumpkin" for things in this
+area, and are usually the only user who will modify files there.
+This is not strictly enforced in order to allow the flexibility
+of other users stealing the pumpkin for short periods with the
+owner's permission.
+
+Here is the current structure of the repository:
+
+    /----+-----perl                  - Mainline development (bleadperl)
+         +-----cfgperl               - Configure Pumpkin's Perl
+         +-----vmsperl               - VMS Pumpkin's Perl
+         +-----maint-5.004------perl - Maintainance branches
+         +-----maint-5.005------perl
+         +-----maint-5.6------perl
+
+Perforce uses a branching model that simply tracks relationships
+between files.  It does not care about directories at all, so
+any file can be a branch of any other file--the fully qualified
+depot path name (of the form //depot/foo/bar.c) uniquely determines
+a file for the purpose of establishing branching relationships.
+Since a branch usually involves hundreds of files, such relationships
+are typically specified en masse using a branch map (try `p4 help branch`).
+`p4 branches` lists the existing branches that have been set up.
+`p4 branch -o branchname` can be used to view the map for a particular
+branch, if you want to determine the ancestor for a particular set of
+files.
+
+The mainline (aka "trunk") code in the Perl repository is under
+"//depot/perl/...".  Most branches typically map its entire
+contents under a directory that goes by the same name as the branch
+name.  Thus the contents of the cfgperl branch are to be found
+in //depot/cfgperl.
+
+Run `p4 client` to specify how the repository contents should map to
+your local disk.  Most users will typically have a client map that
+includes at least their entire branch and the contents of the mainline.
+
+Run `p4 changes -l -m10` to check on the activity in the repository.
+//depot/perl/Porting/genlog is useful to get an annotated changelog
+that shows files and branches.  You can use this listing to determine
+if there are any changes in the mainline that you need to merge into
+your own branch.  A typical merging session looks like this:
+
+    % cd ~/p4view/cfgperl
+    % p4 integrate -b cfgperl    # to bring parent changes into cfgperl
+    % p4 resolve -a ./...        # auto merge the changes
+    % p4 resolve ./...           # manual merge conflicting changes
+    % p4 submit ./...            # check in
+
+If the owner of the mainline wants to bring the changes in cfgperl
+back into the mainline, they do:
+
+    % p4 integrate -r -b cfgperl
+    ...
+
+Generating a patch for change#42 is done as follows:
+
+    % p4 describe -du 42 | p4desc | p4d2p > change-42.patch
+
+p4desc and p4d2p are to be found in //depot/perl/Porting/.
+
+=head1 Contact Information
+
+The mail alias <perl-repository-keepers@perl.org> can be used to reach
+all current users of the repository.
+
+The repository keeper is currently Gurusamy Sarathy
+<gsar@activestate.com>.
+
+=head1 AUTHORS
+
+Malcolm Beattie, mbeattie@sable.ox.ac.uk, 24 June 1997.
+
+Gurusamy Sarathy, gsar@activestate.com, 8 May 1999.
+
+Slightly updated by Simon Cozens, simon@brecon.co.uk, 3 July 2000
+
+=cut
+
+
diff --git a/README b/README
index b828893..28c5de8 100644 (file)
--- a/README
+++ b/README
@@ -1,7 +1,7 @@
 
                           Perl Kit, Version 5.0
 
-                      Copyright 1989-2000, Larry Wall
+                      Copyright 1989-2001, Larry Wall
                            All rights reserved.
 
     This program is free software; you can redistribute it and/or modify
index 6346a18..bf83535 100644 (file)
@@ -8,13 +8,13 @@ README.aix - Perl version 5 on IBM Unix (AIX) systems
 
 =head1 DESCRIPTION
 
-This document describes various features of IBM's Unix operating system
-(AIX) that will affect how Perl version 5 (hereafter just Perl) is
-compiled and/or runs.
+This document describes various features of IBM's Unix operating
+system (AIX) that will affect how Perl version 5 (hereafter just Perl)
+is compiled and/or runs.
 
 =head2 Compiling Perl 5 on AIX
 
-When compiling Perl, you must use an ANSI C compiler. AIX does not shif
+When compiling Perl, you must use an ANSI C compiler. AIX does not ship
 an ANSI compliant C-compiler with AIX by default, but binary builds of
 gcc for AIX are widely available.
 
@@ -26,8 +26,8 @@ upgrade to the latest available patch level. Currently:
     xlC.C     3.1.4.0
     vac.C     4.4.0.3  (5.0 is already available)
 
-Perl can be compiled with either IBM's ANSI C compiler or with gcc.  The
-former is recommended, as not only can it compile Perl with no
+Perl can be compiled with either IBM's ANSI C compiler or with gcc.
+The former is recommended, as not only can it compile Perl with no
 difficulty, but also can take advantage of features listed later that
 require the use of IBM compiler-specific command-line flags.
 
@@ -39,7 +39,7 @@ details.
 
 Before installing the patches to the IBM C-compiler you need to know the
 level of patching for the Operating System. IBM's command 'oslevel' will
-show the base, but is not allways complete:
+show the base, but is not always complete:
 
     # oslevel
     4.3.0.0
@@ -52,7 +52,7 @@ show the base, but is not allways complete:
 
 AIX supports dynamically loadable libraries (shared libraries).
 Shared libraries end with the suffix .a, which is a bit misleading,
-cause *all* libraries are shared ;-).
+because *all* libraries are shared ;-).
 
 =head2 The IBM ANSI C Compiler
 
@@ -61,12 +61,86 @@ All defaults for Configure can be used.
 If you've chosen to use vac 4, be sure to run 4.4.0.3. Older versions
 will turn up nasty later on.
 
+Here's a brief lead of how to upgrade the compiler to the latest
+level.  Of course this is subject to changes.  You can only upgrade
+versions from ftp-available updates if the first three digit groups
+are the same (in where you can skip intermediate unlike the patches
+in the developer snapshots of perl), or to one version up where the
+`base' is available.  In other words, the AIX compiler patches are
+cumulative.
+
+ vac.C.4.4.0.1 => vac.C.4.4.0.3  is OK     (vac.C.4.4.0.2 not needed)
+ xlC.C.3.1.3.3 => xlC.C.3.1.4.10 is NOT OK (xlC.C.3.1.4.0 is not available)
+
+ # ftp ftp.software.ibm.com
+ Connected to service.boulder.ibm.com.
+ : welcome message ...
+ Name (ftp.software.ibm.com:merijn): anonymous
+ 331 Guest login ok, send your complete e-mail address as password.
+ Password:
+ ... accepted login stuff
+ ftp> cd /aix/fixes/v4/
+ ftp> dir other other.ll
+ output to local-file: other.ll? y
+ 200 PORT command successful.
+ 150 Opening ASCII mode data connection for /bin/ls.
+ 226 Transfer complete.
+ ftp> dir xlc xlc.ll
+ output to local-file: xlc.ll? y
+ 200 PORT command successful.
+ 150 Opening ASCII mode data connection for /bin/ls.
+ 226 Transfer complete.
+ ftp> bye
+ ... goodbye messages
+ # ls -l *.ll
+ -rw-rw-rw-   1 merijn   system    1169432 Nov  2 17:29 other.ll
+ -rw-rw-rw-   1 merijn   system      29170 Nov  2 17:29 xlc.ll
+
+On AIX 4.2 using xlC, we continue:
+
+ # lslpp -l | fgrep 'xlC.C '
+   xlC.C                     3.1.4.9  COMMITTED  C for AIX Compiler
+   xlC.C                     3.1.4.0  COMMITTED  C for AIX Compiler
+ # grep 'xlC.C.3.1.4.*.bff' xlc.ll
+ -rw-r--r--   1 45776101 1        6286336 Jul 22 1996  xlC.C.3.1.4.1.bff
+ -rw-rw-r--   1 45776101 1        6173696 Aug 24 1998  xlC.C.3.1.4.10.bff
+ -rw-r--r--   1 45776101 1        6319104 Aug 14 1996  xlC.C.3.1.4.2.bff
+ -rw-r--r--   1 45776101 1        6316032 Oct 21 1996  xlC.C.3.1.4.3.bff
+ -rw-r--r--   1 45776101 1        6315008 Dec 20 1996  xlC.C.3.1.4.4.bff
+ -rw-rw-r--   1 45776101 1        6178816 Mar 28 1997  xlC.C.3.1.4.5.bff
+ -rw-rw-r--   1 45776101 1        6188032 May 22 1997  xlC.C.3.1.4.6.bff
+ -rw-rw-r--   1 45776101 1        6191104 Sep  5 1997  xlC.C.3.1.4.7.bff
+ -rw-rw-r--   1 45776101 1        6185984 Jan 13 1998  xlC.C.3.1.4.8.bff
+ -rw-rw-r--   1 45776101 1        6169600 May 27 1998  xlC.C.3.1.4.9.bff
+ # wget ftp://ftp.software.ibm.com/aix/fixes/v4/xlc/xlC.C.3.1.4.10.bff
+ #
+
+On AIX 4.3 using vac, we continue:
+
+ # lslpp -l | fgrep 'vac.C '
+   vac.C                      4.4.0.2  COMMITTED  C for AIX Compiler
+   vac.C                      4.4.0.0  COMMITTED  C for AIX Compiler
+ # grep 'vac.C.4.4.0.*.bff' other.ll
+ -rw-rw-r--   1 45776101 1        13466624 May 26 1999  vac.C.4.4.0.1.bff
+ -rw-rw-r--   1 45776101 1        13473792 Aug 31 1999  vac.C.4.4.0.2.bff
+ -rw-rw-r--   1 45776101 1        13480960 May 19 20:32 vac.C.4.4.0.3.bff
+ # wget ftp://ftp.software.ibm.com/aix/fixes/v4/other/vac.C.4.4.0.3.bff
+ #
+
+Then execute the following command, and fill in its choices
+
+ # smit install_update
+  -> Install and Update from LATEST Available Software
+  * INPUT device / directory for software [ vac.C.4.4.0.3.bff    ]
+  [ OK ]
+  [ OK ]
+
+Follow the messages ... and you're done.
+
 =head2 Using GNU's gcc for building perl
 
 ... ?
 
-Wait, I'll have to scan perlbug ...
-
 =head2 Using Large Files with Perl
 
 ... ?
index 8951f35..3b2a1bd 100644 (file)
@@ -4,18 +4,10 @@ specially designed to be readable as is.
 
 =head1 NAME
 
-perlamiga - Perl under Amiga OS (possibly very outdated information)
+perlamiga - Perl under Amiga OS
 
 =head1 SYNOPSIS
 
-NOTE: No one has reported building Perl on the Amiga in a long
-time.  The following information is highly unlikely to be correct.
-If you would like to help the Amiga port to stay current, see:
-
-    http://us.aminet.net/aminet/dirs/dev_gg.html
-
-for Amiga resources and information.
-
 One can read this document in the following formats:
 
        man perlamiga
@@ -24,6 +16,11 @@ One can read this document in the following formats:
 to list some (not all may be available simultaneously), or it may
 be read I<as is>: either as F<README.amiga>, or F<pod/perlamiga.pod>.
 
+A recent version of perl for the Amiga can be found at the Geek Gadgets
+section of the Aminet:
+  
+      http://www.aminet.net/~aminet/dirs/dev_gg.html
+
 =cut
 
 Contents
@@ -61,16 +58,12 @@ Contents
 =item B<Unix emulation for AmigaOS: ixemul.library>
 
 You need the Unix emulation for AmigaOS, whose most important part is
-B<ixemul.library>. For a minimum setup, get the following archives from
-ftp://ftp.ninemoons.com/pub/ade/current or a mirror:
+B<ixemul.library>. For a minimum setup, get the latest versions
+of the following packages from the Aminet archives (http://www.aminet.net/~aminet/):
 
-ixemul-46.0-bin.lha
-ixemul-46.0-env-bin.lha
-pdksh-4.9-bin.lha
-ADE-misc-bin.lha
-
-Note that there might be newer versions available by the time you read
-this.
+       ixemul-bin
+       ixemul-env-bin
+       pdksh-bin
 
 Note also that this is a minimum setup; you might want to add other
 packages of B<ADE> (the I<Amiga Developers Environment>).
@@ -108,16 +101,24 @@ easier to use your script under *nix.)
 Perl under AmigaOS lacks some features of perl under UNIX because of
 deficiencies in the UNIX-emulation, most notably:
 
-=over 6
+=over 4
+
+=item * 
+
+fork()
 
-=item fork()
+=item *
 
-=item some features of the UNIX filesystem regarding link count and file dates
+some features of the UNIX filesystem regarding link count and file dates
 
-=item inplace operation (the -i switch) without backup file
+=item *
 
-=item umask() works, but the correct permissions are only set when the file is
-      finally close()d
+inplace operation (the -i switch) without backup file
+
+=item *
+
+umask() works, but the correct permissions are only set when the file is
+finally close()d
 
 =back
 
@@ -126,11 +127,11 @@ deficiencies in the UNIX-emulation, most notably:
 Change to the installation directory (most probably ADE:), and
 extract the binary distribution:
 
-lha -mraxe x perl-5.003-bin.lha
+lha -mraxe x perl-$VERSION-bin.lha
 
 or
 
-tar xvzpf perl-5.003-bin.tgz
+tar xvzpf perl-$VERSION-bin.tgz
 
 (Of course you need lha or tar and gunzip for this.)
 
@@ -189,16 +190,15 @@ Here we discuss how to build Perl under AmigaOS.
 
 =head2 Prerequisites
 
-You need to have the latest B<ADE> (Amiga Developers Environment)
-from ftp://ftp.ninemoons.com/pub/ade/current.
-Also, you need a lot of free memory, probably at least 8MB.
+You need to have the latest B<ixemul> (Unix emulation for Amiga)
+from Aminet.
 
 =head2 Getting the perl source
 
 You can either get the latest perl-for-amiga source from Ninemoons
 and extract it with:
 
-  tar xvzpf perl-5.004-src.tgz
+  tar xvzpf perl-$VERSION-src.tgz
 
 or get the official source from CPAN:
 
@@ -206,7 +206,7 @@ or get the official source from CPAN:
 
 Extract it like this
 
-  tar xvzpf perl5.004.tar.gz
+  tar xvzpf perl-$VERSION.tar.gz
 
 You will see a message about errors while extracting F<Configure>. This
 is normal and expected. (There is a conflict with a similarly-named file
@@ -214,12 +214,60 @@ F<configure>, but it causes no harm.)
 
 =head2 Making
 
-  sh configure.gnu --prefix=/ade
+=over 4
+
+=item *
+
+remember to use a healthy sized stack (I used 2000000)
+
+=item *
+
+your PATH environment variable must include /bin (e.g. ".:/bin" is good)
+(or, more precisely, it must include the directory where you have your
+basic UNIX utilities like test, cat, sed, and so on)
+
+=item *
+       
+  sh Configure -Dprefix=/ade -Dloclibpth=/ade/lib
 
-Now
+=item *
+
+fix makedepend
+
+       In the file 'makedepend' there are three spots like this `$cat ...`:
+       a for loop near line 75, an egrep near line 161, and a for loop near
+       line 175.  In all those spots using an editor change the $cat to
+       /bin/cat.
+
+=item *
+
+now type make depend
+
+       When the make depend has ended load the gnumakefile into
+       an editor and go to the end of the file.
+
+       Move upwards in the file until you reach av.o: EXTERN.h
+       and delete all lines down to # WARNING: Put....
+
+=item *
+
+now go to the x2p directory
+
+       Load the gnumakefile into an editor.
+
+       Go to the end moveup until you reach hash.o: EXTERN.h
+       and delete all lines dowonwards until you reach a line saying
+
+       # WARNING: Put nothing....
+
+=item *
+
+Now!
 
   make
 
+=back
+
 =head2 Testing
 
 Now run
@@ -237,9 +285,10 @@ Run
 
   make install
 
-=head1 AUTHOR
+=head1 AUTHORS
 
 Norbert Pueschel, pueschel@imsdd.meb.uni-bonn.de
+Jan-Erik Karlsson, trg@privat.utfors.se
 
 =head1 SEE ALSO
 
index 9718bb5..6264a15 100644 (file)
@@ -27,11 +27,11 @@ platforms.  They run thanks to the Cygwin library which provides the UNIX
 system calls and environment these programs expect.  More information
 about this project can be found at:
 
-  http://sources.redhat.com/cygwin/
+  http://www.cygwin.com/
 
 A recent net or commercial release of Cygwin is required.
 
-At the time this document was last updated, Cygwin 1.1.4 was current.
+At the time this document was last updated, Cygwin 1.1.5 was current.
 
 B<NOTE:> At this point, minimal effort has been made to provide
 compatibility with old (beta) Cygwin releases.  The focus has been to
@@ -253,14 +253,6 @@ closed pipe.  You will see the following messages:
 At least for consistency with WinNT, you should keep the recommended
 value.
 
-=item * Checking how std your stdio is...
-
-Configure reports:
-
-  Your stdio doesn't appear very std.
-
-This is correct.
-
 =item * Compiler/Preprocessor defines
 
 The following error occurs because of the Cygwin C<#define> of
@@ -500,12 +492,11 @@ be kept as clean as possible.
 
 =item Documentation
 
-  INSTALL README.cygwin
+  INSTALL README.cygwin README.win32 MANIFEST
   Changes Changes5.005 Changes5.004 Changes5.6
-  AUTHORS MAINTAIN MANIFEST README.win32
-  pod/buildtoc.PL pod/perl.pod pod/perl5004delta.pod pod/perl56delta.pod
-  pod/perlfaq3.pod pod/perlhist.pod pod/perlmodlib.pod pod/perlport.pod
-  pod/perltoc.pod
+  pod/perl.pod pod/perlport.pod pod/perlfaq3.pod
+  pod/perldelta.pod pod/perl5004delta.pod pod/perl56delta.pod
+  pod/perlhist.pod pod/perlmodlib.pod pod/buildtoc.PL pod/perltoc.pod
 
 =item Build, Configure, Make, Install
 
@@ -543,9 +534,7 @@ be kept as clean as possible.
   perl.h                - binmode
   doio.c                - win9x can not rename a file when it is open
   pp_sys.c              - do not define h_errno, pp_system with spawn
-  mg.c                  - environ WORKAROUND
-  unixish.h             - environ WORKAROUND
-  util.c                - environ WORKAROUND
+  util.c                - use setenv
 
 =item Compiled Module Source
 
@@ -585,10 +574,14 @@ On WinNT Cygwin provides setuid(), seteuid(), setgid() and setegid().
 However, additional Cygwin calls for manipulating WinNT access tokens
 and security contexts are required.
 
+When building DLLs, `C<dllwrap --export-all-symbols>' is used to export
+global symbols.  It might be better to generate an explicit F<.def> file
+(see F<makedef.pl>).  Also, DLLs can now be build with `C<gcc -shared>'.
+
 =head1 AUTHORS
 
 Charles Wilson <cwilson@ece.gatech.edu>,
-Eric Fifer <efifer@sanwaint.com>,
+Eric Fifer <egf7@columbia.edu>,
 alexander smishlajev <als@turnhere.com>,
 Steven Morlock <newspost@morlock.net>,
 Sebastien Barre <Sebastien.Barre@utc.fr>,
@@ -596,4 +589,4 @@ Teun Burgers <burgers@ecn.nl>.
 
 =head1 HISTORY
 
-Last updated: 15 August 2000
+Last updated: 9 November 2000
index 51cd1d6..fe649ed 100644 (file)
@@ -9,7 +9,7 @@ perldos - Perl under DOS, W31, W95.
 =head1 SYNOPSIS
 
 These are instructions for building Perl under DOS (or w??), using
-DJGPP v2.01 or later. Under w95 long filenames are supported.
+DJGPP v2.03 or later.  Under w95 long filenames are supported.
 
 =head1 DESCRIPTION
 
@@ -22,6 +22,10 @@ This port currently supports MakeMaker (the set of modules that
 is used to build extensions to perl).  Therefore, you should be
 able to build and install most extensions found in the CPAN sites.
 
+Detailed instructions on how to build and install perl extension
+modules, including XS-type modules, is included.  See 'BUILDING AND
+INSTALLING MODULES'.
+
 =head2 Prerequisites
 
 =over 4
@@ -46,19 +50,19 @@ the world. Like:
 
 You need the following files to build perl (or add new modules):
 
-        v2/djdev202.zip
-        v2/bnu27b.zip
-        v2gnu/gcc2721b.zip
-        v2gnu/bsh1147b.zip
-        v2gnu/mak3761b.zip
+        v2/djdev203.zip
+        v2/bnu2951b.zip
+        v2gnu/gcc2952b.zip
+        v2gnu/bsh204b.zip
+        v2gnu/mak3791b.zip
         v2gnu/fil316b.zip
-        v2gnu/sed118b.zip
-        v2gnu/txt122b.zip
-        v2gnu/dif271b.zip
-        v2gnu/grep21b.zip
+        v2gnu/sed302b.zip
+        v2gnu/txt20b.zip
+        v2gnu/dif272b.zip
+        v2gnu/grep24b.zip
         v2gnu/shl112b.zip
         v2gnu/gawk303b.zip
-        v2misc/csdpmi4b.zip 
+        v2misc/csdpmi4b.zip
 
 or possibly any newer version.
 
@@ -104,7 +108,7 @@ to use long file names under w95 and also to get Perl to pass all its
 tests, don't forget to use
 
         set LFN=y
-       set FNCASE=y
+        set FNCASE=y
 
 before unpacking the archive.
 
@@ -115,6 +119,9 @@ directory.
 
         ln -s bash.exe sh.exe
 
+[If you have the recommended version of bash for DJGPP, this is already
+done for you.]
+
 And make the C<SHELL> environment variable point to this F<sh.exe>:
 
         set SHELL=c:/djgpp/bin/sh.exe (use full path name!)
@@ -131,20 +138,34 @@ F<split.exe> to F<djsplit.exe>, and F<gsplit.exe> to F<split.exe>.
 Copy or link F<gecho.exe> to F<echo.exe> if you don't have F<echo.exe>.
 Copy or link F<gawk.exe> to F<awk.exe> if you don't have F<awk.exe>.
 
+[If you have the recommended versions of djdev, shell utilities and
+gawk, all these are already done for you, and you will not need to do
+anything.]
+
 =item *
 
 Chdir to the djgpp subdirectory of perl toplevel and type the following
-command:
+commands:
 
+        set FNCASE=y
         configure.bat
 
 This will do some preprocessing then run the Configure script for you.
-The Configure script is interactive, but in most cases you
-just need to press ENTER.
+The Configure script is interactive, but in most cases you just need to
+press ENTER.  The "set" command ensures that DJGPP preserves the letter
+case of file names when reading directories.  If you already issued this
+set command when unpacking the archive, and you are in the same DOS
+session as when you unpacked the archive, you don't have to issue the
+set command again.  This command is necessary *before* you start to 
+(re)configure or (re)build perl in order to ensure both that perl builds 
+correctly and that building XS-type modules can succeed.  See the DJGPP 
+info entry for "_preserve_fncase" for more information:
+
+        info libc alphabetical _preserve_fncase
 
 If the script says that your package is incomplete, and asks whether
 to continue, just answer with Y (this can only happen if you don't use
-long filenames).
+long filenames or forget to issue "set FNCASE=y" first).
 
 When Configure asks about the extensions, I suggest IO and Fcntl,
 and if you want database handling then SDBM_File or GDBM_File
@@ -203,9 +224,106 @@ directory structure. Perl.exe and the utilities go into C<($DJDIR)/bin>,
 and the library goes under C<($DJDIR)/lib/perl5>. The pod documentation
 goes under C<($DJDIR)/lib/perl5/pod>.
 
+=head1 BUILDING AND INSTALLING MODULES
+
+
+=head2 Prerequisites
+
+For building and installing non-XS modules, all you need is a working
+perl under DJGPP.  Non-XS modules do not require re-linking the perl
+binary, and so are simpler to build and install.
+
+XS-type modules do require re-linking the perl binary, because part of
+an XS module is written in "C", and has to be linked together with the
+perl binary to be executed.  This is required because perl under DJGPP
+is built with the "static link" option, due to the lack of "dynamic
+linking" in the DJGPP environment.
+
+Because XS modules require re-linking of the perl binary, you need both
+the perl binary distribution and the perl source distribution to build
+an XS extension module.  In addition, you will have to have built your
+perl binary from the source distribution so that all of the components
+of the perl binary are available for the required link step.
+
+=head2 Unpacking CPAN Modules
+
+First, download the module package from CPAN (e.g., the "Comma Separated
+Value" text package, Text-CSV-0.01.tar.gz).  Then expand the contents of
+the package into some location on your disk.  Most CPAN modules are
+built with an internal directory structure, so it is usually safe to
+expand it in the root of your DJGPP installation.  Some people prefer to
+locate source trees under /usr/src (i.e., C<($DJDIR)/usr/src>), but you may
+put it wherever seems most logical to you, *EXCEPT* under the same
+directory as your perl source code.  There are special rules that apply
+to modules which live in the perl source tree that do not apply to most
+of the modules in CPAN.
+
+Unlike other DJGPP packages, which are normal "zip" files, most CPAN
+module packages are "gzipped tarballs".  Recent versions of WinZip will
+safely unpack and expand them, *UNLESS* they have zero-length files.  It
+is a known WinZip bug (as of v7.0) that it will not extract zero-length
+files.
+
+From the command line, you can use the djtar utility provided with DJGPP
+to unpack and expand these files.  For example:
+
+        C:\djgpp>djtarx -v Text-CSV-0.01.tar.gz
+
+This will create the new directory C<($DJDIR)/Text-CSV-0.01>, filling
+it with the source for this module.
+
+=head2 Building Non-XS Modules
+
+To build a non-XS module, you can use the standard module-building
+instructions distributed with perl modules.
+
+    perl Makefile.PL
+    make
+    make test
+    make install
+
+This is sufficient because non-XS modules install only ".pm" files and
+(sometimes) pod and/or man documentation.  No re-linking of the perl
+binary is needed to build, install or use non-XS modules.
+
+=head2 Building XS Modules
+
+To build an XS module, you must use the standard module-building
+instructions distributed with perl modules *PLUS* three extra
+instructions specific to the DJGPP "static link" build environment.
+
+    set FNCASE=y
+    perl Makefile.PL
+    make
+    make perl
+    make test
+    make -f Makefile.aperl inst_perl MAP_TARGET=perl.exe
+    make install
+
+The first extra instruction sets DJGPP's FNCASE environment variable so
+that the new perl binary which you must build for an XS-type module will
+build correctly.  The second extra instruction re-builds the perl binary
+in your module directory before you run "make test", so that you are
+testing with the new module code you built with "make".  The third extra
+instruction installs the perl binary from your module directory into the
+standard DJGPP binary directory, C<($DJDIR)/bin>, replacing your
+previous perl binary.
+
+Note that the MAP_TARGET value *must* have the ".exe" extension or you
+will not create a "perl.exe" to replace the one in C<($DJDIR)/bin>.
+
+When you are done, the XS-module install process will have added information
+to yout "perllocal" information telling that the perl binary has been replaced,
+and what module was installed.  you can view this information at any time
+by using the command:
+
+        perl -S perldoc perllocal
+
 =head1 AUTHOR
 
-Laszlo Molnar, F<laszlo.molnar@eth.ericsson.se>
+Laszlo Molnar, F<laszlo.molnar@eth.ericsson.se> [Installing/building perl]
+
+Peter J. Farley III F<pjfarley@banet.net> [Building/installing modules]
 
 =head1 SEE ALSO
 
index 06290c3..6c62565 100644 (file)
@@ -1,14 +1,16 @@
-=====================================================================
-Perl 5 README file for the EPOC operating system.
-=====================================================================
+If you read this file _as_is_, just ignore the funny characters you
+see. It is written in the POD format (see pod/perlpod.pod) which is
+specially designed to be readable as is.
 
-Olaf Flebbe <o.flebbe@gmx.de>
-http://members.linuxstart.com/~oflebbe/perl/perl5.html
-2000-09-18
+=head1 NAME
+
+README.epoc - Perl for EPOC
 
-=====================================================================
-Introduction
-=====================================================================
+=head1 SYNOPSIS
+
+Perl 5 README file for the EPOC operating system.
+
+=head1 INTRODUCTION
 
 EPOC is a OS for palmtops and mobile phones. For more informations look at:
 http://www.symbian.com/
@@ -18,9 +20,7 @@ This is a port of perl to EPOC. It runs on the Psion Series 5, 5mx,
 the Psion Netbook or the S7. For information about this hardware
 please refer to http://www.psion.com.
 
-=====================================================================
-Installation/Usage
-=====================================================================
+=head1 INSTALLING PERL ON EPOC
 
 You will need ~4MB free space in order to install and run perl.
 
@@ -40,9 +40,9 @@ you are leaving perl, you get into the system screen. You have to
 switch back manually to ESHELL. When perl is running, you will see
 a task with the name STDOUT in the task list.
 
-======================================================================
-IO Redirection
-======================================================================
+=head1 USING PERL ON EPOC
+
+=head2 IO Redirection
 
 You can redirect the output with the UNIX bourne shell syntax (this is
 built into perl rather then eshell) For instance the following command
@@ -51,12 +51,10 @@ stdout_file, the errors to stderr_file and input from stdin_file.
 
 perl test.pl >stdout_file <stdin_file 2>stderr_file
 
-Alternativly you can use 2>&1 in order to add the standard error
+Alternatively you can use 2>&1 in order to add the standard error
 output to stdout.
 
-======================================================================
-PATH Names
-======================================================================
+=head2 PATH Names
 
 ESHELL looks for executables in ?:/System/Programs. The SIS file
 installs perl in this special folder directory. The default drive and
@@ -80,68 +78,96 @@ You can automatically search for file on all EPOC drives with a ? as
 the driver letter. For instance ?:\a.txt searches for C:\a.txt,
 D:\b.txt (and Z:\a.txt).
 
-======================================================================
-Editors
-======================================================================
+=head2 Editors
 
 A suitable text-editor can be downloaded 
 from symbian http://developer.epocworld.com/downloads/progs/Editor.zip
 
-====================================================================
-Features
-====================================================================
+=head2 Features
 
 The built-in function EPOC::getcwd returns the current directory.
 
-======================================================================
-Restrictions
-======================================================================
+=head2 Restrictions
 
 Features are left out, because of restrictions of the POSIX support in
 EPOC:
 
-+ backquoting, pipes etc.
+=over 4
+
+=item *
+
+backquoting, pipes etc.
+
+=item *
+
+system() does not inherit ressources like: file descriptors,
+environment etc.
+
+=item *
+
+signal, kill, alarm. Do not try to use them. This may be
+impossible to implement on EPOC.
+
+=item *
+
+select is missing.
+
+=item *
 
-+ system() does not inherit ressources like: file descriptors,
-  environment etc.
+binmode does not exist. (No CR LF to LF translation for text files)
 
-+ signal, kill, alarm. Do not try to use them. This may be
-  impossible to implement on EPOC.
+=item *
 
-+ select is missing.
+EPOC does not handle the notion of current drive and current
+directory very well (i.e. not at all, but it tries hard to emulate
+one) See PATH.
 
-+ binmode does not exist. (No CR LF to LF translation for text files)
+=item *
 
-+ EPOC does not handle the notion of current drive and current
-  directory very well (i.e. not at all, but it tries hard to emulate
-  one) See PATH.
+You need the shell eshell.exe in order to run perl.exe and supply
+it with arguments.
 
-+ You need the shell eshell.exe in order to run perl.exe and supply
-  it with arguments.
+=item *
 
-Heap is limited to 4MB.
+Heap is limited to 4MB.
 
-===================================================================
-Compiling Perl 5 on the EPOC cross compiling envionment.
-===================================================================
+=back
+
+=head2 Compiling Perl 5 on the EPOC cross compiling environment
 
 Sorry, this is far too short.
 
-    You will need the C++ SDK from http://developer.epocworld.com/. 
+=over 4
+
+=item *
+
+You will need the C++ SDK from http://developer.epocworld.com/. 
+
+=item *
+
+You will need to set up the cross SDK from 
+http://www.science-computing.de/o.flebbe/sdk
+
+=item *
+
+You may have to adjust config.sh (cc, cppflags) for your epoc 
+install location.
+
+=item *
+
+You may have to adjust config.sh for your cross SDK location
 
-    You will need to set up the cross SDK from 
-    http://members.linuxstart.com/~oflebbe
+=item *
 
-    You may have to adjust config.sh (cc, cppflags) for your epoc 
-    install location.
+Get the Perl sources from your nearest CPAN site.
 
-    You may have to adjust config.sh for your cross SDK location
+=item *
 
-    Get the Perl sources from your nearest CPAN site.
+Unpack the sources. 
 
-    Unpack the sources. 
+=item *
 
-      Build a native perl from this sources... 
+Build a native perl from this sources... 
 
       cp epoc/* .
       ./Configure -S
@@ -159,10 +185,20 @@ Sorry, this is far too short.
 
       wine G:/bin/makesis perl.pkg perl.sis
 
+=back
 
-====================================================================
-Support Status
-====================================================================
+=head1 SUPPORT STATUS
 
 I'm offering this port "as is". You can ask me questions, but I can't
 guarantee I'll be able to answer them.
+
+=head1 AUTHOR
+
+Olaf Flebbe <o.flebbe@gmx.de>
+http://members.linuxstart.com/~oflebbe/perl/perl5.html
+
+=head1 LAST UPDATE
+
+2000-09-18
+
+=cut
index e12c60d..e850441 100644 (file)
@@ -243,22 +243,22 @@ fix is currently available.
 
 =head2 perl -P and //
 
-In HP-UX perl is compiled with flags that will cause problems if the
+In HP-UX Perl is compiled with flags that will cause problems if the
 -P flag of Perl (preprocess Perl code with the C preprocessor before
 perl sees it) is used.  The problem is that C<//>, being a C++-style
 until-end-of-line comment, will disappear along with the remainder
 of the line.  This means that common Perl constructs like
 
-       s/foo//;
+    s/foo//;
 
 will turn into illegal code
 
-       s/foo
+    s/foo
 
-The workaround is to use some other quoting characters than /,
-like for example !
+The workaround is to use some other quoting separator than C<"/">,
+like for example C<"!">:
 
-       s!foo!!;
+    s!foo!!;
 
 =head1 AUTHOR
 
index 9e0b51d..7976db5 100644 (file)
-Perl/iX for HP 3000 MPE
+If you read this file _as_is_, just ignore the funny characters you
+see. It is written in the POD format (see perlpod manpage) which is
+specially designed to be readable as is.
 
-http://www.cccd.edu/~markb/perlix.html
-Perl language for MPE
-Last updated July 15, 1998 @ 2030 UTC
+=head1 NAME
 
-  ------------------------------------------------------------------------
+README.mpeix - Perl/iX for HP e3000 MPE
+                                       
+=head1 SYNOPSIS
 
-What's New
+   http://www.bixby.org/mark/perlix.html
+   Perl language for MPE
+   Last updated June 2, 2000 @ 0400 UTC
+   
+=head1 NOTE
 
-   * July 15, 1998
-        o Changed startperl to #!/PERL/PUB/perl so that Perl will recognize
-          scripts more easily and efficiently.
-   * July 8, 1998
-        o Updated to version 5.004_70 (internal developer release) which is
-          now MPE-ready.  The next public freeware release of Perl should
-          compile "straight out of the box" on MPE.  Note that this version
-          of Perl/iX was strictly internal to me and never publicly
-          released.  Note that BIND/iX is now required (well, the include
-          files and libbind.a) if you wish to compile Perl/iX.
-   * November 6, 1997
-        o Updated to version 5.004_04.  No changes in MPE-specific
-          functionality.
+This is a podified version of the above-mentioned web page,
+podified by Jarkko Hietaniemi 2001-Jan-01.
 
-  ------------------------------------------------------------------------
+=head1 What's New
 
-Welcome
+June 1, 2000
+       
+=over 4
 
-This is the official home page for the HP 3000 MPE port of the Perl
-scripting language which gives you all of the power of C, awk, sed, and sh
-in a single language. Check here for the latest news, implemented
-functionality, known bugs, to-do list, etc. Status reports about major
-milestones will also be posted to the HP3000-L mailing list and its
-associated gatewayed newsgroup comp.sys.hp.mpe.
+=item *
 
-I'm doing this port because I can't live without Perl on the HPUX machines
-that I administer for the Coast Community College District, and I want to
-have the same power available to me on MPE.
+Rebuilt to be compatible with mod_perl.  If you plan on using
+mod_perl, you MUST download and install this version of Perl/iX!
+       
+=item *
 
-Please send your comments, questions, and bug reports directly to me, Mark
-Bixby, by e-mailing to markb@cccd.edu. Or just post them to HP3000-L. You
-can also telephone me at +1 714 438-4647 Monday-Friday 0815-1745 PDT
-(1615-0145 UTC).
+bincompat5005="undef": sorry, but you will have to recompile any
+binary 5.005 extensions that you may be using (if any; there is no
+5.005 code in what you download from bixby.org)
+uselargefiles="undef": not available in MPE for POSIX files yet.
+       
+=item *
 
-The platform I'm using to do this port is an HP 3000 969KS200 running
-MPE/iX 5.5 and using the gcc 2.8 compiler from
-http://www.interex.org/sources/freeware.html.
+Now bundled with various add-on packages:
 
-The combined porting wisdom from all of my ports can be found in my MPE/iX
-Porting Guide.
+=over 8
 
-  ------------------------------------------------------------------------
+=item *
 
-System Requirements
+libnet (http://www.gbarr.demon.co.uk/libnet/FAQ.html)
 
-   * MPE/iX 5.5 or later. This version of Perl/iX does NOT run on MPE/iX
-     5.0 or earlier, nor does it run on "classic" MPE/V machines.
-   * The Perl binary requires that you must have converted your NMRL
-     libraries in /lib/lib*.a and /usr/lib/lib*.a to NMXL libraries
-     /lib/lib*.sl and /usr/lib/lib*.sl via the LIBSHP3K script that comes
-     with the GNUCORE portion of the  FREEWARE tape.
-   * If you wish to recompile Perl, you must install both GNUCORE and
-     GNUGCC from the FREEWARE tape.
-   * Perl/iX will be happier if you install the MPEKX76A additional POSIX
-     filename characters patch, but this is optional.
-   * If you will be compiling Perl/iX yourself, you will also need the
-     /BIND/PUB/include and /BIND/PUB/lib portions of BIND/iX.
+=item *
 
-  ------------------------------------------------------------------------
+libwww-perl (LWP) which lets Perl programs behave like web browsers:
+       
+    1. #!/PERL/PUB/perl
+    2. use LWP::Simple;
+    3. $doc = get('http://www.bixby.org/mark/perlix.html');  # reads the
+       web page into variable $doc
+       
+(http://www.bixby.org/mark/perlix.html)
 
-Demos
+=item *
 
-Here is a brief selection of some sample Perl/iX uses:
+mod_perl (just the perl portion; the actual DSO will be released
+soon with Apache/iX 1.3.12 from bixby.org).  This module allows you to
+write high performance persistent Perl CGI scripts and all sorts of
+cool things. (http://perl.apache.org/)
+   
+and much much more hiding under /PERL/PUB/.cpan/
+   
+=item *
 
-   * A web feedback CGI form that lets a web browser user enter some data
-     and send e-mail to the person responsible for reading the feedback
-     comments.  The CGI is written in Perl and requires Sendmail/iX.
+The CPAN module now works for automatic downloading and
+installing of add-on packages:
 
-  ------------------------------------------------------------------------
+    1. export FTP_PASSIVE=1
+    2. perl -MCPAN -e shell
+    3. Ignore any terminal I/O related complaints!
+       
+(http://theoryx5.uwinnipeg.ca/CPAN/data/perl/CPAN.html)
 
-How to Obtain Perl/iX
+=back
 
-  1. Download Perl using either FTP.ARPA.SYS or some other client
-  2. Extract the installation script
-  3. Edit the installation script
-  4. Run the installation script
+=back
+
+May 20, 2000
+
+=over 4
+
+=item *
+
+Updated to version 5.6.0.  Builds straight out of the box on MPE/iX.
+
+=item *
+
+Perl's getpwnam() function which had regressed to being
+unimplemented on MPE is now implemented once again.
+       
+=back
+
+September 17, 1999
+
+=over 4
+
+=item *
+
+Migrated from cccd.edu to bixby.org.
+
+=back
+   
+=head1 Welcome
+
+This is the official home page for the HP e3000 MPE/iX
+(http://www.businessservers.hp.com/) port of the Perl scripting
+language (http://www.perl.com/) which gives you all of the power of C,
+awk, sed, and sh in a single language. Check here for the latest news,
+implemented functionality, known bugs, to-do list, etc. Status reports
+about major milestones will also be posted to the HP3000-L mailing list
+(http://www.lsoft.com/scripts/wl.exe?SL1=HP3000-L&H=RAVEN.UTC.EDU) and
+its associated gatewayed newsgroup comp.sys.hp.mpe.
+   
+I'm doing this port because I can't live without Perl on the Unix
+machines that I administer, and I want to have the same power
+available to me on MPE.
+   
+Please send your comments, questions, and bug reports directly to me,
+Mark Bixby (http://www.bixby.org/mark/), by e-mailing to
+mark@bixby.org. Or just post them to HP3000-L.
+   
+The platform I'm using to do this port is an HP 3000 957RX running
+MPE/iX 6.0 and using the GNU gcc C compiler
+(http://jazz.external.hp.com/src/gnu/gnuframe.html).
+   
+The combined porting wisdom from all of my ports can be found in my
+MPE/iX Porting Guide (http://www.bixby.org/mark/porting.html).
+   
+IMPORTANT NOTICE: Yes, I do work for the HP CSY R&D lab, but ALL of
+the software you download from bixby.org is my personal freeware that
+is NOT supported by HP.
+
+=head1 System Requirements
+
+=over 4
+
+=item *
+
+MPE/iX 5.5 or later. This version of Perl/iX does NOT run on
+MPE/iX 5.0 or earlier, nor does it run on "classic" MPE/V machines.
+
+=item *
+
+If you wish to recompile Perl, you must install both GNUCORE and
+GNUGCC from jazz (http://jazz.external.hp.com/src/gnu/gnuframe.html).
+
+=item *
+
+Perl/iX will be happier on MPE/iX 5.5 if you install the MPEKX40B
+extended POSIX filename characters patch, but this is optional.
+
+=item *
+
+Patch LBCJXT6A is required on MPE/iX 5.5 machines in order to
+prevent Perl/iX from dying with an unresolved external reference
+to _getenv_libc.
+
+=item *
+
+If you will be compiling Perl/iX yourself, you will also need
+Syslog/iX (http://www.bixby.org/mark/syslogix.html) and the
+/BIND/PUB/include and /BIND/PUB/lib portions of BIND/iX
+(http://www.bixby.org/mark/bindix.html).
+
+=back
+
+=head1 How to Obtain Perl/iX
+
+=over 4
+
+=item 1.
+
+Download Perl using either FTP.ARPA.SYS or some other client
+
+=item 2.
+
+Extract the installation script
+
+=item 3.
+
+Edit the installation script
+
+=item 4.
+
+Run the installation script
+
+=item 5.
+
+Convert your *.a system archive libraries to *.sl shared libraries
+       
+=back
 
 Download Perl using FTP.ARPA.SYS from your HP 3000 (the preferred
 method).....
-
-:HELLO MANAGER.SYS
-:XEQ FTP.ARPA.SYS
-open ftp.cccd.edu
-anonymous
-your@email.address
-bytestream
-cd /pub/mpe
-get perl5.005.tar.Z /tmp/perl.tar.Z
-exit
+  
+    :HELLO MANAGER.SYS
+    :XEQ FTP.ARPA.SYS
+    open ftp.bixby.org
+    anonymous
+    your@email.address
+    bytestream
+    cd /pub/mpe
+    get perl-5.6.0-mpe.tar.Z /tmp/perl.tar.Z;disc=2147483647
+    exit
 
 .....Or download using some other generic web or ftp client (the alternate
 method)
-
+  
 Download the following files (make sure that you use "binary mode" or
 whatever client feature that is 8-bit clean):
 
-   * Perl from http://www.cccd.edu/ftp/pub/mpe/perl5.005.tar.Z or
-     ftp://ftp.cccd.edu/pub/mpe/perl5.005.tar.Z
+=over 4
+
+=item *
+
+Perl from
+
+    http://www.bixby.org/ftp/pub/mpe/perl-5.6.0-mpe.tar.Z
+
+or
+
+    ftp://ftp.bixby.org/pub/mpe/perl-5.6.0-mpe.tar.Z
+       
+=item *
 
 Upload those files to your HP 3000 in an 8-bit clean bytestream manner to:
 
-   * /tmp/perl.tar.Z
+    /tmp/perl.tar.Z
+       
+=item *
 
 Then extract the installation script (after both download methods)
+  
+    :CHDIR /tmp
+    :XEQ TAR.HPBIN.SYS 'xvfopz /tmp/perl.tar.Z INSTALL'
 
-:CHDIR /tmp
-:XEQ TAR.HPBIN.SYS 'xvfopz /tmp/perl.tar.Z INSTALL'
+=item *
 
 Edit the installation script
+  
+Examine the accounting structure creation commands and modify if
+necessary (adding additional capabilities, choosing a non-system
+volume set, etc).
 
-Examine the accounting structure creation commands and modify if necessary
-(adding additional capabilities, choosing a non-system volume set, etc).
+    :XEQ VI.HPBIN.SYS /tmp/INSTALL
 
-:XEQ VI.HPBIN.SYS /tmp/INSTALL
-
-Run the installation script
+=item *
 
+Run the installation script.
+  
 The accounting structure will be created and then all files will be
 extracted from the archive.
 
-:XEQ SH.HPBIN.SYS /tmp/INSTALL
-
-  ------------------------------------------------------------------------
-
-Distribution Contents Highlights
-
-README
-     The file you're reading now.
-INSTALL
-     Perl/iX Installation script.
-PERL
-     Perl NMPRG executable.  A version-numbered backup copy also exists.
-     You might wish to "ln -s /PERL/PUB/PERL /usr/local/bin/perl".
-lib/
-     Perl libraries, both core and add-on.
-man/
-     Perl man page documentation.
-public_html/feedback.cgi
-     Sample feedback CGI form written in Perl.
-src/perl5.005
-     Source code.
-
-  ------------------------------------------------------------------------
-
-How to Compile Perl/iX
-
-  1. cd src/perl5.005
-  2. Read the INSTALL file for the official instructions
-  3. ./Configure
-  4. make
-  5. ./mpeix/relink
-  6. make test (expect 31 out of 5899 subtests to fail, mostly due to MPE
-     not supporting hard links and handling exit() return codes improperly)
-  7. make install
-  8. Optionally create symbolic links that point to the Perl executable,
-     i.e. ln -s /usr/local/bin/perl /PERL/PUB/PERL
+    :XEQ SH.HPBIN.SYS /tmp/INSTALL
+
+=item *
+
+Convert your *.a system archive libraries to *.sl shared libraries
+  
+You only have to do this ONCE on your MPE/iX 5.5 machine in order to
+convert /lib/lib*.a and /usr/lib/lib*.a libraries to their *.sl
+equivalents.  This step should not be necessary on MPE/iX 6.0 or later
+machines because the 6.0 or later update process does it for you.
+
+    :XEQ SH.HPBIN.SYS /PERL/PUB/LIBSHP3K
+
+=back
+
+=head1 Distribution Contents Highlights
+
+=over 4
+
+=item README
+
+The file you're reading now.
+          
+=item INSTALL
+
+Perl/iX Installation script.
+          
+=item LIBSHP3K
+
+Script to convert *.a system archive libraries to *.sl shared libraries.
+          
+=item PERL
+
+Perl NMPRG executable.  A version-numbered backup copy also
+exists.  You might wish to "ln -s /PERL/PUB/PERL /usr/local/bin/perl".
+          
+=item .cpan/
+
+Much add-on source code downloaded with the CPAN module.
+          
+=item lib/
+
+Perl libraries, both core and add-on.
+          
+=item man/
+
+Perl man page documentation.
+
+=item public_html/feedback.cgi
+
+Sample feedback CGI form written in Perl.
+          
+=item src/perl-5.6.0-mpe
+
+Source code.
+
+=back
+   
+=head1 How to Compile Perl/iX
+
+=over 4
+
+=item 1.
+
+cd src/perl-5.6.0-mpe
+
+=item 2.
+
+Read the INSTALL file for the official instructions
+
+=item 3.
+
+./Configure -d
+
+=item  4.
+
+make
+
+=item 5.
+
+./mpeix/relink
+
+=item  6.
+
+make test (expect approximately 15 out of 11306 subtests to fail,
+mostly due to MPE not supporting hard links, UDP socket problems,
+and handling exit() return codes improperly)
+
+=item 7.
+
+make install
+
+=item 8.
+
+Optionally create symbolic links that point to the Perl
+executable, i.e. ln -s /PERL/PUB/PERL /usr/local/bin/perl
+       
+=back
 
 The summary test results from "cd t; ./perl -I../lib harness":
 
-Failed Test  Status Wstat Total Fail  Failed  List of failed
--------------------------------------------------------------------------------
-io/fs.t                      26    8  30.77%  2-5, 7-9, 11
-io/pipe.t                    12    2  16.67%  11-12
-lib/posix.t                  18    1   5.56%  12
-op/die_exit.t                16   16 100.00%  1-16
-op/exec.t                     8    2  25.00%  5-6
-op/stat.t                    58    2   3.45%  3, 35
-Failed 6/183 test scripts, 96.72% okay. 31/5899 subtests failed, 99.47% okay.
-
-  ------------------------------------------------------------------------
-
-Getting Started with Perl/iX
-
-Create your Perl script files with "#!/PERL/PUB/perl" (or an equivalent
-symbolic link) as the first line.  Use the chmod command to make sure that
-your script has execute permission. Run your script!
-
-If you want to use Perl to write web server CGI scripts, obtain and install
-CGI.pm. Build CGI.pm and all other add-on modules below /PERL/PUB/src/.
-
-Be sure to take a look at the CPAN module list. A wide variety of free Perl
-software is available.
-
-  ------------------------------------------------------------------------
-
-MPE/iX Implementation Considerations
-
-There some minor functionality issues to be aware of when comparing Perl
-for Unix (Perl/UX) to Perl/iX:
-
-   * MPE gcc/ld doesn't properly support linking NMPRG executables against
-     NMXL dynamic libraries, so you must manually run mpeix/relink after
-     each re-build of Perl.
-   * Perl/iX File::Copy will use MPE's /bin/cp command to copy files by
-     name in order to preserve file attributes like file code.
-   * MPE (and thus Perl/iX) lacks support for setgrent(), endgrent(),
-     setpwent(), endpwent().
-   * MPE (and thus Perl/iX) lacks support for hard links.
-   * MPE requires GETPRIVMODE() in order to bind() to ports less than
-     1024.  Perl/iX will call GETPRIVMODE() automatically on your behalf if
-     you attempt to bind() to these low-numbered ports.  Note that the
-     Perl/iX executable and the PERL account do not normally have CAP=PM,
-     so if you will be bind()-ing to these privileged ports, you will
-     manually need to add PM capability as appropriate.
-   * MPE requires that you bind() to an IP address of zero.  Perl/iX
-     automatically replaces the IP address that you pass to bind() with a
-     zero.
-   * If you use Perl/iX fcntl() against a socket it will fail, because MPE
-     requires that you use sfcntl() instead.  Perl/iX does not presently
-     support sfcntl().
-   * MPE requires GETPRIVMODE() in order to setuid().  There are too many
-     calls to setuid() within Perl/iX, so I have not attempted an automatic
-     GETPRIVMODE() solution similar to bind().
-
-  ------------------------------------------------------------------------
-
-Known Bugs Under Investigation
-
-   * None
-
-  ------------------------------------------------------------------------
-
-To-Do List
-
-   * Make setuid()/setgid() support work.
-   * Make sure that fcntl() against a socket descriptor is redirected to
-     sfcntl().
-   * Add support for Berkeley DB once I've finished porting Berkeley DB.
-   * Write an MPE XS extension library containing miscellaneous important
-     MPE functions like GETPRIVMODE(), GETUSERMODE(), and sfcntl().
-
-  ------------------------------------------------------------------------
-
-Change History
-
-   * October 16, 1997
-        o Added Demos section to the Perl/iX home page so you can see some
-          sample Perl applications running on my 3000.
-   * October 3, 1997
-        o Added System Requirements section to the Perl/iX home page just
-          so the prerequisites stand out more. Various other home page
-          tweaks.
-   * October 2, 1997
-        o Initial public release.
-   * September 1997
-        o Porting begins.
-
-  ------------------------------------------------------------------------
-
-Mark Bixby, markb@cccd.edu
+  Failed Test  Status Wstat Total Fail  Failed  List of failed
+  ---------------------------------------------------------------------------
+  io/fs.t                      29    8  27.59%  2-5, 7-9, 11
+  io/openpid.t                 10    1  10.00%  7
+  lib/io_sock.t                14    1   7.14%  13
+  lib/io_udp.t                  7    2  28.57%  3, 5
+  lib/posix.t                  27    1   3.70%  12
+ &