summaryrefslogtreecommitdiff
path: root/gnu/usr.bin/perl/hints
diff options
context:
space:
mode:
authorTodd C. Miller <millert@cvs.openbsd.org>1997-11-30 08:00:32 +0000
committerTodd C. Miller <millert@cvs.openbsd.org>1997-11-30 08:00:32 +0000
commit3d06de7fcff1d605886d3c63220956f7260ddb84 (patch)
treeda5aa4b971926e3ef1f9263bbdeb714053206d02 /gnu/usr.bin/perl/hints
parentc54c74271308a8fd18f1bc3a193343d079ebe481 (diff)
perl 5.004_04
Diffstat (limited to 'gnu/usr.bin/perl/hints')
-rw-r--r--gnu/usr.bin/perl/hints/3b1.sh4
-rw-r--r--gnu/usr.bin/perl/hints/README.hints90
-rw-r--r--gnu/usr.bin/perl/hints/aix.sh15
-rw-r--r--gnu/usr.bin/perl/hints/apollo.sh2
-rw-r--r--gnu/usr.bin/perl/hints/aux.sh20
-rw-r--r--gnu/usr.bin/perl/hints/bsdos.sh104
-rw-r--r--gnu/usr.bin/perl/hints/convexos.sh8
-rw-r--r--gnu/usr.bin/perl/hints/cxux.sh65
-rw-r--r--gnu/usr.bin/perl/hints/dec_osf.sh287
-rw-r--r--gnu/usr.bin/perl/hints/dgux.sh86
-rw-r--r--gnu/usr.bin/perl/hints/dnix.sh1
-rw-r--r--gnu/usr.bin/perl/hints/dynixptx.sh31
-rw-r--r--gnu/usr.bin/perl/hints/epix.sh2
-rw-r--r--gnu/usr.bin/perl/hints/esix4.sh4
-rw-r--r--gnu/usr.bin/perl/hints/freebsd.sh35
-rw-r--r--gnu/usr.bin/perl/hints/hpux.sh173
-rw-r--r--gnu/usr.bin/perl/hints/irix_4.sh4
-rw-r--r--gnu/usr.bin/perl/hints/irix_5.sh2
-rw-r--r--gnu/usr.bin/perl/hints/irix_6.sh145
-rw-r--r--gnu/usr.bin/perl/hints/irix_6_2.sh28
-rw-r--r--gnu/usr.bin/perl/hints/isc.sh6
-rw-r--r--gnu/usr.bin/perl/hints/linux.sh67
-rw-r--r--gnu/usr.bin/perl/hints/machten.sh54
-rw-r--r--gnu/usr.bin/perl/hints/machten_2.sh64
-rw-r--r--gnu/usr.bin/perl/hints/mips.sh4
-rw-r--r--gnu/usr.bin/perl/hints/mpeix.sh2
-rw-r--r--gnu/usr.bin/perl/hints/netbsd.sh55
-rw-r--r--gnu/usr.bin/perl/hints/next_3.sh116
-rw-r--r--gnu/usr.bin/perl/hints/next_3_0.sh31
-rw-r--r--gnu/usr.bin/perl/hints/os2.sh228
-rw-r--r--gnu/usr.bin/perl/hints/powerux.sh33
-rw-r--r--gnu/usr.bin/perl/hints/sco.sh70
-rw-r--r--gnu/usr.bin/perl/hints/sco_2_3_3.sh4
-rw-r--r--gnu/usr.bin/perl/hints/sco_2_3_4.sh4
-rw-r--r--gnu/usr.bin/perl/hints/solaris_2.sh62
-rw-r--r--gnu/usr.bin/perl/hints/sunos_4_0.sh1
-rw-r--r--gnu/usr.bin/perl/hints/sunos_4_1.sh59
-rw-r--r--gnu/usr.bin/perl/hints/svr4.sh35
-rw-r--r--gnu/usr.bin/perl/hints/titanos.sh11
-rw-r--r--gnu/usr.bin/perl/hints/ultrix_4.sh27
-rw-r--r--gnu/usr.bin/perl/hints/unicos.sh2
-rw-r--r--gnu/usr.bin/perl/hints/utekv.sh8
42 files changed, 1489 insertions, 560 deletions
diff --git a/gnu/usr.bin/perl/hints/3b1.sh b/gnu/usr.bin/perl/hints/3b1.sh
index 2ed65c591bc..991348af3ec 100644
--- a/gnu/usr.bin/perl/hints/3b1.sh
+++ b/gnu/usr.bin/perl/hints/3b1.sh
@@ -10,6 +10,6 @@ do
rm -f $i/3b1cc
ln ../hints/3b1cc $i
done
-echo "\nIf you want to use the 3b1 shared libraries, complete this script then"
-echo "read the header in 3b1cc. [Type carriage return to continue]\c"
+echo "\nIf you want to use the 3b1 shared libraries, complete this script then" >&4
+echo "read the header in 3b1cc. [Type carriage return to continue]\c" >&4
read vch
diff --git a/gnu/usr.bin/perl/hints/README.hints b/gnu/usr.bin/perl/hints/README.hints
index 6c67585561b..2c27068e385 100644
--- a/gnu/usr.bin/perl/hints/README.hints
+++ b/gnu/usr.bin/perl/hints/README.hints
@@ -1,61 +1,39 @@
These files are used by Configure to set things which Configure either
-can't or doesn't guess properly. Many of these hints files are from
-perl4. They may or may not work with perl5, but they are probably a
-good starting point.
+can't or doesn't guess properly. Most of these hint files have been
+tested with at least some version of perl5, but some are still left
+over from perl4. I would appreciate hearing about any problems
+or suggested changes.
-The following hints files have been tested with at least some version
-of perl5 and are probably reasonably close to being correct:
+Hint file naming convention: Each hint file name should have only
+one '.'. (This is for portability to non-unix filesystems.) Names
+should also fit in <= 14 characters, for portability to older SVR3
+systems. File names are of the form $osname_$osvers.sh, with all '.'
+changed to '_', and all characters such as '/' that don't belong in
+Unix filenames omitted.
-aix.sh
-aux.sh
-bsdos.sh
-dec_osf.sh
-dgux.sh
-esix4.sh
-freebsd.sh
-hpux_9.sh
-irix_4.sh
-irix_5.sh
-irix_6.sh
-irix_6_2.sh
-isc.sh
-linux.sh
-machten_2.sh
-machten.sh
-ncr_tower.sh
-netbsd.sh
-next_3_2.sh
-sco_3.sh
-solaris_2.sh
-sunos_4_1.sh
-svr4.sh
-titanos.sh
-ultrix_4.sh
-unicos.sh
-utekv.sh
+For example, consider SunOS 4.1.3. Configure determines $osname=sunos
+(all names are converted to lower case) and $osvers=4.1.3. Configure
+will search for an appropriate hint file in the following order:
-The following hints files have not been tested with perl5:
+ sunos_4_1_3.sh
+ sunos_4_1.sh
+ sunos_4.sh
+ sunos.sh
-3b1.sh
-altos486.sh
-apollo.sh
-dnix.sh
-dynix.sh
-fps.sh
-genix.sh
-greenhills.sh
-i386.sh
-isc_2.sh
-mips.sh
-mpc.sh
-opus.sh
-sco_2_3_0.sh
-sco_2_3_1.sh
-sco_2_3_2.sh
-sco_2_3_3.sh
-sco_2_3_4.sh
-stellar.sh
-sunos_4_0.sh
-ti1500.sh
-unisysdynix.sh
-uts.sh
+If you need to create a hint file, please try to use as general a name
+as possible and include minor version differences inside case or test
+statements. Be sure also to include a default choice. (See
+aix.sh for one example.) That way, if you write a hint file for
+foonix 3.2, it might still work without any changes when foonix 3.3 is
+released.
+
+Please also comment carefully on why the different hints are needed.
+That way, a future version of Configure may be able to automatically
+detect what is needed. A glossary of config.sh variables is in the
+file Porting/Glossary.
+
+Have the appropriate amount of fun :-)
+
+ Andy Dougherty doughera@lafcol.lafayette.edu
+ Dept. of Physics
+ Lafayette College, Easton PA 18042
diff --git a/gnu/usr.bin/perl/hints/aix.sh b/gnu/usr.bin/perl/hints/aix.sh
index a9f277eed19..2c42151ea61 100644
--- a/gnu/usr.bin/perl/hints/aix.sh
+++ b/gnu/usr.bin/perl/hints/aix.sh
@@ -17,6 +17,9 @@ alignbytes=8
usemymalloc='n'
+so="a"
+dlext="so"
+
# Make setsockopt work correctly. See man page.
# ccflags='-D_BSD=44'
@@ -30,13 +33,19 @@ case "$osvers" in
ccflags='-D_ALL_SOURCE'
;;
*) # These hints at least work for 4.x, possibly other systems too.
- d_setregid='undef'
- d_setreuid='undef'
- ccflags='-qmaxmem=8192 -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE'
+ ccflags='-D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE'
+ case "$cc" in
+ *gcc*) ;;
+ *) ccflags="-qmaxmem=8192 $ccflags" ;;
+ esac
nm_opt='-B'
;;
esac
+# These functions don't work like Perl expects them to.
+d_setregid='undef'
+d_setreuid='undef'
+
# The optimizer in 4.1.1 apparently generates bad code for scope.c.
# Configure doesn't offer an easy way to propagate extra variables
# only for certain cases, so the following contortion is required:
diff --git a/gnu/usr.bin/perl/hints/apollo.sh b/gnu/usr.bin/perl/hints/apollo.sh
index 26180396341..8c361aa0518 100644
--- a/gnu/usr.bin/perl/hints/apollo.sh
+++ b/gnu/usr.bin/perl/hints/apollo.sh
@@ -15,7 +15,7 @@ i_malloc='undef'
malloctype='void *'
# This info is left over from perl4.
-cat <<'EOF'
+cat <<'EOF' >&4
Some tests may fail unless you use 'chacl -B'. Also, op/stat
test 2 may fail occasionally because Apollo doesn't guarantee
that mtime will be equal to ctime on a newly created unmodified
diff --git a/gnu/usr.bin/perl/hints/aux.sh b/gnu/usr.bin/perl/hints/aux.sh
deleted file mode 100644
index add0f4dec8f..00000000000
--- a/gnu/usr.bin/perl/hints/aux.sh
+++ /dev/null
@@ -1,20 +0,0 @@
-# hints/aux.sh
-#
-# Improved by Jake Hamby <jehamby@lightside.com> to support both Apple CC
-# and GNU CC. Tested on A/UX 3.1.1 with GCC 2.6.3.
-# Last modified
-# Fri May 5 10:59:43 EDT 1995
-
-case "$cc" in
-gcc) optimize='-O2'
- ccflags="$ccflags -D_POSIX_SOURCE"
- echo "Setting hints for GNU CC."
- ;;
-*) optimize='-O'
- ccflags="$ccflags -B/usr/lib/big/ -DPARAM_NEEDS_TYPES -D_POSIX_SOURCE"
- POSIX_cflags='ccflags="$ccflags -ZP -Du_long=U32"'
- echo "Setting hints for Apple's CC. If you plan to use"
- echo "GNU CC, please rerun this Configure script as:"
- echo "./Configure -Dcc=gcc"
- ;;
-esac
diff --git a/gnu/usr.bin/perl/hints/bsdos.sh b/gnu/usr.bin/perl/hints/bsdos.sh
index aedf4b69676..53adfa3b501 100644
--- a/gnu/usr.bin/perl/hints/bsdos.sh
+++ b/gnu/usr.bin/perl/hints/bsdos.sh
@@ -1,40 +1,60 @@
# hints/bsdos.sh
#
-# hints file for BSD/OS 2.x (adapted from bsd386.sh)
-# Original by Neil Bowers <neilb@khoros.unm.edu>
-# Tue Oct 4 12:01:34 EDT 1994
-# Updated by Tony Sanders <sanders@bsdi.com>
-# Mon Nov 27 17:25:51 CST 1995
+# hints file for BSD/OS (adapted from bsd386.sh)
+# Original by Neil Bowers <neilb@khoros.unm.edu>; Tue Oct 4 12:01:34 EDT 1994
+# Updated by Tony Sanders <sanders@bsdi.com>; Sat Aug 23 12:47:45 MDT 1997
+# Added 3.1 with ELF dynamic libraries
+# SYSV IPC tested Ok so I re-enabled.
#
-# You can override the compiler and loader on the Configure command line:
-# ./Configure -Dcc=shlicc2 -Dld=shlicc2
-
-# filename extension for shared library objects
-so='o'
+# To override the compiler on the command line:
+# ./Configure -Dcc=gcc2
+#
+# The BSD/OS distribution is built with:
+# ./Configure -des -Dbsdos_distribution=defined
-# Don't use this for Perl 5.002, which needs parallel sig_name and sig_num lists
-#sig_name='ZERO HUP INT QUIT ILL TRAP IOT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM URG STOP TSTP CONT CHLD TTIN TTOU IO XCPU XFSZ VTALRM PROF WINCH INFO USR1 USR2 '
signal_t='void'
d_voidsig='define'
-d_dosuid='define'
+
+usemymalloc='n'
+
+# setre?[ug]id() have been replaced by the _POSIX_SAVED_IDS versions.
+# See http://www.bsdi.com/bsdi-man?setuid(2)
+d_setregid='undef'
+d_setreuid='undef'
+d_setrgid='undef'
+d_setruid='undef'
# we don't want to use -lnm, since exp() is busted (in 1.1 anyway)
set `echo X "$libswanted "| sed -e 's/ nm / /'`
shift
libswanted="$*"
-# BSD/OS X libraries are in their own tree
+# X libraries are in their own tree
glibpth="$glibpth /usr/X11/lib"
ldflags="$ldflags -L/usr/X11/lib"
# Avoid telldir prototype conflict in pp_sys.c
pp_sys_cflags='ccflags="$ccflags -DHAS_TELLDIR_PROTOTYPE"'
+case "$optimize" in
+'') optimize='-O2' ;;
+esac
+
case "$bsdos_distribution" in
-defined)
- d_portable='no'
+''|undef|false) ;;
+*)
+ d_dosuid='define'
+ d_portable='undef'
prefix='/usr/contrib'
+ perlpath='/usr/bin/perl5'
+ startperl='#!/usr/bin/perl5'
+ scriptdir='/usr/contrib/bin'
+ privlib='/usr/libdata/perl5'
+ man1dir='/usr/contrib/man/man1'
man3dir='/usr/contrib/man/man3'
+ # phlib added by BSDI -- we share the *.ph include dir with perl4
+ phlib="/usr/libdata/perl5/site_perl/$(arch)-$osname/include"
+ phlibexp="/usr/libdata/perl5/site_perl/$(arch)-$osname/include"
;;
esac
@@ -49,51 +69,41 @@ case "$osvers" in
'') cc='gcc2' ;;
esac
;;
-2.0*)
+2.0*|2.1*|3.0*)
+ so='o'
+
# default to GCC 2.X w/shared libraries
case "$cc" in
- '') cc='shlicc2' ;;
+ '') cc='shlicc2'
+ cccdlflags=' ' ;; # Avoid the dreaded -fpic
esac
# default ld to shared library linker
case "$ld" in
- '') ld='shlicc2' ;;
+ '') ld='shlicc2'
+ lddlflags='-r' ;; # this one is necessary
esac
- # setre?[ug]id() have been replaced by the _POSIX_SAVED_IDS stuff
- # in 4.4BSD-based systems (including BSD/OS 2.0 and later).
- # See http://www.bsdi.com/bsdi-man?setuid(2)
- d_setregid='undef'
- d_setreuid='undef'
- d_setrgid='undef'
- d_setruid='undef'
+ # Must preload the static shared libraries.
+ libswanted="Xpm Xaw Xmu Xt SM ICE Xext X11 $libswanted"
+ libswanted="rpc curses termcap $libswanted"
;;
-2.1*)
- # Use 2.1's shlicc2 for dynamic linking
- # Since cc -o is linking, use it for compiling too.
- # I'm not sure whether Configure is careful about
- # distinguishing between the two.
+3.1*)
+ # ELF dynamic link libraries starting in 3.1
+ useshrplib='true'
+ so='so'
+ dlext='so'
case "$cc" in
- '') cc='shlicc2'
- cccdlflags=' ' ;; # Avoid the dreaded -fpic
+ '') cc='cc' # cc is gcc2 in 3.1
+ cccdlflags="-fPIC"
+ ccdlflags=" " ;;
esac
- # Link with shared libraries in 2.1
- # Turns out that shlicc2 will automatically use the
- # shared libs, so don't explicitly specify -lc_s.2.1.*
case "$ld" in
- '') ld='shlicc2'
- lddlflags='-r' ;; # this one is necessary
+ '') ld='ld'
+ lddlflags="-shared -x $lddlflags" ;;
esac
-
- # setre?[ug]id() have been replaced by the _POSIX_SAVED_IDS stuff
- # in 4.4BSD-based systems (including BSD/OS 2.0 and later).
- # See http://www.bsdi.com/bsdi-man?setuid(2)
- # This stuff may or may not be right, but it works.
- d_setregid='undef'
- d_setreuid='undef'
- d_setrgid='undef'
- d_setruid='undef'
;;
esac
+
diff --git a/gnu/usr.bin/perl/hints/convexos.sh b/gnu/usr.bin/perl/hints/convexos.sh
index f0ce4097563..9f6d702b06c 100644
--- a/gnu/usr.bin/perl/hints/convexos.sh
+++ b/gnu/usr.bin/perl/hints/convexos.sh
@@ -10,11 +10,3 @@
set X $myuname
shift
osvers=$4
-# ConvexOS 10.2 uses POSIX process group semantics for getpgrp but
-# BSD semantics for setpgrp. Perl assumes you don't have such
-# a mixed system, so we undef d_getpgrp.
-# Andy Dougherty doughera@lafcol.lafayette.edu
-#
-case "$osvers" in
-10.2) d_getpgrp='undef' ;;
-esac
diff --git a/gnu/usr.bin/perl/hints/cxux.sh b/gnu/usr.bin/perl/hints/cxux.sh
index 66608decef0..e3ac086e235 100644
--- a/gnu/usr.bin/perl/hints/cxux.sh
+++ b/gnu/usr.bin/perl/hints/cxux.sh
@@ -1,37 +1,38 @@
-# Hints for the CX/UX 7.1 operating system running on Harris NightHawk
-# machines. written by Tom.Horsley@mail.hcsc.com
+#! /local/gnu/bin/bash
+# Hints for the CX/UX 7.1 operating system running on Concurrent (formerly
+# Harris) NightHawk machines. written by Tom.Horsley@mail.ccur.com
#
-# This config is setup for dynamic linking and the Harris C compiler.
+# This config is setup for dynamic linking and the Concurrent C compiler.
# Check some things and print warnings if this isn't going to work...
#
case ${SDE_TARGET:-ELF} in
[Cc][Oo][Ff][Ff]|[Oo][Cc][Ss]) echo ''
- echo ''
- echo WARNING: Do not build perl 5 with the SDE_TARGET set to
- echo generate coff object - perl 5 must be built in the ELF
- echo environment.
- echo ''
+ echo '' >&2
+ echo WARNING: Do not build perl 5 with the SDE_TARGET set to >&2
+ echo generate coff object - perl 5 must be built in the ELF >&2
+ echo environment. >&2
+ echo '' >&2
echo '';;
[Ee][Ll][Ff]) : ;;
- *) echo ''
- echo 'Unknown SDE_TARGET value: '$SDE_TARGET
- echo '';;
+ *) echo '' >&2
+ echo 'Unknown SDE_TARGET value: '$SDE_TARGET >&2
+ echo '' >&2 ;;
esac
case `uname -r` in
[789]*) : ;;
*) echo ''
- echo ''
- echo WARNING: Perl 5 requires shared library support, it cannot
- echo be built on releases of CX/UX prior to 7.0 with this hints
- echo file. You\'ll have to do a separate port for the statically
- echo linked COFF environment.
- echo ''
+ echo '' >&2
+ echo WARNING: Perl 5 requires shared library support, it cannot >&2
+ echo be built on releases of CX/UX prior to 7.0 with this hints >&2
+ echo file. You\'ll have to do a separate port for the statically >&2
+ echo linked COFF environment. >&2
+ echo '' >&2
echo '';;
esac
-# Internally at Harris, we use a source management tool which winds up
+# Internally at Concurrent, we use a source management tool which winds up
# giving us read-only copies of source trees that are mostly symbolic links.
# That upsets the perl build process when it tries to edit opcode.h and
# embed.h or touch perly.c or perly.h, so turn those files into "real" files
@@ -60,16 +61,18 @@ libswanted=`echo ' '$libswanted' ' | sed -e 's/ malloc / /'`
#
glibpth="/usr/sde/elf/usr/lib $glibpth"
-# Need to use Harris cc for most of these options to be meaningful (if you
-# want to get this to work with gcc, you're on your own :-). Passing
+# Need to use Concurrent cc for most of these options to be meaningful (if
+# you want to get this to work with gcc, you're on your own :-). Passing
# -Bexport to the linker when linking perl is important because it leaves
# the interpreter internal symbols visible to the shared libs that will be
-# loaded on demand (and will try to reference those symbols). The -u
-# option to drag 'sigaction' into the perl main program is to make sure
-# it gets defined for the posix shared library (for some reason sigaction
-# is static, rather than being defined in libc.so.1).
+# loaded on demand (and will try to reference those symbols). The -u option
+# to drag 'sigaction' into the perl main program is to make sure it gets
+# defined for the posix shared library (for some reason sigaction is static,
+# rather than being defined in libc.so.1). The 88110compat option makes sure
+# the code will run on both 88100 and 88110 machines. The define is added to
+# trigger a work around for a compiler bug which shows up in pp.c.
#
-cc='/bin/cc -Xa'
+cc='/bin/cc -Xa -Qtarget=M88110compat -DCXUX_BROKEN_CONSTANT_CONVERT'
cccdlflags='-Zelf -Zpic'
ccdlflags='-Zelf -Zlink=dynamic -Wl,-Bexport -u sigaction'
lddlflags='-Zlink=so'
@@ -91,11 +94,13 @@ i_ndbm='undef'
d_mymalloc='undef'
usemymalloc='n'
-cat <<'EOM'
+cat <<'EOM' >&4
-You will get a failure on lib/posix.t test 16 because ungetc() on
-stdin does not work if no characters have been read from stdin.
-If you type a character at the terminal where you are running
-the tests, you can fool it into thinking it worked.
+WARNING: If you are using ksh to run the Configure script, you may find it
+failing in mysterious ways (such as failing to find library routines which
+are known to exist). Configure seems to push ksh beyond its limits
+sometimes. Try using env to strip unnecessary things out of the environment
+and run Configure with /sbin/sh. That sometimes seems to produce more
+accurate results.
EOM
diff --git a/gnu/usr.bin/perl/hints/dec_osf.sh b/gnu/usr.bin/perl/hints/dec_osf.sh
index bfd235faaf9..255505b087f 100644
--- a/gnu/usr.bin/perl/hints/dec_osf.sh
+++ b/gnu/usr.bin/perl/hints/dec_osf.sh
@@ -1,11 +1,280 @@
# hints/dec_osf.sh
+
+# * If you want to debug perl or want to send a
+# stack trace for inclusion into an bug report, call
+# Configure with the additional argument -Doptimize=-g2
+# or uncomment this assignment to "optimize":
+#
+#optimize=-g2
+#
+# If you want both to optimise and debug with the DEC cc
+# you must have -g3, e.g. "-O4 -g3", and (re)run Configure.
+#
+# * gcc can always have both -g and optimisation on.
+#
+# * debugging optimised code, no matter what compiler
+# one is using, can be surprising and confusing because of
+# the optimisation tricks like code motion, code removal,
+# loop unrolling, and inlining. The source code and the
+# executable code simply do not agree any more while in
+# mid-execution, the optimiser only cares about the results.
+#
+# * Configure will automatically add the often quoted
+# -DDEBUGGING for you if the -g is specified.
+#
+# * There is even more optimisation available in the new
+# (GEM) DEC cc: -O5 and -fast. "man cc" will tell more about them.
+# The jury is still out whether either or neither help for Perl
+# and how much. Based on very quick testing, -fast boosts
+# raw data copy by about 5-15% (-fast brings in, among other
+# things, inlined, ahem, fast memcpy()), while on the other
+# hand searching things (index, m//, s///), seems to get slower.
+# Your mileage will vary.
+#
+# * The -std is needed because the following compiled
+# without the -std and linked with -lm
+#
+# #include <math.h>
+# #include <stdio.h>
+# int main(){short x=10,y=sqrt(x);printf("%d\n",y);}
+#
+# will in Digital UNIX 3.* and 4.0b print 0 -- and in Digital
+# UNIX 4.0{,a} dump core: Floating point exception in the printf(),
+# the y has become a signaling NaN.
+#
+# * Compilation warnings like:
+#
+# "Undefined the ANSI standard macro ..."
+#
+# can be ignored, at least while compiling the POSIX extension
+# and especially if using the sfio (the latter is not a standard
+# part of Perl, never mind if it says little to you).
+#
+
+# If using the DEC compiler we must find out the DEC compiler style:
+# the style changed between Digital UNIX (aka DEC OSF/1) 3 and
+# Digital UNIX 4. The old compiler was originally from Ultrix and
+# the MIPS company, the new compiler is originally from the VAX world
+# and it is called GEM. Many of the options we are going to use depend
+# on the compiler style.
+
+# do NOT, I repeat, *NOT* take away those leading tabs
+ # reset
+ _DEC_uname_r=
+ _DEC_cc_style=
+ # set
+ _DEC_uname_r=`uname -r`
+ # _DEC_cc_style set soon below
+# Configure Black Magic (TM)
+
+case "$cc" in
+*gcc*) ;; # pass
+*) # compile something small: taint.c is fine for this.
+ # the main point is the '-v' flag of 'cc'.
+ case "`cc -v -I. -c taint.c -o /tmp/taint$$.o 2>&1`" in
+ */gemc_cc*) # we have the new DEC GEM CC
+ _DEC_cc_style=new
+ ;;
+ *) # we have the old MIPS CC
+ _DEC_cc_style=old
+ ;;
+ esac
+ # cleanup
+ rm -f /tmp/taint$$.o
+ ;;
+esac
+
+# be nauseatingly ANSI
+case "$cc" in
+*gcc*) ccflags="$ccflags -ansi"
+ ;;
+*) ccflags="$ccflags -std"
+ ;;
+esac
+
+# for gcc the Configure knows about the -fpic:
+# position-independent code for dynamic loading
+
+# we want optimisation
+
+case "$optimize" in
+'') case "$cc" in
+ *gcc*)
+ optimize='-O3' ;;
+ *) case "$_DEC_cc_style" in
+ new) optimize='-O4' ;;
+ old) optimize='-O2 -Olimit 3200' ;;
+ esac
+ ccflags="$ccflags -D_INTRINSICS"
+ ;;
+ esac
+ ;;
+esac
+
+# dlopen() is in libc
+libswanted="`echo $libswanted | sed -e 's/ dl / /'`"
+
+# libPW contains nothing useful for perl
+libswanted="`echo $libswanted | sed -e 's/ PW / /'`"
+
+# libnet contains nothing useful for perl here, and doesn't work
+libswanted="`echo $libswanted | sed -e 's/ net / /'`"
+
+# libbsd contains nothing used by perl that is not already in libc
+libswanted="`echo $libswanted | sed -e 's/ bsd / /'`"
+
+# libc need not be separately listed
+libswanted="`echo $libswanted | sed -e 's/ c / /'`"
+
+# ndbm is already in libc
+libswanted="`echo $libswanted | sed -e 's/ ndbm / /'`"
+
+# the basic lddlflags used always
+lddlflags='-shared -expect_unresolved "*"'
+
+# Fancy compiler suites use optimising linker as well as compiler.
+# <spider@Orb.Nashua.NH.US>
+case "$_DEC_uname_r" in
+*[123].*) # old loader
+ lddlflags="$lddlflags -O3"
+ ;;
+*) lddlflags="$lddlflags $optimize -msym"
+ # -msym: If using a sufficiently recent /sbin/loader,
+ # keep the module symbols with the modules.
+ ;;
+esac
+# Yes, the above loses if gcc does not use the system linker.
+# If that happens, let me know about it. <jhi@iki.fi>
+
+
+# If debugging or (old systems and doing shared)
+# then do not strip the lib, otherwise, strip.
+# As noted above the -DDEBUGGING is added automagically by Configure if -g.
case "$optimize" in
-'')
- case "$cc" in
- *gcc*) ;;
- *) optimize='-O2 -Olimit 2900' ;;
- esac
- ;;
-esac
-ccflags="$ccflags -DSTANDARD_C"
-lddlflags='-shared -expect_unresolved "*" -s -hidden'
+ *-g*) ;; # left intentionally blank
+*) case "$_DEC_uname_r" in
+ *[123].*)
+ case "$useshrplib" in
+ false|undef|'') lddlflags="$lddlflags -s" ;;
+ esac
+ ;;
+ *) lddlflags="$lddlflags -s"
+ ;;
+ esac
+ ;;
+esac
+
+#
+# Unset temporary variables no more needed.
+#
+
+unset _DEC_cc_style
+unset _DEC_uname_r
+
+#
+# History:
+#
+# perl5.004_04:
+#
+# 19-Sep-1997 Spider Boardman <spider@Orb.Nashua.NH.US>
+#
+# * libnet on Digital UNIX is for JAVA, not for sockets.
+#
+#
+# perl5.003_28:
+#
+# 22-Feb-1997 Jarkko Hietaniemi <jhi@iki.fi>
+#
+# * Restructuring Spider's suggestions.
+#
+# * Older Digital UNIXes cannot handle -Olimit ... for $lddlflags.
+#
+# * ld -s cannot be used in older Digital UNIXes when doing shared.
+#
+#
+# 21-Feb-1997 Spider Boardman <spider@Orb.Nashua.NH.US>
+#
+# * -hidden removed.
+#
+# * -DSTANDARD_C removed.
+#
+# * -D_INTRINSICS added. (that -fast does not seem to buy much confirmed)
+#
+# * odbm not in libc, only ndbm. Therefore dbm back to $libswanted.
+#
+# * -msym for the newer runtime loaders.
+#
+# * $optimize also in $lddflags.
+#
+#
+# perl5.003_27:
+#
+# 18-Feb-1997 Jarkko Hietaniemi <jhi@iki.fi>
+#
+# * unset _DEC_cc_style and more commentary on -std.
+#
+#
+# perl5.003_26:
+#
+# 15-Feb-1997 Jarkko Hietaniemi <jhi@iki.fi>
+#
+# * -std and -ansi.
+#
+#
+# perl5.003_24:
+#
+# 30-Jan-1997 Jarkko Hietaniemi <jhi@iki.fi>
+#
+# * Fixing the note on -DDEBUGGING.
+#
+# * Note on -O5 -fast.
+#
+#
+# perl5.003_23:
+#
+# 26-Jan-1997 Jarkko Hietaniemi <jhi@iki.fi>
+#
+# * Notes on how to do both optimisation and debugging.
+#
+#
+# 25-Jan-1997 Jarkko Hietaniemi <jhi@iki.fi>
+#
+# * Remove unneeded libraries from $libswanted: PW, bsd, c, dbm
+#
+# * Restructure the $lddlflags build.
+#
+# * $optimize based on which compiler we have.
+#
+#
+# perl5.003_22:
+#
+# 23-Jan-1997 Achim Bohnet <ach@rosat.mpe-garching.mpg.de>
+#
+# * Added comments 'how to create a debugging version of perl'
+#
+# * Fixed logic of this script to prevent stripping of shared
+# objects by the loader (see ld man page for -s) is debugging
+# is set via the -g switch.
+#
+#
+# 21-Jan-1997 Achim Bohnet <ach@rosat.mpe-garching.mpg.de>
+#
+# * now 'dl' is always removed from libswanted. Not only if
+# optimize is an empty string.
+#
+#
+# 17-Jan-1997 Achim Bohnet <ach@rosat.mpe-garching.mpg.de>
+#
+# * Removed 'dl' from libswanted: When the FreePort binary
+# translator for Sun binaries is installed Configure concludes
+# that it should use libdl.x.yz.fpx.so :-(
+# Because the dlopen, dlclose,... calls are in the
+# C library it not necessary at all to check for the
+# dl library. Therefore dl is removed from libswanted.
+#
+#
+# 1-Jan-1997 Achim Bohnet <ach@rosat.mpe-garching.mpg.de>
+#
+# * Set -Olimit to 3200 because perl_yylex.c got too big
+# for the optimizer.
+#
diff --git a/gnu/usr.bin/perl/hints/dgux.sh b/gnu/usr.bin/perl/hints/dgux.sh
index bc54c945bd1..03b285dbd4a 100644
--- a/gnu/usr.bin/perl/hints/dgux.sh
+++ b/gnu/usr.bin/perl/hints/dgux.sh
@@ -1,13 +1,13 @@
-# $Id: dgux.sh,v 1.4 1996/01/18 03:40:38 roderick Exp $
+# $Id: dgux.sh,v 1.8 1996-11-29 18:16:43-05 roderick Exp $
# This is a hints file for DGUX, which is Data General's Unix. It was
-# developed using version 5.4.3.10 of the OS. I think the gross
-# features should work with versions 5.4.2 through 5.4.4.11 with perhaps
-# minor tweaking, but I don't have any older or newer versions installed
-# at the moment with which to test it.
+# originally developed with version 5.4.3.10 of the OS, and then was
+# later updated running under version 4.11.2 (running on m88k hardware).
+# The gross features should work with versions going back to 2.nil but
+# some tweaking will probably be necessary.
#
# DGUX is a SVR4 derivative. It ships with gcc as the standard
-# compiler. Since version 5.4.3.0 it has shipped with Perl 4.036
+# compiler. Since version 3.0 it has shipped with Perl 4.036
# installed in /usr/bin, which is kind of neat. Be careful when you
# install that you don't overwrite the system version, though (by
# answering yes to the question about installing perl as /usr/bin/perl),
@@ -18,7 +18,7 @@
# your $LD_LIBRARY_PATH to include the source directory when you build,
# test and install the software.
#
-# -Roderick Schertler <roderick@gate.net>
+# -Roderick Schertler <roderick@argon.org>
# Here are the things from some old DGUX hints files which are different
@@ -34,7 +34,7 @@
# cppstdin='/lib/cpp'
#
# The 4.036 and 5.001 hints files both contained these. The 5.001 hints
-# file said it was developed with version 5.4.2.01 of DGUX.
+# file said it was developed with version 2.01 of DGUX.
#
# gidtype='gid_t'
# groupstype='gid_t'
@@ -53,7 +53,7 @@
#
# One last note: The 5.001 hints file said "you don't want to use
# /usr/ucb/cc" in the place at which it set cc to gcc. That in
-# particular baffles me, as I used to have 5.4.2.01 loaded and my memory
+# particular baffles me, as I used to have 2.01 loaded and my memory
# is telling me that even then /usr/ucb was a symlink to /usr/bin.
@@ -82,8 +82,45 @@ usevfork=true
# $plibpth to explicitly include the place to which the elinks point
# allows Configure to find libraries which vary based on the development
# environment.
-plibpth="$plibpth \
- ${SDE_PATH:-/usr}/sde/${TARGET_BINARY_INTERFACE:-m88kdgux}/usr/lib"
+#
+# Starting with version 4.10 (the first time the OS supported Intel
+# hardware) all libraries are accessed with this mechanism.
+#
+# The default $TARGET_BINARY_INTERFACE changed with version 4.10. The
+# system now comes with a link named /usr/sde/default which points to
+# the proper entry, but older versions lacked this and used m88kdgux
+# directly.
+
+: && sde_path=${SDE_PATH:-/usr}/sde # hide from Configure
+while : # dummy loop
+do
+ if [ -n "$TARGET_BINARY_INTERFACE" ]
+ then set X "$TARGET_BINARY_INTERFACE"
+ else set X default dg m88k_dg ix86_dg m88kdgux m88kdguxelf
+ fi
+ shift
+ default_sde=$1
+ for sde
+ do
+ [ -d "$sde_path/$sde" ] && break 2
+ done
+ cat <<END >&2
+
+NOTE: I can't figure out what SDE is used by default on this machine (I
+didn't find a likely directory under $sde_path). This is bad news. If
+this is a R4.10 or newer system I'm not going to be able to find any of
+your libraries, if this system is R3.10 or older I won't be able to find
+the math library. You should re-run Configure with the environment
+variable TARGET_BINARY_INTERFACE set to the proper value for this
+machine, see sde(5) and the notes in hints/dgux.sh.
+
+END
+ sde=$default_sde
+ break
+done
+
+plibpth="$plibpth $sde_path/$sde/usr/lib"
+unset sde_path default_sde sde
# Many functions (eg, gethostent(), killpg(), getpriority(), setruid()
# dbm_*(), and plenty more) are defined in -ldgc. Usually you don't
@@ -93,31 +130,12 @@ plibpth="$plibpth \
libswanted="dgc $libswanted"
# Dynamic loading works using the dlopen() functions. Note that dlfcn.h
-# is broken, it declares _dl*() rather than dl*(). (This is in my
-# I'd-open-a-ticket-about-this-if-it-weren't-going-to-be-such-a-hassle
-# file.) You can ignore the warnings caused by the missing
-# declarations, they're harmless.
+# used to be broken, it declared _dl*() rather than dl*(). This was the
+# case up to 3.10, it has been fixed in 4.11. I'm not sure if it was
+# fixed in 4.10. If you have the older header just ignore the warnings
+# (since pointers and integers have the same format on m88k).
usedl=true
# For cc rather than gcc the flags would be `-K PIC' for compiling and
# -G for loading. I haven't tested this.
cccdlflags=-fpic
lddlflags=-shared
-# The Perl library has to be built as a shared library so that dynamic
-# loading will work (otherwise code loaded with dlopen() won't be able
-# to reference symbols in the main part of perl). Note that since
-# Configure doesn't normally prompt about $d_shrplib this will cause a
-# `Whoa there!'. This is normal, just keep the recommended value. A
-# consequence of all this is that you've got to include the source
-# directory in your LD_LIBRARY_PATH when you're building and testing
-# perl.
-d_shrplib=define
-
-# The system has a function called dg_flock() which is an flock()
-# emulation built using fcntl() locking. Perl currently comes with an
-# flock() emulation which uses lockf(), it should eventually also
-# include an fcntl() emulation of its own. Until that happens I
-# recommend using DG's emulation (and ignoring the `WHOA THERE!' this
-# causes), it provides semantics closer to the original than the lockf()
-# emulation.
-ccflags="$ccflags -Dflock=dg_flock"
-d_flock=define
diff --git a/gnu/usr.bin/perl/hints/dnix.sh b/gnu/usr.bin/perl/hints/dnix.sh
deleted file mode 100644
index 5b67dab8f2d..00000000000
--- a/gnu/usr.bin/perl/hints/dnix.sh
+++ /dev/null
@@ -1 +0,0 @@
-optimize='-g'
diff --git a/gnu/usr.bin/perl/hints/dynixptx.sh b/gnu/usr.bin/perl/hints/dynixptx.sh
index d44f6b82cde..78a45e42a31 100644
--- a/gnu/usr.bin/perl/hints/dynixptx.sh
+++ b/gnu/usr.bin/perl/hints/dynixptx.sh
@@ -8,32 +8,17 @@ lddlflags='-G'
# Remove inet to avoid this error in Configure, which causes Configure
# to be unable to figure out return types:
# dynamic linker: ./ssize: can't find libinet.so,
-# link with -lsocket instead of -l inet
+# link with -lsocket instead of -linet
libswanted=`echo $libswanted | sed -e 's/ inet / /'`
# Configure defaults to usenm='y', which doesn't work very well
usenm='n'
-# The Perl library has to be built as a shared library so that dynamic
-# loading will work (otherwise code loaded with dlopen() won't be able
-# to reference symbols in the main part of perl). Note that since
-# Configure doesn't normally prompt about $d_shrplib this will cause a
-# `Whoa there!'. This is normal, just keep the recommended value. A
-# consequence of all this is that you've got to include the source
-# directory in your LD_LIBRARY_PATH when you're building and testing
-# perl.
-d_shrplib=define
-
-cat <<'EOM' >&4
-
-If you get a 'Whoa there!' with regard to d_shrplib, you can ignore
-it, and just keep the recommended value.
-
-If you wish to use dynamic linking, you must use
- LD_LIBRARY_PATH=`pwd`; export LD_LIBRARY_PATH
-or
- setenv LD_LIBRARY_PATH `pwd`
-before running make.
-
-EOM
+# Reported by bruce@aps.org ("Bruce P. Schuck") as needed for
+# DYNIX/ptx 4.0 V4.2.1 to get socket i/o to work
+# Not defined by default in case they break other versions.
+# These probably need to be worked into a piece of code that
+# checks for the need for this setting.
+# cppflags='-Wc,+abi-socket -I/usr/local/include'
+# ccflags='-Wc,+abi-socket -I/usr/local/include'
diff --git a/gnu/usr.bin/perl/hints/epix.sh b/gnu/usr.bin/perl/hints/epix.sh
index 25e357328f1..b91537a202a 100644
--- a/gnu/usr.bin/perl/hints/epix.sh
+++ b/gnu/usr.bin/perl/hints/epix.sh
@@ -28,7 +28,7 @@ usrinc='/svr4/usr/include'
strings='/svr4/usr/include/string.h'
timeincl='/svr4/usr/include/sys/time.h '
libc='/svr4/usr/lib/libc.a'
-libpth='/svr4/usr/lib /svr4/usr/lib/cmplrs/cc /usr/ccs/lib /svr4/lib /svr4/usr/ucblib'
+glibpth="/svr4/usr/lib /svr4/usr/lib/cmplrs/cc /usr/ccs/lib /svr4/lib /svr4/usr/ucblib $glibpth"
osname='epix2'
archname='epix2'
d_suidsafe='define' # "./Configure -d" can't figure this out easilly
diff --git a/gnu/usr.bin/perl/hints/esix4.sh b/gnu/usr.bin/perl/hints/esix4.sh
index c8dec8a8b8e..3d3145d2550 100644
--- a/gnu/usr.bin/perl/hints/esix4.sh
+++ b/gnu/usr.bin/perl/hints/esix4.sh
@@ -19,7 +19,7 @@ if test "$osvers" = "3.0"; then
d_gconvert='undef'
grep 'define[ ]*AF_OSI[ ]' /usr/include/sys/socket.h | grep '/\*[^*]*$' >/tmp/esix$$
if test -s /tmp/esix$$; then
- cat <<EOM
+ cat <<EOM >&2
WARNING: You are likely to have problems compiling the Socket extension
unless you fix the unterminated comment for AF_OSI in the file
@@ -30,7 +30,7 @@ EOM
rm -f /tmp/esix$$
fi
-cat <<'EOM'
+cat <<'EOM' >&4
If you wish to use dynamic linking, you must use
LD_LIBRARY_PATH=`pwd`; export LD_LIBRARY_PATH
diff --git a/gnu/usr.bin/perl/hints/freebsd.sh b/gnu/usr.bin/perl/hints/freebsd.sh
index 1e92053cf54..6ce5fa720c7 100644
--- a/gnu/usr.bin/perl/hints/freebsd.sh
+++ b/gnu/usr.bin/perl/hints/freebsd.sh
@@ -14,6 +14,10 @@
# Ollivier Robert <Ollivier.Robert@keltia.frmug.fr.net>
# Date: Fri, 12 May 1995 14:30:38 +0200 (MET DST)
#
+# Additional 2.2 defines from
+# Mark Murray <mark@grondar.za>
+# Date: Wed, 6 Nov 1996 09:44:58 +0200 (MET)
+#
# The two flags "-fpic -DPIC" are used to indicate a
# will-be-shared object. Configure will guess the -fpic, (and the
# -DPIC is not used by perl proper) but the full define is included to
@@ -43,16 +47,41 @@ case "$osvers" in
d_setruid='undef'
;;
#
-# Trying to cover 2.0.5, 2.1-current and future 2.1
+# Trying to cover 2.0.5, 2.1-current and future 2.1/2.2
# It does not covert all 2.1-current versions as the output of uname
# changed a few times.
#
+# Even though seteuid/setegid are available, they've been turned off
+# because perl isn't coded with saved set[ug]id variables in mind.
+# In addition, a small patch is requried to suidperl to avoid a security
+# problem with FreeBSD.
+#
2.0.5*|2.0-built*|2.1*)
usevfork='true'
+ usemymalloc='n'
+ d_setregid='define'
+ d_setreuid='define'
+ d_setegid='undef'
+ d_seteuid='undef'
+ test -r ./broken-db.msg && . ./broken-db.msg
+ ;;
+#
+# 2.2 and above have phkmalloc(3).
+# don't use -lmalloc (maybe there's an old one from 1.1.5.1 floating around)
+2.2*)
+ usevfork='true'
+ usemymalloc='n'
+ libswanted=`echo $libswanted | sed 's/ malloc / /'`
+ d_setregid='define'
+ d_setreuid='define'
+ d_setegid='undef'
+ d_seteuid='undef'
;;
#
-# Guesses at what will be needed after 2.1
+# Guesses at what will be needed after 2.2
*) usevfork='true'
+ usemymalloc='n'
+ libswanted=`echo $libswanted | sed 's/ malloc / /'`
;;
esac
@@ -69,7 +98,7 @@ esac
# Configure should test for this. Volunteers?
pp_sys_cflags='ccflags="$ccflags -DHAS_TELLDIR_PROTOTYPE"'
-cat <<'EOM'
+cat <<'EOM' >&4
Some users have reported that Configure halts when testing for
the O_NONBLOCK symbol with a syntax error. This is apparently a
diff --git a/gnu/usr.bin/perl/hints/hpux.sh b/gnu/usr.bin/perl/hints/hpux.sh
index 8eaf272d70e..c2500d0c370 100644
--- a/gnu/usr.bin/perl/hints/hpux.sh
+++ b/gnu/usr.bin/perl/hints/hpux.sh
@@ -1,24 +1,68 @@
+#! /bin/sh
+
# hints/hpux.sh
-# Perl Configure hints file for Hewlett Packard HP/UX 9.x and 10.x
-# This file is based on
-# hints/hpux_9.sh, Perl Configure hints file for Hewlett Packard HP/UX 9.x
+# Perl Configure hints file for Hewlett-Packard's HP-UX 9.x and 10.x
+# (Hopefully, 7.x through 11.x.)
+#
+# This file is based on hints/hpux_9.sh, Perl Configure hints file for
+# Hewlett Packard HP-UX 9.x
+#
# Use Configure -Dcc=gcc to use gcc.
-# From: Jeff Okamoto <okamoto@hpcc123.corp.hp.com>
-# Date: Thu, 28 Sep 95 11:06:07 PDT
+#
+# From: Jeff Okamoto <okamoto@corp.hp.com>
# and
-# hints/hpux_10.sh, Perl Configure hints file for Hewlett Packard HP/UX 10.x
+# hints/hpux_10.sh, Perl Configure hints file for Hewlett Packard HP-UX 10.x
# From: Giles Lean <giles@nemeton.com.au>
-# Date: Tue, 27 Jun 1995 08:17:45 +1000
+# and
+# Use #define CPU_* instead of comments for >= 10.x.
+# Support PA1.2 under 10.x.
+# Distinguish between PA2.0, PA2.1, etc.
+# Distinguish between MC68020, MC68030, MC68040
+# Don't assume every OS != 10 is < 10, (e.g., 11).
+# From: Chuck Phillips <cdp@fc.hp.com>
+# This version: August 15, 1997
+# Current maintainer: Jeff Okamoto <okamoto@corp.hp.com>
+
+#--------------------------------------------------------------------
# Use Configure -Dcc=gcc to use gcc.
# Use Configure -Dprefix=/usr/local to install in /usr/local.
-
-# Some users have reported problems with dynamic loading if the
-# environment variable LDOPTS='-a archive' .
+#
+# You may have dynamic loading problems if the environment variable
+# LDOPTS='-a archive'. Under >= 10.x, you can instead LDOPTS='-a
+# archive_shared' to prefer archive libraries without requiring them.
+# Regardless of HPUX release, in the "libs" variable or the ext.libs
+# file, you can always give explicit path names to archive libraries
+# that may not exist on the target machine. E.g., /usr/lib/libndbm.a
+# instead of -lndbm. See also note below on ndbm.
+#
+# ALSO, bear in mind that gdbm and Berkely DB contain incompatible
+# replacements for ndbm (and dbm) routines. If you want concurrent
+# access to ndbm files, you need to make sure libndbm is linked in
+# *before* gdbm and Berkely DB. Lastly, remember to check the
+# "ext.libs" file which is *probably* messing up the order. Often,
+# you can replace ext.libs with an empty file to fix the problem.
+#
+# If you get a message about "too much defining", you might have to
+# add the following to your ccflags: '-Wp,-H256000'
+#--------------------------------------------------------------------
# Turn on the _HPUX_SOURCE flag to get many of the HP add-ons
+# regardless of compiler. For the HP ANSI C compiler, you may also
+# want to include +e to enable "long long" and "long double".
+#
+# HP compiler flags to include (if at all) *both* as part of ccflags
+# and cc itself so Configure finds (and builds) everything
+# consistently:
+# -Aa -D_HPUX_SOURCE +e
+#
+# Lastly, you may want to include the "-z" HP linker flag so that
+# reading from a NULL pointer causes a SEGV.
ccflags="$ccflags -D_HPUX_SOURCE"
-ldflags="$ldflags"
+
+# If you plan to use gcc, then you should uncomment the following line
+# so you get the HP math library and not the GCC math library.
+# ccflags="$ccflags -L/lib/pa1.1"
# Check if you're using the bundled C compiler. This compiler doesn't support
# ANSI C (the -Aa flag) nor can it produce shared libraries. Thus we have
@@ -28,7 +72,7 @@ case "$cc" in
then
case "$usedl" in
'') usedl="$undef"
- cat <<'EOM'
+ cat <<'EOM' >&4
The bundled C compiler can not produce shared libraries, so you will
not be able to use dynamic loading.
@@ -39,49 +83,48 @@ EOM
else
ccflags="$ccflags -Aa" # The add-on compiler supports ANSI C
fi
+ # For HP's ANSI C compiler, up to "+O3" is safe for everything
+ # except shared libraries (PIC code). Max safe for PIC is "+O2".
+ # Setting both causes innocuous warnings.
+ #optimize='+O3'
+ #cccdlflags='+z +O2'
optimize='-O'
;;
esac
# Determine the architecture type of this system.
-xxuname=`uname -r`
-if echo $xxuname | $contains '10'
+# Keep leading tab below -- Configure Black Magic -- RAM, 03/02/97
+ xxOsRevMajor=`uname -r | sed -e 's/^[^0-9]*//' | cut -d. -f1`;
+ #xxOsRevMinor=`uname -r | sed -e 's/^[^0-9]*//' | cut -d. -f2`;
+if [ "$xxOsRevMajor" -ge 10 ]
then
- # This system is running 10.0
- xxcontext=`grep $(printf %#x $(getconf CPU_VERSION)) /usr/include/sys/unistd.h`
- if echo "$xxcontext" | $contains 'PA-RISC1.1'
- then
- archname='PA-RISC1.1'
- elif echo "$xxcontext" | $contains 'PA-RISC1.0'
- then
- archname='PA-RISC1.0'
- elif echo "$xxcontext" | $contains 'PA-RISC2'
- then
- archname='PA-RISC2'
- else
- echo "This 10.0 system is of a PA-RISC type I don't recognize."
- echo "Debugging output: $xxcontext"
- archname=''
- fi
+ # This system is running >= 10.x
+
+ # Tested on 10.01 PA1.x and 10.20 PA[12].x. Idea: Scan
+ # /usr/include/sys/unistd.h for matches with "#define CPU_* `getconf
+ # CPU_VERSION`" to determine CPU type. Note the part following
+ # "CPU_" is used, *NOT* the comment.
+ #
+ # ASSUMPTIONS: Numbers will continue to be defined in hex -- and in
+ # /usr/include/sys/unistd.h -- and the CPU_* #defines will be kept
+ # up to date with new CPU/OS releases.
+ xxcpu=`getconf CPU_VERSION`; # Get the number.
+ xxcpu=`printf '0x%x' $xxcpu`; # convert to hex
+ archname=`sed -n -e "s/^#[ \t]*define[ \t]*CPU_//p" /usr/include/sys/unistd.h |
+ sed -n -e "s/[ \t]*$xxcpu[ \t].*//p" |
+ sed -e s/_RISC/-RISC/ -e s/HP_// -e s/_/./`;
else
- # This system is not running 10.0
- xxcontext=`/bin/getcontext`
- if echo "$xxcontext" | $contains 'PA-RISC1.1'
- then
- archname='PA-RISC1.1'
- elif echo "$xxcontext" | $contains 'PA-RISC1.0'
- then
- archname='PA-RISC1.0'
- elif echo "$xxcontext" | $contains 'HP-MC'
- then
- archname='HP-MC68K'
- else
- echo "I cannot recognize what chip set this system is using."
- echo "Debugging output: $xxcontext"
- archname=''
- fi
+ # This system is running <= 9.x
+ # Tested on 9.0[57] PA and [78].0 MC680[23]0. Idea: After removing
+ # MC6888[12] from context string, use first CPU identifier.
+ #
+ # ASSUMPTION: Only CPU identifiers contain no lowercase letters.
+ archname=`getcontext | tr ' ' '\012' | grep -v '[a-z]' | grep -v MC688 |
+ sed -e 's/HP-//' -e 1q`;
+ selecttype='int *'
fi
+
# Remove bad libraries that will cause problems
# (This doesn't remove libraries that don't actually exist)
# -lld is unneeded (and I can't figure out what it's used for anyway)
@@ -91,27 +134,29 @@ fi
# The libraries crypt, malloc, ndir, and net are empty.
# Although -lndbm should be included, it will make perl blow up if you should
# copy the binary to a system without libndbm.sl. See ccdlflags below.
-set `echo " $libswanted " | sed -e 's@ ld @ @' -e 's@ dbm @ @' -e 's@ BSD @ @' -e 's@ PW @ @'`
+set `echo " $libswanted " | sed -e 's@ ld @ @' -e 's@ dbm @ @' -e 's@ BSD @ @' -e 's@ PW @ @'`
libswanted="$*"
-# By setting the deferred flag below, this means that if you run perl on a
-# system that does not have the required shared library that you linked it
-# with, it will die when you try to access a symbol in the (missing) shared
-# library. If you would rather know at perl startup time that you are
-# missing an important shared library, switch the comments so that immediate,
-# rather than deferred loading is performed.
-# ccdlflags="-Wl,-E $ccdlflags"
+# By setting the deferred flag below, this means that if you run perl
+# on a system that does not have the required shared library that you
+# linked it with, it will die when you try to access a symbol in the
+# (missing) shared library. If you would rather know at perl startup
+# time that you are missing an important shared library, switch the
+# comments so that immediate, rather than deferred loading is
+# performed. Even with immediate loading, you can postpone errors for
+# undefined (or multiply defined) routines until actual access by
+# adding the "nonfatal" option.
+# ccdlflags="-Wl,-E -Wl,-B,immediate $ccdlflags"
+# ccdlflags="-Wl,-E -Wl,-B,immediate,-B,nonfatal $ccdlflags"
ccdlflags="-Wl,-E -Wl,-B,deferred $ccdlflags"
usemymalloc='y'
alignbytes=8
-selecttype='int *'
+# For native nm, you need "-p" to produce BSD format output.
+nm_opt='-p'
-# There are some lingering issues about whether g/setpgrp should be a part
-# of the perl core. This setting should cause perl to conform to the Principle
-# of Least Astonishment. The best thing is to use the g/setpgrp in the POSIX
-# module.
-d_bsdpgrp='define'
+# When HP-UX runs a script with "#!", it sets argv[0] to the script name.
+toke_cflags='ccflags="$ccflags -DARG_ZERO_IS_SCRIPT"'
# If your compile complains about FLT_MIN, uncomment the next line
# POSIX_cflags='ccflags="$ccflags -DFLT_MIN=1.17549435E-38"'
@@ -121,3 +166,11 @@ d_bsdpgrp='define'
case "$prefix" in
'') prefix='/opt/perl5' ;;
esac
+
+# Date: Fri, 6 Sep 96 23:15:31 CDT
+# From: "Daniel S. Lewart" <d-lewart@uiuc.edu>
+# I looked through the gcc.info and found this:
+# * GNU CC compiled code sometimes emits warnings from the HP-UX
+# assembler of the form:
+# (warning) Use of GR3 when frame >= 8192 may cause conflict.
+# These warnings are harmless and can be safely ignored.
diff --git a/gnu/usr.bin/perl/hints/irix_4.sh b/gnu/usr.bin/perl/hints/irix_4.sh
index f934ac7725d..f5883f38cb7 100644
--- a/gnu/usr.bin/perl/hints/irix_4.sh
+++ b/gnu/usr.bin/perl/hints/irix_4.sh
@@ -7,7 +7,7 @@ d_voidsig=define
d_charsprf=undef
case "$cc" in
-*gcc) ccflags="$ccflags -D_BSD_TYPES" ;;
+*gcc*) ccflags="$ccflags -D_BSD_TYPES" ;;
*) ccflags="$ccflags -ansiposix -signed" ;;
esac
@@ -17,7 +17,7 @@ esac
# I don't know if they affect versions of perl other than 5.000 or
# versions of IRIX other than 4.0.4.
#
-cat <<'EOM'
+cat <<'EOM' >&4
If you have problems, you might have try including
-DSTANDARD_C -cckr
in ccflags.
diff --git a/gnu/usr.bin/perl/hints/irix_5.sh b/gnu/usr.bin/perl/hints/irix_5.sh
index 5027b1574f8..e4d03473281 100644
--- a/gnu/usr.bin/perl/hints/irix_5.sh
+++ b/gnu/usr.bin/perl/hints/irix_5.sh
@@ -11,7 +11,7 @@ ld=ld
i_time='define'
case "$cc" in
-*gcc) ccflags="$ccflags -D_BSD_TYPES" ;;
+*gcc*) ccflags="$ccflags -D_BSD_TYPES" ;;
*) ccflags="$ccflags -D_POSIX_SOURCE -ansiposix -D_BSD_TYPES -Olimit 3000" ;;
esac
diff --git a/gnu/usr.bin/perl/hints/irix_6.sh b/gnu/usr.bin/perl/hints/irix_6.sh
index 38fe27d282c..795b6ab640d 100644
--- a/gnu/usr.bin/perl/hints/irix_6.sh
+++ b/gnu/usr.bin/perl/hints/irix_6.sh
@@ -1,43 +1,114 @@
-# irix_6.sh
-# from Krishna Sethuraman, krishna@sgi.com
-# Date: Wed Jan 18 11:40:08 EST 1995
-# added `-32' to force compilation in 32-bit mode.
-# otherwise, copied from irix_5.sh.
-
-# Perl built with this hints file under IRIX 6.0.1 passes
-# all tests (`make test').
-
-# Tue Jan 2 14:52:36 EST 1996
-# Apparently, there's a stdio bug that can lead to memory
-# corruption using perl's malloc, but not SGI's malloc.
-usemymalloc='n'
-
-ld=ld
-i_time='define'
-cc="cc -32"
-ccflags="$ccflags -D_POSIX_SOURCE -ansiposix -D_BSD_TYPES -Olimit 3000"
-lddlflags="-32 -shared"
+# hints/irix_6.sh
+#
+# original from Krishna Sethuraman, krishna@sgi.com
+#
+# Modified Mon Jul 22 14:52:25 EDT 1996
+# Andy Dougherty <doughera@lafcol.lafayette.edu>
+# with help from Dean Roehrich <roehrich@cray.com>.
+# cc -n32 update info from Krishna Sethuraman, krishna@sgi.com.
+# additional update from Scott Henry, scotth@sgi.com
+
+# Futzed with by John Stoffel <jfs@fluent.com> on 4/24/1997
+# - assumes 'cc -n32' by default
+# - tries to check for various compiler versions and do the right
+# thing when it can
+# - warnings turned off (-n32 messages):
+# 1116 - non-void function should return a value
+# 1048 - cast between pointer-to-object and pointer-to-function
+# 1042 - operand types are incompatible
+
+# Tweaked by Chip Salzenberg <chip@perl.com> on 5/13/97
+# - don't assume 'cc -n32' if the n32 libm.so is missing
+
+# Use sh Configure -Dcc='cc -n32' to try compiling with -n32.
+# or -Dcc='cc -n32 -mips3' (or -mips4) to force (non)portability
+# Don't bother with -n32 unless you have the 7.1 or later compilers.
+# But there's no quick and light-weight way to check in 6.2.
+
+# Let's assume we want to use 'cc -n32' by default, unless the
+# necessary libm is missing (which has happened at least twice)
+case "$cc" in
+'')
+ if test -f /usr/lib32/libm.so
+ then
+ cc='cc -n32'
+ fi ;;
+esac
+
+# Check for which compiler we're using
+
+case "$cc" in
+*"cc -n32"*)
+
+ # Check for which version of the compiler we're running
+ case "`$cc -version 2>&1`" in
+ *7.0*) # Mongoose 7.0
+ ccflags="$ccflags -D_BSD_TYPES -D_BSD_TIME -woff 1009,1042,1048,1110,1116,1184 -OPT:Olimit=0"
+ optimize='none'
+ ;;
+ *7.*) # Mongoose 7.1+
+ ccflags="$ccflags -D_BSD_TYPES -D_BSD_TIME -woff 1009,1110,1184 -OPT:Olimit=0"
+ optimize='-O3'
+ ;;
+ *6.2*) # Ragnarok 6.2
+ ccflags="$ccflags -D_BSD_TYPES -D_BSD_TIME -woff 1009,1110,1184"
+ optimize='none'
+ ;;
+ *) # Be safe and not optimize
+ ccflags="$ccflags -D_BSD_TYPES -D_BSD_TIME -woff 1009,1110,1184 -OPT:Olimit=0"
+ optimize='none'
+ ;;
+ esac
+
+ ld=ld
+ ldflags=' -L/usr/local/lib -L/usr/lib32 -L/lib32'
+ cccdlflags=' '
+ # From: David Billinghurst <David.Billinghurst@riotinto.com.au>
+ # If you get complaints about so_locations then change the following
+ # line to something like:
+ # lddlflags="-n32 -shared -check_registry /usr/lib32/so_locations"
+ lddlflags="-n32 -shared"
+ libc='/usr/lib32/libc.so'
+ plibpth='/usr/lib32 /lib32 /usr/ccs/lib'
+ nm_opt='-p'
+ nm_so_opt='-p'
+ ;;
+*)
+ # this is needed to force the old-32 paths
+ # since the system default can be changed.
+ ccflags="$ccflags -32 -D_BSD_TYPES -D_BSD_TIME -Olimit 3100"
+ optimize='-O'
+ ;;
+esac
+
+# This should be a Configure thing, but not for now...
+pp_sys_cflags='ccflags="$ccflags -DHAS_TELLDIR_PROTOTYPE"'
# We don't want these libraries. Anyone know why?
set `echo X "$libswanted "|sed -e 's/ socket / /' -e 's/ nsl / /' -e 's/ dl / /'`
shift
libswanted="$*"
+
+# I have conflicting reports about the sun, crypt, bsd, and PW
+# libraries on Irix 6.2.
+#
+# One user rerports:
+# Don't need sun crypt bsd PW under 6.2. You *may* need to link
+# with these if you want to run perl built under 6.2 on a 5.3 machine
+# (I haven't checked)
#
-# The following might be of interest if you wish to try 64-bit mode:
-# irix_6_64bit.sh
-# Krishna Sethuraman, krishna@sgi.com
-# taken from irix_5.sh . Changes from irix_5.sh:
-# Olimit and nested comments (warning 1009) no longer accepted
-# -OPT:fold_arith_limit so POSIX module will optimize
-# no 64bit versions of sun, crypt, nsl, socket, dl dso's available
-# as of IRIX 6.0.1 so omit those from libswanted line via `sed'.
-
-# perl 5 built with this hints file passes most tests (`make test').
-# Fails on op/subst test only. (built and tested under IRIX 6.0.1).
-
-# i_time='define'
-# ccflags="$ccflags -D_POSIX_SOURCE -ansiposix -D_BSD_TYPES -woff 1009 -OPT:fold_arith_limit=1046"
-# lddlflags="-shared"
-# set `echo X "$libswanted "|sed -e 's/ socket / /' -e 's/ sun / /' -e 's/ crypt / /' -e 's/ nsl / /' -e 's/ dl / /'`
-# shift
-# libswanted="$*"
+# Another user reported that if he included those libraries, a large number
+# of the tests failed (approx. 20-25) and he would get a core dump. To
+# make things worse, test results were inconsistent, i.e., some of the
+# tests would pass some times and fail at other times.
+# The safest thing to do seems to be to eliminate them.
+#
+# Actually, the only libs that you want are '-lm'. Everything else
+# you need is in libc. You do also need '-lbsd' if you choose not
+# to use the -D_BSD_* defines. Note that as of 6.2 the only
+# difference between '-lmalloc' and '-lc' malloc is the debugging
+# and control calls. -- scotth@sgi.com
+
+set `echo X "$libswanted "|sed -e 's/ sun / /' -e 's/ crypt / /' -e 's/ bsd / /' -e 's/ PW / /'`
+shift
+libswanted="$*"
diff --git a/gnu/usr.bin/perl/hints/irix_6_2.sh b/gnu/usr.bin/perl/hints/irix_6_2.sh
deleted file mode 100644
index 111c4ad02ca..00000000000
--- a/gnu/usr.bin/perl/hints/irix_6_2.sh
+++ /dev/null
@@ -1,28 +0,0 @@
-# irix_6_2.sh
-# from Krishna Sethuraman, krishna@sgi.com
-# Date: Tue Aug 22 00:38:26 PDT 1995
-# removed -ansiposix and -D_POSIX_SOURCE cuz it was choking
-
-# Perl built with this hints file under IRIX 6.2 passes
-# all tests (`make test').
-
-ld=ld
-i_time='define'
-cc="cc -32"
-ccflags="$ccflags -D_BSD_TYPES -D_BSD_TIME -Olimit 3000"
-#ccflags="$ccflags -Olimit 3000" # this line builds perl but not tk (beta 8)
-lddlflags="-32 -shared"
-# Configure would suggest the default -Kpic, which won't work for SGI.
-# Configure will respect this blank hint value instead.
-cccdlflags=' '
-
-# We don't want these libraries. Anyone know why?
-set `echo X "$libswanted "|sed -e 's/ socket / /' -e 's/ nsl / /' -e 's/ dl / /'`
-shift
-libswanted="$*"
-# Don't need sun crypt bsd PW under 6.2. You *may* need to link
-# with these if you want to run perl built under 6.2 on a 5.3 machine
-# (I haven't checked)
-#set `echo X "$libswanted "|sed -e 's/ sun / /' -e 's/ crypt / /' -e 's/ bsd / /' -e 's/ PW / /'`
-#shift
-#libswanted="$*"
diff --git a/gnu/usr.bin/perl/hints/isc.sh b/gnu/usr.bin/perl/hints/isc.sh
index df745a9b252..43b70fde366 100644
--- a/gnu/usr.bin/perl/hints/isc.sh
+++ b/gnu/usr.bin/perl/hints/isc.sh
@@ -28,6 +28,12 @@ case "$cc" in
;;
esac
+# getsockname() and getpeername() return 256 for no good reason
+ccflags="$ccflags -DBOGUS_GETNAME_RETURN=256"
+
+# rename(2) can't rename long filenames
+d_rename=undef
+
# You can also include -D_SYSV3 to pick up "traditionally visible"
# symbols hidden by name-space pollution rules. This raises some
# compilation "redefinition" warnings, but they appear harmless.
diff --git a/gnu/usr.bin/perl/hints/linux.sh b/gnu/usr.bin/perl/hints/linux.sh
index b76ee89e515..8ddb765e1e0 100644
--- a/gnu/usr.bin/perl/hints/linux.sh
+++ b/gnu/usr.bin/perl/hints/linux.sh
@@ -15,6 +15,9 @@
# Updated Fri Jun 21 11:07:54 EDT 1996
# NDBM support for ELF renabled by <kjahds@kjahds.com>
+# No version of Linux supports setuid scripts.
+d_suidsafe='undef'
+
# perl goes into the /usr tree. See the Filesystem Standard
# available via anonymous FTP at tsx-11.mit.edu in
# /pub/linux/docs/linux-standards/fsstnd.
@@ -26,6 +29,14 @@ esac
# gcc-2.6.3 defines _G_HAVE_BOOL to 1, but doesn't actually supply bool.
ccflags="-Dbool=char -DHAS_BOOL $ccflags"
+# libc6, aka glibc2, seems to need STRUCT_TM_HASZONE defined.
+# Thanks to Bart Schuller <schuller@Lunatech.com>
+# See Message-ID: <19971009002636.50729@tanglefoot>
+# This is currently commented out for maintenance releases
+# but should probably be uncommented for 5.005 or after
+# more widespread testing.
+#POSIX_cflags='ccflags="$ccflags -DSTRUCT_TM_HASZONE"'
+
# BSD compatability library no longer needed
set `echo X "$libswanted "| sed -e 's/ bsd / /'`
shift
@@ -134,8 +145,8 @@ fi
rm -f try.c a.out
if /bin/bash -c exit; then
- echo
- echo You appear to have a working bash. Good.
+ echo ''
+ echo 'You appear to have a working bash. Good.'
else
cat << 'EOM' >&4
@@ -148,16 +159,46 @@ EOM
fi
-# Avoid some troublesome gcvt() functions. With some libc versions,
-# perl -e '$x=1e5; print "$x\n";' prints 1e+5. We'd like it
-# to print 100000 instead, consistent with the integer value given
-# on other platforms. This isn't a bug in gcvt, really; more in our
-# expectations for it. We'd like it to behave exactly as
-# sprintf %.16g, but it isn't documented to do that.
-#
-# We'll use sprintf() instead, since we can control the output more
-# precisely.
+# On SPARClinux,
+# The following csh consistently coredumped in the test directory
+# "/home/mikedlr/perl5.003_94/t", though not most other directories.
+
+#Name : csh Distribution: Red Hat Linux (Rembrandt)
+#Version : 5.2.6 Vendor: Red Hat Software
+#Release : 3 Build Date: Fri May 24 19:42:14 1996
+#Install date: Thu Jul 11 16:20:14 1996 Build Host: itchy.redhat.com
+#Group : Shells Source RPM: csh-5.2.6-3.src.rpm
+#Size : 184417
+#Description : BSD c-shell
+
+# For this reason I suggest using the much bug-fixed tcsh for globbing
+# where available.
+
+if [ ! "`csh -c 'echo $version' 2>/dev/null`" ]
+then
+ echo 'Real csh found (might break); looking for tcsh ...'
+ # Use ../UU/loc to find tcsh. (We run in the hints/ directory.)
+ if xxx=`../UU/loc tcsh blurfl $pth`; $test -f "$xxx"; then
+ echo "Found tcsh. I'll use it for globbing."
+ # We can't change Configure's setting of $csh, due to the way
+ # Configure handles $d_portable and commands found in $loclist.
+ # We can set the value for CSH in config.h by setting full_csh.
+ full_csh=$xxx
+ else
+ echo "Couldn't find tcsh. BEWARE: GLOBBING MIGHT BE BROKEN."
+ fi
+else
+ echo 'Your csh is really tcsh. Good.'
+fi
+
+# Shimpei Yamashita <shimpei@socrates.patnet.caltech.edu>
+# Message-Id: <33EF1634.B36B6500@pobox.com>
+#
+# MkLinux (osname=linux,archname=ppc-linux), which differs slightly from other
+# linuces, needs special flags passed in order for dynamic loading to work.
+# instead of the recommended:
+# ccdlflags='-rdynamic'
#
-# The next version of Configure will check for this automatically.
-d_Gconvert='sprintf((b),"%.*g",(n),(x))'
+# it should be:
+# ccdlflags='-Wl,-E'
diff --git a/gnu/usr.bin/perl/hints/machten.sh b/gnu/usr.bin/perl/hints/machten.sh
index c86707c1827..380f70261d8 100644
--- a/gnu/usr.bin/perl/hints/machten.sh
+++ b/gnu/usr.bin/perl/hints/machten.sh
@@ -1,8 +1,8 @@
# machten.sh
-# This is for MachTen 4.0.2. It might work on other versions too.
+# This is for MachTen 4.0.3. It might work on other versions and variants too.
#
-# MachTen users might need a fixed tr from ftp.tenon.com. This should
-# be described in the MachTen release notes.
+# Users of earlier MachTen versions might need a fixed tr from ftp.tenon.com.
+# This should be described in the MachTen release notes.
#
# MachTen 2.x has its own hint file.
#
@@ -13,28 +13,53 @@
# Martijn Koster <m.koster@webcrawler.com>
# Richard Yeh <rcyeh@cco.caltech.edu>
#
-# File::Find's use of link count disabled by Dominic Dunlop 950528
-# Perl's use of sigsetjmp etc. disabled by Dominic Dunlop 950521
+# Raise perl's stack size -- Dominic Dunlop <domo@tcp.ip.lu> 970922
+# Reinstate sigsetjmp iff version is 4.0.3 or greater; use nm
+# (assumes Configure change); prune libswanted -- Dominic Dunlop 970113
+# Warn about test failure due to old Berkeley db -- Dominic Dunlop 970105
+# Do not use perl's malloc; SysV IPC OK -- Neil Cutcliffe, Tenon 961030
+# File::Find's use of link count disabled by Dominic Dunlop 960528
+# Perl's use of sigsetjmp etc. disabled by Dominic Dunlop 960521
#
# Comments, questions, and improvements welcome!
#
# MachTen 4.X does support dynamic loading, but perl doesn't
# know how to use it yet.
-#
-# Updated by Dominic Dunlop <domo@tcp.ip.lu>
-# Tue May 28 11:20:08 WET DST 1996
-# Configure doesn't know how to parse the nm output.
-usenm=undef
+# Power MachTen is a real memory system and its standard malloc
+# has been optimized for this. Using this malloc instead of Perl's
+# malloc may result in significant memory savings.
+usemymalloc='false'
+
+# Make symbol table listings les voluminous
+nmopts=-gp
+
+# Increase perl's stack size. Without this, lib/complex.t crashes out.
+# Particularly perverse programs may require that perl has an even larger
+# stack allocation than that specified here. (See man setstackspace )
+ldflags='-Xlstack=0x014000'
+
+# Install in /usr/local by default
+prefix='/usr/local'
# At least on PowerMac, doubles must be aligned on 8 byte boundaries.
# I don't know if this is true for all MachTen systems, or how to
# determine this automatically.
alignbytes=8
-# There appears to be a problem with perl's use of sigsetjmp and
+# 4.0.2 and earlier had a problem with perl's use of sigsetjmp and
# friends. Use setjmp and friends instead.
-d_sigsetjmp='undef'
+expr "$osvers" \< "4.0.3" > /dev/null && d_sigsetjmp='undef'
+
+# Get rid of some extra libs which it takes Configure a tediously
+# long time never to find on MachTen
+set `echo X "$libswanted "|sed -e 's/ net / /' -e 's/ socket / /' \
+ -e 's/ inet / /' -e 's/ nsl / /' -e 's/ nm / /' -e 's/ malloc / /' \
+ -e 's/ ld / /' -e 's/ sun / /' -e 's/ posix / /' \
+ -e 's/ cposix / /' -e 's/ crypt / /' \
+ -e 's/ ucb / /' -e 's/ bsd / /' -e 's/ BSD / /' -e 's/ PW / /'`
+shift
+libswanted="$*"
# MachTen always reports ony two links to directories, even if they
# contain subdirectories. Consequently, we use this variable to stop
@@ -56,7 +81,8 @@ At the end of Configure, you will see a harmless message
Hmm...You had some extra variables I don't know about...I'll try to keep 'em.
Propagating recommended variable dont_use_nlink
-
-Read the File::Find documentation for more information.
+ Propagating recommended variable nmopts
+Read the File::Find documentation for more information about dont_use_nlink
EOM
+test -r ./broken-db.msg && . ./broken-db.msg
diff --git a/gnu/usr.bin/perl/hints/machten_2.sh b/gnu/usr.bin/perl/hints/machten_2.sh
index e9fe41df134..bc7dde4e3fa 100644
--- a/gnu/usr.bin/perl/hints/machten_2.sh
+++ b/gnu/usr.bin/perl/hints/machten_2.sh
@@ -3,17 +3,57 @@
# Comments, questions, and improvements welcome!
#
# MachTen does not support dynamic loading. If you wish to, you
-# can get <ftp://tsx-11.mit.edu/pub/linux/sources/libs/dld-src-3.2.4.tar.gz>
-# compile and install. This is the version of DLD that works with the
-# ext/DynaLoader/dl_dld.xs in the perl5 package. Have fun!
+# can fetch, compile, and install the dld package.
+# This ought to work with the ext/DynaLoader/dl_dld.xs in the
+# perl5 package. Have fun!
+# Some possible locations for dld:
+# ftp-swiss.ai.mit.edu:pub/scm/dld-3.2.7.tar.gz
+# prep.ai.mit.edu:/pub/gnu/jacal/dld-3.2.7.tar.gz
+# ftp.cs.indiana.edu:/pub/scheme-repository/imp/SCM-support/dld-3.2.7.tar.gz
+# tsx-11.mit.edu:/pub/linux/sources/libs/dld-3.2.7.tar.gz
#
# Original version was for MachTen 2.1.1.
# Last modified by Andy Dougherty <doughera@lafcol.lafayette.edu>
-# Fri Feb 9 13:04:45 EST 1996
+# Tue Aug 13 12:31:01 EDT 1996
+#
+# Warning about tests which no longer fail
+# fixed by Tom Phoenix <rootbeer@teleport.com>
+# March 5, 1997
+#
+# Locale, optimization, and malloc changes by Tom Phoenix Mar 15, 1997
+#
+# groupstype change and note about t/lib/findbin.t by Tom, Mar 24, 1997
+
+# MachTen's ability to have valid filepaths beginning with "//" may
+# be causing lib/FindBin.pm to fail. I don't know how to fix it, but
+# the reader is encouraged to do so! :-) -- Tom
+
+# There seem to be some hard-to-diagnose problems under MachTen's
+# malloc, so we'll use Perl's. If you have problems which Perl's
+# malloc's diagnostics can't help you with, you may wish to use
+# MachTen's malloc after all.
+case "$usemymalloc" in
+'') usemymalloc='y' ;;
+esac
-# I don't know why this is needed. It might be similar to NeXT's
-# problem. See hints/next_3.sh.
-usemymalloc='n'
+# I (Tom Phoenix) don't know how to test for locales on MachTen. (If
+# you do, please fix this hints file!) But since mine didn't come
+# with locales working out of the box, I'll assume that's the case
+# for most folks.
+case "$d_setlocale" in
+'') d_setlocale=undef
+esac
+
+# MachTen doesn't have secure setid scripts
+d_suidsafe='undef'
+
+# groupstype should be gid_t, as near as I can tell, but it only
+# seems to work right when it's int.
+groupstype='int'
+
+case "$optimize" in
+'') optimize='-O2' ;;
+esac
so='none'
# These are useful only if you have DLD, but harmless otherwise.
@@ -33,14 +73,13 @@ i_db=$undef
# This will generate a harmless message:
# Hmm...You had some extra variables I don't know about...I'll try to keep 'em.
# Propagating recommended variable dont_use_nlink
+# Without this, tests io/fs #4 and op/stat #3 will fail.
dont_use_nlink=define
cat <<'EOM' >&4
-Tests
- io/fs test 4 and
- op/stat test 3
-may fail since MachTen versions 2.X have no hard links.
+During Configure, you may get two "WHOA THERE" messages, for $d_setlocale
+and $i_db being 'undef'. You may keep the undef value.
At the end of Configure, you will see a harmless message
@@ -49,4 +88,7 @@ Hmm...You had some extra variables I don't know about...I'll try to keep 'em.
Read the File::Find documentation for more information.
+It's possible that test t/lib/findbin.t will fail on some configurations
+of MachTen.
+
EOM
diff --git a/gnu/usr.bin/perl/hints/mips.sh b/gnu/usr.bin/perl/hints/mips.sh
index 39cadb4b667..bc0b7e80737 100644
--- a/gnu/usr.bin/perl/hints/mips.sh
+++ b/gnu/usr.bin/perl/hints/mips.sh
@@ -2,11 +2,11 @@ perl_cflags='optimize="-g"'
d_volatile=undef
d_castneg=undef
cc=cc
-libpth="/usr/lib/cmplrs/cc $libpth"
+glibpth="/usr/lib/cmplrs/cc $glibpth"
groupstype=int
nm_opt='-B'
case $PATH in
-*bsd*:/bin:*) cat <<END
+*bsd*:/bin:*) cat <<END >&4
NOTE: Some people have reported having much better luck with Mips CC than
with the BSD cc. Put /bin first in your PATH if you have difficulties.
END
diff --git a/gnu/usr.bin/perl/hints/mpeix.sh b/gnu/usr.bin/perl/hints/mpeix.sh
index 9fc2737893a..e952f0e0023 100644
--- a/gnu/usr.bin/perl/hints/mpeix.sh
+++ b/gnu/usr.bin/perl/hints/mpeix.sh
@@ -5,7 +5,7 @@ osvers='5.0'
alignbytes='8'
ccflags='-D_POSIX_SOURCE -D_SOCKET_SOURCE -D_POSIX_JOB_CONTROL'
cc='c89'
-optimize='-g'
+optimize='none'
d_safebcpy='undef'
d_safemcpy='undef'
intsize='8'
diff --git a/gnu/usr.bin/perl/hints/netbsd.sh b/gnu/usr.bin/perl/hints/netbsd.sh
index 24ffe15f730..c508815a46c 100644
--- a/gnu/usr.bin/perl/hints/netbsd.sh
+++ b/gnu/usr.bin/perl/hints/netbsd.sh
@@ -5,22 +5,51 @@
# netbsd keeps dynamic loading dl*() functions in /usr/lib/crt0.o,
# so Configure doesn't find them (unless you abandon the nm scan).
# this should be *just* 0.9 below as netbsd 0.9a was the first to
-# introduce shared libraries.
+# introduce shared libraries. however, they don't work/build on
+# pmax, powerpc and alpha ports correctly, yet.
+
+case "$archname" in
+'')
+ archname=`uname -m`-${osname}
+ ;;
+esac
+
case "$osvers" in
0.9|0.8*)
usedl="$undef"
;;
-*) d_dlopen=$define
- d_dlerror=$define
+*)
+ case `uname -m` in
+ alpha|powerpc|pmax)
+ d_dlopen=$undef
+ ;;
+# this doesn't work (yet).
+# alpha)
+# d_dlopen=$define
+# d_dlerror=$define
+# cccdlflags="-DPIC -fPIC $cccdlflags"
+# lddlflags="-shared $lddlflags"
+# ;;
+ *)
+ d_dlopen=$define
+ d_dlerror=$define
# we use -fPIC here because -fpic is *NOT* enough for some of the
# extensions like Tk on some netbsd platforms (the sparc is one)
- cccdlflags="-DPIC -fPIC $cccdlflags"
- lddlflags="-Bforcearchive -Bshareable $lddlflags"
-# netbsd has these but they don't really work as advertised. if they
-# are defined, then there isn't a way to make perl call setuid() or
-# setgid(). if they aren't, then ($<, $>) = ($u, $u); will work (same
-# for $(/$)). this is because you can not change the real userid of
-# a process under 4.4BSD.
+ cccdlflags="-DPIC -fPIC $cccdlflags"
+ lddlflags="-Bforcearchive -Bshareable $lddlflags"
+ ;;
+ esac
+ ;;
+esac
+
+# netbsd had these but they don't really work as advertised, in the
+# versions listed below. if they are defined, then there isn't a
+# way to make perl call setuid() or setgid(). if they aren't, then
+# ($<, $>) = ($u, $u); will work (same for $(/$)). this is because
+# you can not change the real userid of a process under 4.4BSD.
+# netbsd fixed this in 1.2A.
+case "$osvers" in
+0.9*|1.0*|1.1*|1.2_*|1.2|1.2.*)
d_setregid="$undef"
d_setreuid="$undef"
d_setrgid="$undef"
@@ -31,9 +60,3 @@ esac
# Avoid telldir prototype conflict in pp_sys.c (NetBSD uses const DIR *)
# Configure should test for this. Volunteers?
pp_sys_cflags='ccflags="$ccflags -DHAS_TELLDIR_PROTOTYPE"'
-
-case "$archname" in
-'')
- archname=`uname -m`-${osname}
- ;;
-esac
diff --git a/gnu/usr.bin/perl/hints/next_3.sh b/gnu/usr.bin/perl/hints/next_3.sh
index 7db901c7385..55e89591d88 100644
--- a/gnu/usr.bin/perl/hints/next_3.sh
+++ b/gnu/usr.bin/perl/hints/next_3.sh
@@ -1,41 +1,131 @@
-# This file has been put together by Anno Siegel <siegel@zrz.TU-Berlin.DE>
-# and Andreas Koenig <k@franz.ww.TU-Berlin.DE>. Comments, questions, and
-# improvements welcome!
+# This file has been put together by Anno Siegel <siegel@zrz.TU-Berlin.DE>,
+# Andreas Koenig <k@franz.ww.TU-Berlin.DE> and Gerd Knops <gerti@BITart.com>.
+# Comments, questions, and improvements welcome!
#
# These hints work for NeXT 3.2 and 3.3. 3.0 has it's own
# special hint file.
+#
+
+######################################################################
+# THE MALLOC STORY
+######################################################################
+# 1994:
+# the simple program `for ($i=1;$i<38771;$i++){$t{$i}=123}' fails
+# with Larry's malloc on NS 3.2 due to broken sbrk()
+#
+# setting usemymalloc='n' was the solution back then. Later came
+# reports that perl would run unstable on 3.2:
+#
+# 1996:
+# From about perl5.002beta1h perl became unstable on the
+# NeXT. Intermittent coredumps were frequent on 3.2 OS. There were
+# reports, that the developer version of 3.3 didn't have problems, so it
+# seemed pretty obvious that we had to work around an malloc bug in 3.2.
+# This hints file reflects a patch to perl5.002_01 that introduces a
+# home made sbrk routine (remember, NeXT's sbrk _never_ worked). This
+# sbrk makes it possible to run perl with its own malloc. Thanks to
+# Ilya who showed me the way to his sbrk for OS/2!!
+#
+# The whole malloc desaster lead to a failing gdbm test. It is far
+# beyond my understanding, why GDBM_File breaks with the "fix", but in
+# general I consider it better to have a working perl with broken GDBM
+# than no perl at all.
+#
+# So, this hintsfile is using perl's malloc. If you want to turn
+# perl's malloc off, you need to remove '-DUSE_PERL_SBRK' and
+# '-DHIDEMYMALLOC' from the ccflags and set usemymalloc to 'n'.
+#
+# 1997:
+# From perl5.003_22 the malloc bug has no impact any more. We can run
+# a perl without a special sbrk. Apparently Chip Salzenberg, the hero
+# of 5.004 anyway, earned another trophy during Australien Open.
+#
+# use the following two lines to enable USE_PERL_SBRK. Try this if you
+# encounter intermittent core dumps:
+#ccflags='-DUSE_NEXT_CTYPE -DUSE_PERL_SBRK -DHIDEMYMALLOC'
+#usemymalloc='y'
+# use the following two lines if you have perl5.003_22 or better and
+# do not encounter intermittent core dumps.
ccflags='-DUSE_NEXT_CTYPE'
-POSIX_cflags='ccflags="-posix $ccflags"'
+usemymalloc='n'
+
+######################################################################
+# End of the MALLOC story
+######################################################################
+
ldflags='-u libsys_s'
libswanted='dbm gdbm db'
-lddlflags='-r'
+lddlflags='-nostdlib -r'
# Give cccdlflags an empty value since Configure will detect we are
# using GNU cc and try to specify -fpic for cccdlflags.
cccdlflags=' '
+######################################################################
+# MAB support
+######################################################################
+# By default we will build for all architectures your development
+# environment supports. If you only want to build for the platform
+# you are on, simply comment or remove the line below.
+#
+# If you want to build for specific architectures, change the line
+# below to something like
+#
+# archs=(m68k i386)
+#
+archs=`/bin/lipo -info /usr/lib/libm.a | sed -n 's/^[^:]*:[^:]*: //p'`
+
+#
+# leave the following part alone
+#
+archcount=`echo $archs |wc -w`
+if [ $archcount -gt 1 ]
+then
+ for d in $archs
+ do
+ mabflags="$mabflags -arch $d"
+ done
+ ccflags="$ccflags $mabflags"
+ ldflags="$ldflags $mabflags"
+ lddlflags="$lddlflags $mabflags"
+ archname='next-fat'
+fi
+######################################################################
+# END MAB support
+######################################################################
+ld='cc'
+
i_utime='undef'
groupstype='int'
direntrytype='struct direct'
d_strcoll='undef'
-# the simple program `for ($i=1;$i<38771;$i++){$t{$i}=123}' fails
-# with Larry's malloc on NS 3.2 due to broken sbrk()
-usemymalloc='n'
d_uname='define'
-d_setpgid='define'
+#
+# At least on m68k there are situations when memcmp doesn't behave
+# as expected. So we'll use perl's memcmp.
+#
+d_sanemcmp='undef'
+# setpgid() is in the posix library, but we don't use -posix, so
+# we don't see it. ext/POSIX/POSIX.xs *does* use -posix, so
+# setpgid is still available as POSIX::setpgid.
+# See ext/POSIX/POSIX/hints/next.pl.
+d_setpgid='undef'
d_setsid='define'
d_tcgetpgrp='define'
d_tcsetpgrp='define'
+
#
# On some NeXT machines, the timestamp put by ranlib is not correct, and
# this may cause useless recompiles. Fix that by adding a sleep before
# running ranlib. The '5' is an empirical number that's "long enough."
-# (Thanks to Andreas Koenig <k@franz.ww.tu-berlin.de>)
+#
ranlib='sleep 5; /bin/ranlib'
+
#
# There where reports that the compiler on HPPA machines
# fails with the -O flag on pp.c.
-if [ `arch` = "hppa" ]; then
-pp_cflags='optimize="-g"'
-fi
+# Compiling pp.c with -O for HPPA machines results in a broken perl.
+# This is true whether we're on an HPPA machine or cross-compiling
+# for one.
+pp_cflags='optimize=""'
diff --git a/gnu/usr.bin/perl/hints/next_3_0.sh b/gnu/usr.bin/perl/hints/next_3_0.sh
index 3a50247e9c4..b8cc2c2d905 100644
--- a/gnu/usr.bin/perl/hints/next_3_0.sh
+++ b/gnu/usr.bin/perl/hints/next_3_0.sh
@@ -6,15 +6,15 @@
# <klwhite@magnus.acs.ohio-state.edu>, based on suggestions by Andreas
# Koenig and Andy Dougherty.
-echo With NS 3.0 you won\'t be able to use the POSIX module.
-echo Be aware that some of the tests that are run during "make test"
-echo will fail due to the lack of POSIX support on this system.
-echo
-echo Also, if you have the GDBM installed, make sure the header file
-echo is located at a place on the system where the C compiler will
-echo find it. By default, it is placed in /usr/local/include/gdbm.h.
-echo It will not be found there. Try moving it to
-echo /NextDeveloper/Headers/bsd/gdbm.h.
+echo With NS 3.0 you won\'t be able to use the POSIX module. >&4
+echo Be aware that some of the tests that are run during \"make test\" >&4
+echo will fail due to the lack of POSIX support on this system. >&4
+echo >&4
+echo Also, if you have the GDBM installed, make sure the header file >&4
+echo is located at a place on the system where the C compiler will >&4
+echo find it. By default, it is placed in /usr/local/include/gdbm.h. >&4
+echo It will not be found there. Try moving it to >&4
+echo /NextDeveloper/Headers/bsd/gdbm.h. >&4
ccflags='-DUSE_NEXT_CTYPE -DNEXT30_NO_ATTRIBUTE'
POSIX_cflags='ccflags="-posix $ccflags"'
@@ -35,10 +35,15 @@ d_strcoll='undef'
# with Larry's malloc on NS 3.2 due to broken sbrk()
usemymalloc='n'
d_uname='define'
-d_setpgid='define'
-d_setsid='define'
-d_tcgetpgrp='define'
-d_tcsetpgrp='define'
+
+# Thanks to Etienne Grossman <etienne@isr.isr.ist.utl.pt> for sending
+# the correct values for perl5.003_11 for the following 4
+# variables. For older version all four were defined.
+d_setsid='undef'
+d_tcgetpgrp='undef'
+d_tcsetpgrp='undef'
+d_setpgid='undef'
+
#
# On some NeXT machines, the timestamp put by ranlib is not correct, and
# this may cause useless recompiles. Fix that by adding a sleep before
diff --git a/gnu/usr.bin/perl/hints/os2.sh b/gnu/usr.bin/perl/hints/os2.sh
index 43b4b8ea49b..2a589b5cb4a 100644
--- a/gnu/usr.bin/perl/hints/os2.sh
+++ b/gnu/usr.bin/perl/hints/os2.sh
@@ -1,3 +1,4 @@
+#! /bin/sh
# hints/os2.sh
# This file reflects the tireless work of
# Ilya Zakharevich <ilya@math.ohio-state.edu>
@@ -5,23 +6,87 @@
# Trimmed and comments added by
# Andy Dougherty <doughera@lafcol.lafayette.edu>
# Exactly what is required beyond a standard OS/2 installation?
-# There are notes about "patched pdksh" I don't understand.
+# (see in README.os2)
# Note that symbol extraction code gives wrong answers (sometimes?) on
# gethostent and setsid.
-# Note that during the .obj compile you need to move the perl.dll file
-# to LIBPATH :-(
+# Optimization (GNU make 3.74 cannot be loaded :-():
+emxload -m 30 sh.exe ls.exe tr.exe id.exe sed.exe # make.exe
+emxload -m 30 grep.exe egrep.exe fgrep.exe cat.exe rm.exe mv.exe cp.exe
+emxload -m 30 uniq.exe basename.exe sort.exe awk.exe echo.exe
-#osname="OS/2"
-sysman=`../UU/loc . /man/man1 c:/man/man1 c:/usr/man/man1 d:/man/man1 d:/usr/man/man1 e:/man/man1 e:/usr/man/man1 f:/man/man1 f:/usr/man/man1 g:/man/man1 g:/usr/man/man1 /usr/man/man1`
+path_sep=\;
+
+if test -f $sh.exe; then sh=$sh.exe; fi
+
+startsh="#!$sh"
cc='gcc'
-usrinc='/emx/include'
-libemx="`../UU/loc . X c:/emx/lib d:/emx/lib e:/emx/lib f:/emx/lib g:/emx/lib h:/emx/lib /emx/lib`"
-if test "$libemx" = "X"; then echo "Cannot find C library!"; fi
+# Get some standard things (indented to avoid putting in config.sh):
+ oifs="$IFS"
+ IFS=" ;"
+ set $MANPATH
+ tryman="$@"
+ set $LIBRARY_PATH
+ libemx="$@"
+ set $C_INCLUDE_PATH
+ usrinc="$@"
+ IFS="$oifs"
+ tryman="`../UU/loc . /man $tryman`"
+ tryman="`echo $tryman | tr '\\\' '/'`"
+
+ # indented to avoid having it *two* times at start
+ libemx="`../UU/loc os2.a /emx/lib $libemx`"
+
+usrinc="`../UU/loc stdlib.h /emx/include $usrinc`"
+usrinc="`dirname $usrinc | tr '\\\' '/'`"
+libemx="`dirname $libemx | tr '\\\' '/'`"
+
+if test -d $tryman/man1; then
+ sysman="$tryman/man1"
+else
+ sysman="`../UU/loc . /man/man1 c:/man/man1 c:/usr/man/man1 d:/man/man1 d:/usr/man/man1 e:/man/man1 e:/usr/man/man1 f:/man/man1 f:/usr/man/man1 g:/man/man1 g:/usr/man/man1 /usr/man/man1`"
+fi
+
+emxpath="`dirname $libemx`"
+if test ! -d "$emxpath"; then
+ emxpath="`../UU/loc . /emx c:/emx d:/emx e:/emx f:/emx g:/emx h:/emx /emx`"
+fi
+
+if test ! -d "$libemx"; then
+ libemx="$emxpath/lib"
+fi
+if test ! -d "$libemx"; then
+ if test -d "$LIBRARY_PATH"; then
+ libemx="$LIBRARY_PATH"
+ else
+ libemx="`../UU/loc . X c:/emx/lib d:/emx/lib e:/emx/lib f:/emx/lib g:/emx/lib h:/emx/lib /emx/lib`"
+ fi
+fi
+
+if test ! -d "$usrinc"; then
+ if test -d "$emxpath/include"; then
+ usrinc="$emxpath/include"
+ else
+ if test -d "$C_INCLUDE_PATH"; then
+ usrinc="$C_INCLUDE_PATH"
+ else
+ usrinc="`../UU/loc . X c:/emx/include d:/emx/include e:/emx/include f:/emx/include g:/emx/include h:/emx/include /emx/include`"
+ fi
+ fi
+fi
+
+rsx="`../UU/loc rsx.exe undef $pth`"
-libpth="$libemx/st $libemx"
+if test "$libemx" = "X"; then echo "Cannot find C library!" >&2; fi
+
+# Acute backslashitis:
+libpth="`echo \"$LIBRARY_PATH\" | tr ';\\\' ' /'`"
+libpth="$libpth $libemx/mt $libemx"
+
+set `emxrev -f emxlibcm`
+emxcrtrev=$5
so='dll'
@@ -30,37 +95,83 @@ so='dll'
firstmakefile='GNUmakefile'
exe_ext='.exe'
+# We provide it
+i_dlfcn='define'
+
+aout_d_shrplib='undef'
+aout_useshrplib='false'
+aout_obj_ext='.o'
+aout_lib_ext='.a'
+aout_ar='ar'
+aout_plibext='.a'
+aout_lddlflags='-Zdll'
+if [ $emxcrtrev -ge 50 ]; then
+ aout_ldflags='-Zexe -Zsmall-conv'
+else
+ aout_ldflags='-Zexe'
+fi
+
+# To get into config.sh:
+aout_ldflags="$aout_ldflags"
+
+aout_d_fork='define'
+aout_ccflags='-DPERL_CORE -DDOSISH -DPERL_IS_AOUT -DOS2=2 -DEMBED -I. -DPACK_MALLOC -DTWO_POT_OPTIMIZE -DPERL_EMERGENCY_SBRK'
+aout_cppflags='-DPERL_CORE -DDOSISH -DPERL_IS_AOUT -DOS2=2 -DEMBED -I. -DPACK_MALLOC -DTWO_POT_OPTIMIZE -DPERL_EMERGENCY_SBRK'
+aout_use_clib='c'
+aout_usedl='undef'
+aout_archobjs="os2.o dl_os2.o"
+
+# variable which have different values for aout compile
+used_aout='d_shrplib useshrplib plibext lib_ext obj_ext ar plibext d_fork lddlflags ldflags ccflags use_clib usedl archobjs cppflags'
+
if [ "$emxaout" != "" ]; then
- d_shrplib='undef'
- obj_ext='.o'
- lib_ext='.a'
- ar='ar'
- plibext='.a'
- d_fork='define'
- lddlflags='-Zdll'
- ldflags='-Zexe'
- ccflags='-DDOSISH -DNO_SYS_ALLOC -DOS2=2 -DEMBED -I. -DPACK_MALLOC'
- use_clib='c'
+ d_shrplib="$aout_d_shrplib"
+ useshrplib="$aout_useshrplib"
+ obj_ext="$aout_obj_ext"
+ lib_ext="$aout_lib_ext"
+ ar="$aout_ar"
+ plibext="$aout_plibext"
+ if [ $emxcrtrev -lt 50 ]; then
+ d_fork="$aout_d_fork"
+ fi
+ lddlflags="$aout_lddlflags"
+ ldflags="$aout_ldflags"
+ ccflags="$aout_ccflags"
+ cppflags="$aout_cppflags"
+ use_clib="$aout_use_clib"
+ usedl="$aout_usedl"
else
d_shrplib='define'
+ useshrplib='true'
obj_ext='.obj'
lib_ext='.lib'
ar='emxomfar'
plibext='.lib'
- d_fork='undef'
- lddlflags='-Zdll -Zomf -Zcrtdll'
+ if [ $emxcrtrev -ge 50 ]; then
+ d_fork='define'
+ else
+ d_fork='undef'
+ fi
+ lddlflags='-Zdll -Zomf -Zmt -Zcrtdll'
# Recursive regmatch may eat 2.5M of stack alone.
- ldflags='-Zexe -Zomf -Zcrtdll -Zstack 32000'
- ccflags='-Zomf -DDOSISH -DOS2=2 -DEMBED -I. -DPACK_MALLOC'
+ ldflags='-Zexe -Zomf -Zmt -Zcrtdll -Zstack 32000'
+ if [ $emxcrtrev -ge 50 ]; then
+ ccflags='-Zomf -Zmt -DDOSISH -DOS2=2 -DEMBED -I. -DPACK_MALLOC -DDEBUGGING_MSTATS -DTWO_POT_OPTIMIZE -DPERL_EMERGENCY_SBRK'
+ else
+ ccflags='-Zomf -Zmt -DDOSISH -DOS2=2 -DEMBED -I. -DPACK_MALLOC -DDEBUGGING_MSTATS -DEMX_BAD_SBRK'
+ fi
use_clib='c_import'
+ usedl='define'
fi
# To get into config.sh (should start at the beginning of line)
# or you can put it into config.over.
plibext="$plibext"
+# plibext is not needed anymore. Just directly set $libperl.
+libperl="libperl${plibext}"
#libc="/emx/lib/st/c_import$lib_ext"
-libc="$libemx/st/$use_clib$lib_ext"
+libc="$libemx/mt/$use_clib$lib_ext"
if test -r "$libemx/c_alias$lib_ext"; then
libnames="$libemx/c_alias$lib_ext"
@@ -69,19 +180,17 @@ fi
# [Maybe we should just remove c from $libswanted ?]
-libs='-lsocket -lm'
-archobjs="os2$obj_ext"
+# Test would pick up wrong rand, so we hardwire the value for random()
+libs='-lsocket -lm -lbsd'
+randbits=31
+archobjs="os2$obj_ext dl_os2$obj_ext"
-# Run files without extension with sh - feature of patched ksh
-# [???]
-NOHASHBANG=sh
-# Same with newer ksh
+# Run files without extension with sh:
EXECSHELL=sh
cccdlflags='-Zdll'
-dlsrc='dl_os2.xs'
+dlsrc='dl_dlopen.xs'
ld='gcc'
-usedl='define'
#cppflags='-DDOSISH -DOS2=2 -DEMBED -I.'
@@ -116,6 +225,7 @@ nroff='nroff.cmd'
# above will be overwritten otherwise, indented to avoid config.sh
_nroff='nroff.cmd'
+# should be handled automatically by Configure now.
ln='cp'
# Will be rewritten otherwise, indented to not put in config.sh
_ln='cp'
@@ -123,17 +233,57 @@ lns='cp'
nm_opt='-p'
-####### All the rest is commented
+####### We define these functions ourselves
-# I do not have these:
-#dynamic_ext='Fcntl GDBM_File SDBM_File POSIX Socket UPM REXXCALL'
-#dynamic_ext='Fcntl POSIX Socket SDBM_File Devel/DProf'
-#extensions='Fcntl GDBM_File SDBM_File POSIX Socket UPM REXXCALL'
-#extensions='Fcntl SDBM_File POSIX Socket Devel/DProf'
+d_getprior='define'
+d_setprior='define'
-# The next two are commented. pdksh handles #!
+# Make denser object files and DLL
+case "X$optimize" in
+ X)
+ optimize="-O2 -fomit-frame-pointer -malign-loops=2 -malign-jumps=2 -malign-functions=2 -s"
+ ;;
+esac
+
+# The next two are commented. pdksh handles #!, extproc gives no path part.
# sharpbang='extproc '
# shsharp='false'
# Commented:
#startsh='extproc ksh\\n#! sh'
+
+# Copy pod:
+
+cp ../README.os2 ../pod/perlos2.pod
+
+# Now install the external modules. We are in the ./hints directory.
+
+cd ../os2/OS2
+
+if ! test -d ../../ext/OS2 ; then
+ mkdir ../../ext/OS2
+fi
+
+cp -rfu * ../../ext/OS2/
+
+# Install tests:
+
+for xxx in * ; do
+ if $test -d $xxx/t; then
+ cp -uf $xxx/t/*.t ../../t/lib
+ else
+ if $test -d $xxx; then
+ cd $xxx
+ for yyy in * ; do
+ if $test -d $yyy/t; then
+ cp -uf $yyy/t/*.t ../../t/lib
+ fi
+ done
+ cd ..
+ fi
+ fi
+done
+
+
+# Now go back
+cd ../../hints
diff --git a/gnu/usr.bin/perl/hints/powerux.sh b/gnu/usr.bin/perl/hints/powerux.sh
index b1c082651f6..fd2ebe682db 100644
--- a/gnu/usr.bin/perl/hints/powerux.sh
+++ b/gnu/usr.bin/perl/hints/powerux.sh
@@ -1,10 +1,14 @@
-# Hints for the PowerUX operating system running on Harris NightHawk
-# machines. Written by Tom.Horsley@mail.hcsc.com
+# Hints for the PowerUX operating system running on Concurrent (formerly
+# Harris) NightHawk machines. Written by Tom.Horsley@mail.ccur.com
#
-# This config uses dynamic linking and the Harris C compiler. It has been
-# tested on a Harris 6800 running PowerUX.
+# Note: The OS is fated to change names again to PowerMAX OS, but this
+# PowerUX file should still work (I wish marketing would make up their mind
+# about the name :-).
+#
+# This config uses dynamic linking and the Concurrent C compiler. It has
+# been tested on Power PC based 6000 series machines running PowerUX.
-# Internally at Harris, we use a source management tool which winds up
+# Internally at Concurrent, we use a source management tool which winds up
# giving us read-only copies of source trees that are mostly symbolic links.
# That upsets the perl build process when it tries to edit opcode.h and
# embed.h or touch perly.c or perly.h, so turn those files into "real" files
@@ -26,9 +30,10 @@ then
fi
# We DO NOT want -lmalloc or -lPW, we DO need -lgen to follow -lnsl, so
-# fixup libswanted to reflect that desire.
+# fixup libswanted to reflect that desire (also need -lresolv if you want
+# DNS name lookup to work, which seems desirable :-).
#
-libswanted=`echo ' '$libswanted' ' | sed -e 's/ malloc / /' -e 's/ PW / /' -e 's/ nsl / nsl gen /'`
+libswanted=`echo ' '$libswanted' ' | sed -e 's/ malloc / /' -e 's/ PW / /' -e 's/ nsl / nsl gen resolv /'`
# We DO NOT want /usr/ucblib in glibpth
#
@@ -39,7 +44,7 @@ glibpth=`echo ' '$glibpth' ' | sed -e 's@ /usr/ucblib @ @'`
#
d_csh='undef'
-# Need to use Harris cc for most of these options to be meaningful (if you
+# Need to use Concurrent cc for most of these options to be meaningful (if you
# want to get this to work with gcc, you're on your own :-). Passing
# -Bexport to the linker when linking perl is important because it leaves
# the interpreter internal symbols visible to the shared libs that will be
@@ -58,6 +63,18 @@ lddlflags='-Zlink=so'
#
i_ndbm='undef'
+# There is a bug in memcmp (which I hope will be fixed soon) which sometimes
+# fails to provide the correct compare status (it is data dependant), so just
+# pretend there is no memcmp...
+#
+d_memcmp='undef'
+
+# Due to problems with dynamic linking (which I also hope will be fixed soon)
+# you can't build a libperl.so, the core has to be in the static part of the
+# perl executable.
+#
+useshrplib='false'
+
# Misc other flags that might be able to change, but I know these work right.
#
d_suidsafe='define'
diff --git a/gnu/usr.bin/perl/hints/sco.sh b/gnu/usr.bin/perl/hints/sco.sh
index 307e27e4db2..cef1c0c9423 100644
--- a/gnu/usr.bin/perl/hints/sco.sh
+++ b/gnu/usr.bin/perl/hints/sco.sh
@@ -1,15 +1,35 @@
-# sco_3.sh
-# Courtesy of Joel Rosi-Schwartz <joel@ftechne.co.uk>
+# sco.sh
+# Courtesy of Joel Rosi-Schwartz <j.schwartz@agonet.it>
+
# Additional SCO version info from
# Peter Wolfe <wolfe@teloseng.com>
# Last revised
-# Tue Feb 13 09:09:10 EST 1996
+# Fri Jul 19 14:54:25 EDT 1996
+# by Andy Dougherty <doughera@lafcol.lafayette.edu>
# To use gcc, use sh Configure -Dcc=gcc
+# But gcc will *not* do dynamic laoding on 3.2.5,
+# for that use sh Configure -Dcc=icc
+# See below for more details.
-# figure out what SCO version we are:
-case `uname -X | egrep '^Release'` in
-*3.2v4.2) scorls=3 ;;
+# figure out what SCO version we are. The output of uname -X is
+# something like:
+# System = SCO_SV
+# Node = xxxxx
+# Release = 3.2v5.0.0
+# KernelID = 95/08/08
+# Machine = Pentium
+# BusType = ISA
+# Serial = xxxxx
+# Users = 5-user
+# OEM# = 0
+# Origin# = 1
+# NumCPU = 1
+
+# Use /bin/uname (because Gnu may be first on the path and
+# it does not support -X) to figure out what SCO version we are:
+case `/bin/uname -X | egrep '^Release'` in
+*3.2v4.*) scorls=3 ;; # I don't know why this is 3 instead of 4 :-)
*3.2v5.*) scorls=5 ;;
*) scorls=3 ;; # this probabaly shouldn't happen
esac
@@ -30,17 +50,42 @@ glibpth=`echo $glibpth | sed -e 's! /usr/lib/386 ! !' -e 's! /lib/386 ! !'`
xlibpth=''
case "$cc" in
-gcc)
- ccflags="$ccflags -U M_XENIX"
+*gcc*) ccflags="$ccflags -U M_XENIX"
optimize="$optimize -O2"
;;
scocc) ;;
-*) # Apparently, SCO's cc gives rather verbose warnings
+# On SCO 3.2v5 both cc and icc can build dynamic load, but cc core
+# dumps if optimised, so I am only setting this up for icc.
+# It is possible that some 3.2v4.2 system have icc, I seem to
+# recall it was available as a seperate product but I have no
+# knowledge if it can do dynamic loading and if so how.
+# Joel Rosi-Schwartz
+icc)# Apparently, SCO's cc gives rather verbose warnings
+ # Set -w0 to turn them off.
+ case $scorls in
+ 3) ccflags="$ccflags -W0 -quiet -U M_XENIX" ;;
+ 5) ccflags="$ccflags -belf -w0 -U M_XENIX"
+ optimize="-O1" # -g -O1 will not work
+ # optimize="-O0" may be needed for pack test to pass.
+ lddlflags='-G -L/usr/local/lib'
+ ldflags=' -W l,-Bexport -L/usr/local/lib'
+ dlext='so'
+ dlsrc='dl_dlopen.xs'
+ usedl='define'
+ ;;
+ esac
+ ;;
+
+*) # Apparently, miniperl core dumps if -O is used.
+ case "$optimize" in
+ '') optimize=none ;;
+ esac
+ # Apparently, SCO's cc gives rather verbose warnings
# Set -w0 to turn them off.
case $scorls in
3) ccflags="$ccflags -W0 -quiet -U M_XENIX" ;;
- 5) ccflags="$ccflags -w0 -U M_XENIX" ;;
+ 5) ccflags="$ccflags -w0 -U M_XENIX -DPERL_SCO5" ;;
esac
;;
esac
@@ -88,3 +133,8 @@ libswanted=`echo " $libswanted " | sed -e 's/ dl / /'`
set X $libswanted
shift
libswanted="$*"
+
+# Perl 5.003_05 and later try to include both <time.h> and <sys/select.h>
+# in pp_sys.c, but that fails due to a redefinition of struct timeval.
+# This will generate a WHOA THERE. Accept the default.
+i_sysselct=$undef
diff --git a/gnu/usr.bin/perl/hints/sco_2_3_3.sh b/gnu/usr.bin/perl/hints/sco_2_3_3.sh
index 10baafd6a30..6d398fccf2e 100644
--- a/gnu/usr.bin/perl/hints/sco_2_3_3.sh
+++ b/gnu/usr.bin/perl/hints/sco_2_3_3.sh
@@ -1,3 +1,3 @@
yacc='/usr/bin/yacc -Sm25000'
-echo "NOTE: you may have problems due to a spurious semicolon on the strerror()"
-echo "macro definition in /usr/include/string.h. If so, delete the semicolon."
+echo "NOTE: you may have problems due to a spurious semicolon on the strerror()" >&4
+echo "macro definition in /usr/include/string.h. If so, delete the semicolon." >&4
diff --git a/gnu/usr.bin/perl/hints/sco_2_3_4.sh b/gnu/usr.bin/perl/hints/sco_2_3_4.sh
index 84f58172b3c..34bcadae5f5 100644
--- a/gnu/usr.bin/perl/hints/sco_2_3_4.sh
+++ b/gnu/usr.bin/perl/hints/sco_2_3_4.sh
@@ -1,5 +1,5 @@
yacc='/usr/bin/yacc -Sm25000'
ccflags="$ccflags -UM_I86"
usemymalloc='y'
-echo "NOTE: you may have problems due to a spurious semicolon on the strerror()"
-echo "macro definition in /usr/include/string.h. If so, delete the semicolon."
+echo "NOTE: you may have problems due to a spurious semicolon on the strerror()" >&4
+echo "macro definition in /usr/include/string.h. If so, delete the semicolon." >&4
diff --git a/gnu/usr.bin/perl/hints/solaris_2.sh b/gnu/usr.bin/perl/hints/solaris_2.sh
index 6ce4666421e..d2124edb063 100644
--- a/gnu/usr.bin/perl/hints/solaris_2.sh
+++ b/gnu/usr.bin/perl/hints/solaris_2.sh
@@ -4,6 +4,13 @@
# Based on input from lots of folks, especially
# Dean Roehrich <roehrich@ironwood-fddi.cray.com>
+# If perl fails tests that involve dynamic loading of extensions, and
+# you are using gcc, be sure that you are NOT using GNU as and ld. One
+# way to do that is to invoke Configure with
+#
+# sh Configure -Dcc='gcc -B/usr/ccs/bin/'
+#
+
# See man vfork.
usevfork=false
@@ -35,17 +42,6 @@ case "$archname" in
;;
esac
-# Solaris 2.5 has reintroduced some BSD-ish functions into libc.
-# This is no problem unless you compile perl under Solaris 2.5 but
-# try to run the binary on 2.4. Here, we take the easy way out by
-# claiming we don't have these functions. perl.h works around all of
-# these anyway.
-# XXX Eventually, I should fix perl.h to prefer the POSIX versions.
-d_bcmp='undef'
-d_bcopy='undef'
-d_safebcpy='undef'
-d_index='undef'
-
######################################################
# General sanity testing. See below for excerpts from the Solaris FAQ.
@@ -58,7 +54,7 @@ d_index='undef'
# Here's another draft of the perl5/solaris/gcc sanity-checker.
case $PATH in
-*/usr/ucb*:/usr/bin:*|*/usr/ucb*:/usr/bin) cat <<END
+*/usr/ucb*:/usr/bin:*|*/usr/ucb*:/usr/bin) cat <<END >&4
NOTE: Some people have reported problems with /usr/ucb/cc.
Remove /usr/ucb from your PATH if you have difficulties.
@@ -74,7 +70,7 @@ esac
case $? in
0) ;;
*)
- cat <<END
+ cat <<END >&4
NOTE: Your system does not have /dev/fd mounted. If you want to
be able to use set-uid scripts you must ask your system administrator
@@ -90,7 +86,7 @@ esac
/usr/bin/ls /usr/lib/libucb* >/dev/null 2>&1
case $? in
0)
- cat <<END
+ cat <<END >&4
NOTE: libucb has been found in /usr/lib. libucb should reside in
/usr/ucblib. You may have trouble while building Perl extensions.
@@ -107,7 +103,7 @@ if grep GNU make.vers > /dev/null 2>&1; then
tmp=`/usr/bin/which make`
case "`/usr/bin/ls -l $tmp`" in
??????s*)
- cat <<END
+ cat <<END >&2
NOTE: Your PATH points to GNU make, and your GNU make has the set-group-id
bit set. You must either rearrange your PATH to put /usr/ccs/bin before the
@@ -148,11 +144,12 @@ case "`${cc:-cc} -v 2>&1`" in
case $verbose in
*/usr/ccs/bin/as*) ;;
*)
- cat <<END
+ cat <<END >&2
NOTE: You are using GNU as(1). GNU as(1) will not build Perl.
You must arrange to use /usr/ccs/bin/as, perhaps by setting
-GCC_EXEC_PREFIX or by including -B/usr/ccs/bin in your cc command.
+GCC_EXEC_PREFIX or by including -B/usr/ccs/bin/ in your cc command.
+(Note that the trailing "/" is required.)
END
;;
@@ -162,11 +159,11 @@ END
case $verbose in
*/usr/ccs/bin/ld*) ;;
*)
- cat <<END
+ cat <<END >&2
NOTE: You are using GNU ld(1). GNU ld(1) will not build Perl.
You must arrange to use /usr/ccs/bin/ld, perhaps by setting
-GCC_EXEC_PREFIX or by including -B/usr/ccs/bin in your cc command.
+GCC_EXEC_PREFIX or by including -B/usr/ccs/bin/ in your cc command.
END
;;
@@ -182,7 +179,7 @@ END
# See if as(1) is GNU as(1). GNU as(1) won't work for this job.
case `as --version < /dev/null 2>&1` in
*GNU*)
- cat <<END
+ cat <<END >&2
NOTE: You are using GNU as(1). GNU as(1) will not build Perl.
You must arrange to use /usr/ccs/bin, perhaps by adding it to the
@@ -193,17 +190,32 @@ END
esac
# See if ld(1) is GNU ld(1). GNU ld(1) won't work for this job.
+ # ld --version doesn't properly report itself as a GNU tool,
+ # as of ld version 2.6, so we need to be more strict. TWP 9/5/96
+ gnu_ld=false
case `ld --version < /dev/null 2>&1` in
- *GNU*)
- cat <<END
+ *GNU*|ld\ version\ 2*)
+ gnu_ld=true ;;
+ *) ;;
+ esac
+ if $gnu_ld ; then :
+ else
+ case `which ld` in
+ no\ ld\ in*|[Cc]ommand\ not\ found*)
+ ;;
+ /*gnu*/ld|/*GNU*/ld)
+ gnu_ld=true ;;
+ esac
+ fi
+ if $gnu_ld ; then
+ cat <<END >&2
NOTE: You are using GNU ld(1). GNU ld(1) will not build Perl.
You must arrange to use /usr/ccs/bin, perhaps by adding it to the
-beginning of your PATH
+beginning of your PATH.
END
- ;;
- esac
+ fi
;; #not using gcc
esac
diff --git a/gnu/usr.bin/perl/hints/sunos_4_0.sh b/gnu/usr.bin/perl/hints/sunos_4_0.sh
index 99fce3f44b4..56a87bf5be3 100644
--- a/gnu/usr.bin/perl/hints/sunos_4_0.sh
+++ b/gnu/usr.bin/perl/hints/sunos_4_0.sh
@@ -1 +1,2 @@
ccflags="$ccflags -DFPUTS_BOTCH"
+i_unistd=$undef
diff --git a/gnu/usr.bin/perl/hints/sunos_4_1.sh b/gnu/usr.bin/perl/hints/sunos_4_1.sh
index ee42e2c448c..07cd89fc7b4 100644
--- a/gnu/usr.bin/perl/hints/sunos_4_1.sh
+++ b/gnu/usr.bin/perl/hints/sunos_4_1.sh
@@ -3,7 +3,9 @@
# Andy Dougherty <doughera@lafcol.lafayette.edu>
case "$cc" in
-*gcc*) usevfork=false ;;
+*gcc*) usevfork=false
+ # GNU as and GNU ld might not work. See the INSTALL file.
+ ;;
*) usevfork=true ;;
esac
@@ -13,15 +15,64 @@ esac
# available in the System V environment.
d_tzname='undef'
+# Configure will issue a WHOA warning. The problem is that unistd.h
+# contains incorrect prototypes for some functions in the usual
+# BSD-ish environment. In particular, it has
+# extern int getgroups(/* int gidsetsize, gid_t grouplist[] */);
+# but groupslist[] ought to be of type int, not gid_t.
+# This is only really a problem for perl if the
+# user is using gcc, and not running in the SysV environment.
+# The gcc fix-includes script exposes those incorrect prototypes.
+# There may be other examples as well. Volunteers are welcome to
+# track them all down :-). In the meantime, we'll just skip unistd.h
+# for SunOS in most of the code. The POSIX extension is built with
+# unistd.h because, even though unistd.h has problems, if used with
+# care, it helps create a better POSIX extension.
+i_unistd='undef'
+
+cat << 'EOM' >&4
+
+You will probably see *** WHOA THERE!!! *** messages from Configure for
+d_tzname and i_unistd. Keep the recommended values. See
+hints/sunos_4_1.sh for more information.
+EOM
+
# SunOS 4.1.3 has two extra fields in struct tm. This works around
# the problem. Other BSD platforms may have similar problems.
POSIX_cflags='ccflags="$ccflags -DSTRUCT_TM_HASZONE"'
-# check if user is in a bsd or system 5 type environment
+# The correct setting of groupstype depends on which version of the C
+# library is used. If you are in the 'System V environment'
+# (i.e. you have /usr/5bin ahead of /usr/bin in your PATH), and
+# you use Sun's cc compiler, then you'll pick up /usr/5bin/cc, which
+# links against the C library in /usr/5lib. This library has
+# groupstype='gid_t'.
+# If you are in the normal BSDish environment, then you'll pick up
+# /usr/ucb/cc, which links against the C library in /usr/lib. That
+# library has groupstype='int'.
+#
+# If you are using gcc, it links against the C library in /usr/lib
+# independent of whether or not you are in the 'System V environment'.
+# If you want to use the System V libraries, then you need to
+# manually set groupstype='gid_t' and add explicit references to
+# /usr/5lib when Configure prompts you for where to look for libraries.
+#
+# Check if user is in a bsd or system 5 type environment
if cat -b /dev/null 2>/dev/null
then # bsd
groupstype='int'
else # sys5
- groupstype='gid_t'
+ case "$cc" in
+ *gcc*) groupstype='int';; # gcc doesn't do anything special
+ *) groupstype='gid_t';; # /usr/5bin/cc pulls in /usr/5lib/ stuff.
+ esac
fi
-
+
+# If you get the message "unresolved symbol '__lib_version' " while
+# linking, your system probably has the optional 'acc' compiler (and
+# libraries) installed, but you are using the bundled 'cc' compiler with
+# the unbundled libraries. The solution is either to use 'acc' and the
+# unbundled libraries (specifically /lib/libm.a), or 'cc' and the bundled
+# library.
+#
+# Thanks to William Setzer <William_Setzer@ncsu.edu> for this info.
diff --git a/gnu/usr.bin/perl/hints/svr4.sh b/gnu/usr.bin/perl/hints/svr4.sh
index 5569274753c..922736aa487 100644
--- a/gnu/usr.bin/perl/hints/svr4.sh
+++ b/gnu/usr.bin/perl/hints/svr4.sh
@@ -32,6 +32,41 @@ usevfork='false'
# other SVR4 derivatives.
d_lstat=define
+# UnixWare has a broken csh. The undocumented -X argument to uname is probably
+# a reasonable way of detecting UnixWare. Also in 2.1.1 the fields in
+# FILE* got renamed!
+uw_ver=`uname -v`
+uw_isuw=`uname -X 2>&1 | grep Release`
+if [ "$uw_isuw" = "Release = 4.2MP" ]; then
+ case $uw_ver in
+ 2.1)
+ d_csh='undef'
+ ;;
+ 2.1.*)
+ d_csh='undef'
+ stdio_cnt='((fp)->__cnt)'
+ d_stdio_cnt_lval='define'
+ stdio_ptr='((fp)->__ptr)'
+ d_stdio_ptr_lval='define'
+ ;;
+ esac
+fi
+
+# DDE SMES Supermax Enterprise Server
+case "`uname -sm`" in
+"UNIX_SV SMES")
+ if test "$cc" = '/bin/cc' -o "$gccversion" = ""
+ then
+ # for cc we need -K PIC (not -K pic)
+ cccdlflags="$cccdlflags -K PIC"
+ fi
+ # the *grent functions are in libgen.
+ libswanted="$libswanted gen"
+ # csh is broken (also) in SMES
+ d_csh='undef'
+ ;;
+esac
+
cat <<'EOM' >&4
If you wish to use dynamic linking, you must use
diff --git a/gnu/usr.bin/perl/hints/titanos.sh b/gnu/usr.bin/perl/hints/titanos.sh
index 0f382ac0ff9..cea99f82a3a 100644
--- a/gnu/usr.bin/perl/hints/titanos.sh
+++ b/gnu/usr.bin/perl/hints/titanos.sh
@@ -1,6 +1,6 @@
# Hints file (perl 4.019) for Kubota Pacific's Titan 3000 Series Machines.
# Created by: JT McDuffie (jt@kpc.com) 26 DEC 1991
-# p5ed by: Jarkko Hietaniemi <jhi@hut.fi> Aug 27 1994
+# p5ed by: Jarkko Hietaniemi <jhi@iki.fi> Aug 27 1994
# NOTE: You should run Configure with tcsh (yes, tcsh).
# Comments by Andy Dougherty <doughera@lafcol.lafayette.edu> 28 Mar 1995
alignbytes="8"
@@ -25,16 +25,15 @@ stdchar='unsigned char'
# And even there, we should only bother to delete harmful libraries.
# However, I don't know what they are or why they should be deleted,
# so this will have to do for now. --AD 28 Mar 1995
-libswanted='nsl dbm gdbm db PW malloc m'
+libswanted='sfio nsl dbm gdbm db PW malloc m'
#
# Extensions: This system can not compile POSIX. We'll let Configure
-# figure out the others. Certainly Fcntl, Socket, and at least one *DB*
-# extension should be included.
-# perl5.000 had: static_ext='DynaLoader NDBM_File Socket'
+# figure out the others.
useposix='n'
#
uidtype='ushort'
voidflags='7'
inclwanted='/usr/include /usr/include/net'
-libpth='/usr/lib /usr/local/lib /lib'
+# Setting libpth shouldn't be needed any more.
+# libpth='/usr/lib /usr/local/lib /lib'
pth='. /bin /usr/bin /usr/ucb /usr/local/bin /usr/X11/bin /usr/lbin /etc /usr/lib'
diff --git a/gnu/usr.bin/perl/hints/ultrix_4.sh b/gnu/usr.bin/perl/hints/ultrix_4.sh
index e00450792dc..d8d2063b22d 100644
--- a/gnu/usr.bin/perl/hints/ultrix_4.sh
+++ b/gnu/usr.bin/perl/hints/ultrix_4.sh
@@ -4,9 +4,15 @@
#
# Use Configure -Dcc=gcc to use gcc.
#
-# I don't know if -g is really needed. (AD)
+# This used to use -g, but that pulls in -DDEBUGGING by default.
case "$optimize" in
-'') optimize=-g ;;
+'')
+ # recent versions have a working compiler.
+ case "$osvers" in
+ *4.[45]*) optimize='-O2' ;;
+ *) optimize='none' ;;
+ esac
+ ;;
esac
# Some users have reported Configure runs *much* faster if you
@@ -16,7 +22,7 @@ esac
# Then run "sh5 Configure.sh5 [your options]"
case "$myuname" in
-*risc*) cat <<EOF
+*risc*) cat <<EOF >&4
Note that there is a bug in some versions of NFS on the DECStation that
may cause utime() to work incorrectly. If so, regression test io/fs
may fail if run under NFS. Ignore the failure.
@@ -28,16 +34,16 @@ case "$cc" in
*gcc*) ;;
*)
case "$osvers" in
- *4.1*) ccflags="$ccflags -DLANGUAGE_C -Olimit 2900" ;;
- *4.2*) ccflags="$ccflags -DLANGUAGE_C -Olimit 2900"
+ *4.1*) ccflags="$ccflags -DLANGUAGE_C -Olimit 3200" ;;
+ *4.2*) ccflags="$ccflags -DLANGUAGE_C -Olimit 3200"
# Prototypes sometimes cause compilation errors in 4.2.
prototype=undef
case "$myuname" in
*risc*) d_volatile=undef ;;
esac
;;
- *4.3*) ccflags="$ccflags -std1 -DLANGUAGE_C -Olimit 2900" ;;
- *) ccflags="$ccflags -std -Olimit 2900" ;;
+ *4.3*) ccflags="$ccflags -std1 -DLANGUAGE_C -Olimit 3200" ;;
+ *) ccflags="$ccflags -std -Olimit 3200" ;;
esac
;;
esac
@@ -50,4 +56,11 @@ case "$osvers" in
*) ranlib='ranlib' ;;
esac
+# Settings that don't depend on $osvers:
+
+util_cflags='ccflags="$ccflags -DLOCALE_ENVIRON_REQUIRED"'
groupstype='int'
+# This will cause a WHOA THERE warning, but it's accurate. The
+# configure test should be beefed up to try using the field when
+# it can't find any of the standardly-named fields.
+d_dirnamlen='define'
diff --git a/gnu/usr.bin/perl/hints/unicos.sh b/gnu/usr.bin/perl/hints/unicos.sh
index 272cb9b5d62..b864019a841 100644
--- a/gnu/usr.bin/perl/hints/unicos.sh
+++ b/gnu/usr.bin/perl/hints/unicos.sh
@@ -1,9 +1,7 @@
case `uname -r` in
6.1*) shellflags="-m+65536" ;;
esac
-ccflags="$ccflags -DHZ=__hertz"
optimize="-O1"
-libswanted=m
d_setregid='undef'
d_setreuid='undef'
diff --git a/gnu/usr.bin/perl/hints/utekv.sh b/gnu/usr.bin/perl/hints/utekv.sh
index ebc7809c601..95a31fdedfe 100644
--- a/gnu/usr.bin/perl/hints/utekv.sh
+++ b/gnu/usr.bin/perl/hints/utekv.sh
@@ -6,7 +6,7 @@ ccflags="$ccflags -X18"
usemymalloc='y'
-echo " "
-echo "NOTE: You may have to take out makefile dependencies on the files in"
-echo "/usr/include (i.e. /usr/include/ctype.h) or the make will fail. A"
-echo "simple 'grep -v /usr/include/ makefile' should suffice."
+echo " " >&4
+echo "NOTE: You may have to take out makefile dependencies on the files in" >&4
+echo "/usr/include (i.e. /usr/include/ctype.h) or the make will fail. A" >&4
+echo "simple 'grep -v /usr/include/ makefile' should suffice." >&4