From ecfc54246c2a6f42dc95b17a964a6048192067d2 Mon Sep 17 00:00:00 2001
From: Andy Dougherty <doughera@lafcol.lafayette.edu>
Date: Wed, 18 Jan 1995 03:44:04 +0000
Subject: perl5.000 patch.0g: [various portability fixes, and use latest
 metaconfig for Configure]

This patch incorporates various portability fixes and uses the latest
metaconfig to generate Configure (and config_h.SH).

It would take a long time to summarize all that I've changed.  I
haven't included many code changes because I'm trying *not* to
duplicate bug fixes Larry may already have applied.


Here's an older description I prepared that's still mostly accurate:

I've also included a few portability fixes in the main source, but
these are certainly not a complete set of everything that's been
reported.

Don't be put off by the size of the patch.  Mostly, it's just
rearrangement of the parts in Configure and some cosmetic changes.

Since gcc often supports long long, I had started to add quad support
to Configure.  Since SunOS 4.1.3 defines a conflicting "quad"
structure, I changed the name from 'quad' to Quad_t, consistent with
other Configure "types."  I also changed "QUAD" to "HAS_QUAD".
However, it turns out it's pretty hard to actually *use* Quad_t.
Neither system I have access to can sprintf() a "long long", nor can
they carry one around in an IV, unless I make IV "long long", which I
didn't want to force generally.  Thus I wonder whether any but a
precious few could actually use Quad_t, and dropped the tests from
Configure.  I left in the s/quad/Quad_t/ and s/QUAD/HAS_QUAD/ stuff in
case someone else wants to pick it up, and also because I was too lazy
to take it back out :-).

Some highlights:

Configure
    Several new options.  Use Configure -h to learn more.  Also,
        read the directions Configure prints. :-)
    Spaces now allowed in -D command line options.
    New -O option that overrides config.sh.
    You can start interactively and then change that to accepting
        all the defaults by specifying &-d at any Configure prompt.  This
        is useful if you have to re-run Configure to only change a few
        settings.
    Signal type set correctly for the cast{i32,neg} tests.
    archname detection improved a bit
    guard against ksh users who have set -u
    Oldconfig.U cleaned up and regularized a bit more.
    Guard against hint files using (and over-writing) $tmp.
    Command line options now are processed after metaconfig INIT
        lines.  Thus things like Configure -Uuseposix should work now.
    Various miscellaneous clean-ups.
    better use/detection of tr.
    i_db.U now checks for hash and prefix type (I think!)  I can't
        test it here.
    i_?db*.U now all check for an associated function before deciding
        to include or not the header.
MANIFEST
MANIFEST.new
        Sorted & updated.
Makefile.SH
    Some shells/makes bombed out on   test -d lib/auto || mkdir lib/auto
        Use makedir instead.
README
    Some additional notes that people won't read :-).
cflags.SH
        Now calls $startsh.  Weird things were happening on Intergraph,
and this might be related.
config.H
    Updated.
config_h.SH
    Regenerated.
deb.c
        Varargs dependencies on STANDARD_C replaced by I_STDARG.
doop.c
        quad stuff.
ext/DB_File/DB_File.xs
    Use the new DB_Hash_t and DB_Prefix_t symbols.
ext/SDBM_File/sdbm/sdbm.h
    Fix #defines to be more robust.
mg.c
    Replace VOIDSIG by metaconfig's Signal_t.
opcode.h
opcode.pl
    semop only takes 2 arguments, not 3.
perl.c
    Better guard on getenv() prototype.  A hint file can use this, if
        necessary.  Me, I think some compilers are just too picky.
perl.h
    The (very) beginnings of some Quad support.  See above.
    Remove the very troublesome sprintf() prototype.  Since we don't
        _use_ the return value anyway (since it's not portable) this
        should be o.k.  The problem was that some systems CAN_PROTOTYPE
        but include char *sprintf(); in <stdio.h>.  That's incompatible
        with the version we used to have in perl.h.  Most people have
        a prototype for sprintf() in <stdio.h>.  Those that don't probably
        can get by without it anyway.
    Protect the timesbuf by the specific HAS_TIMES test.  Some older
        gcc-2.something/Solaris 2.something installations apparently don't
        have times.
pp.c
    More quad stuff.
pp_ctl.c
    s/STANDARD_C/I_STDARG/ for varargs stuff.
pp_sys.c
    use Signal_t.
proto.h
   Update to match new metaconfig names.
util.c
    s/STANDARD_C/I_STDARG/ for varargs stuff.
    comment out <unistd.h>.  A pause prototype was causing problems on
        some systems.
vms/config.vms
    Changed to use Signal_t.
---
 MANIFEST | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

(limited to 'MANIFEST')

diff --git a/MANIFEST b/MANIFEST
index 735fb41fb5..78c73a0658 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -18,7 +18,7 @@ c2ph.SH			program to translate dbx stabs to perl
 c2ph.doc		documentation for c2ph
 cflags.SH		A script that emits C compilation flags per file
 config.H		Sample config.h
-config_h.SH             Produces config.h
+config_h.SH		Produces config.h
 configpm		Produces lib/Config.pm
 cop.h			Control operator header
 cv.h			Code value header
@@ -155,6 +155,7 @@ ext/util/make_ext	Used by Makefile to execute extension Makefiles
 ext/util/mkbootstrap	Turns ext/*/*_BS into bootstrap info
 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)
 gv.c			Glob value code
 gv.h			Glob value header
 h2ph.SH			A thing to turn C .h files into perl .ph files
@@ -180,6 +181,7 @@ hints/altos486.sh	Hints for named architecture
 hints/apollo.sh		Hints for named architecture
 hints/aux.sh		Hints for named architecture
 hints/bsd386.sh		Hints for named architecture
+hints/convexos.sh	Hints for named architecture
 hints/dec_osf.sh	Hints for named architecture
 hints/dgux.sh		Hints for named architecture
 hints/dnix.sh		Hints for named architecture
@@ -193,6 +195,7 @@ hints/hpux_9.sh		Hints for named architecture
 hints/i386.sh		Hints for named architecture
 hints/irix_4.sh		Hints for named architecture
 hints/irix_5.sh		Hints for named architecture
+hints/irix_6.sh		Hints for named architecture
 hints/isc.sh		Hints for named architecture
 hints/isc_2.sh		Hints for named architecture
 hints/linux.sh		Hints for named architecture
@@ -243,17 +246,17 @@ lib/File/Basename.pm	A module to emulate the basename program
 lib/File/CheckTree.pm	Perl module supporting wholesale file mode validation
 lib/File/Find.pm	Routines to do a find
 lib/FileHandle.pm	FileHandle methods
-lib/Shell.pm		A module to make AUTOLOADEed system() calls
 lib/Getopt/Long.pm	A module to fetch command options (GetOptions)
 lib/Getopt/Std.pm	A module to fetch command options (getopt, getopts)
 lib/I18N/Collate.pm	Routines to do strxfrm-based collation
 lib/IPC/Open2.pm	Open a two-ended pipe
 lib/IPC/Open3.pm	Open a three-ended pipe!
-lib/Math/BigInt.pm	An arbitrary precision integer arithmetic package
 lib/Math/BigFloat.pm	An arbitrary precision floating-point arithmetic package
+lib/Math/BigInt.pm	An arbitrary precision integer arithmetic package
 lib/Math/Complex.pm	A Complex package
 lib/Net/Ping.pm		Ping methods
 lib/Search/Dict.pm	A module to do binary search on dictionaries
+lib/Shell.pm		A module to make AUTOLOADEed system() calls
 lib/Sys/Hostname.pm	Hostname methods
 lib/Sys/Syslog.pm	Perl module supporting syslogging
 lib/Term/Cap.pm		Perl module supporting termcap usage
@@ -507,9 +510,9 @@ util.c			Utility routines
 util.h			Public declarations for the above
 vms/config.vms		VMS port
 vms/descrip.mms		VMS port
+vms/gen_shrfls.pl	VMS port
 vms/genconfig.pl	VMS port
 vms/genopt.com		VMS port
-vms/gen_shrfls.pl	VMS port
 vms/makefile.		VMS port
 vms/mms2make.pl		VMS port
 vms/perlshr.c		VMS port
@@ -524,6 +527,7 @@ writemain.SH		Generate perlmain.c from miniperlmain.c+extensions
 x2p/EXTERN.h		Same as above
 x2p/INTERN.h		Same as above
 x2p/Makefile.SH		Precursor to Makefile
+x2p/a2p.c		A byacc'ed a2p.y
 x2p/a2p.h		Global declarations
 x2p/a2p.man		Manual page for awk to perl translator
 x2p/a2p.y		A yacc grammer for awk
-- 
cgit v1.2.1