summaryrefslogtreecommitdiff
path: root/hints
diff options
context:
space:
mode:
Diffstat (limited to 'hints')
-rw-r--r--hints/bsdos.sh162
-rw-r--r--hints/dec_osf.sh10
-rw-r--r--hints/dynixptx.sh7
-rw-r--r--hints/irix_6.sh4
-rw-r--r--hints/linux.sh8
-rw-r--r--hints/machten.sh15
-rw-r--r--hints/os2.sh60
-rw-r--r--hints/os390.sh33
-rw-r--r--hints/qnx.sh42
9 files changed, 192 insertions, 149 deletions
diff --git a/hints/bsdos.sh b/hints/bsdos.sh
index ef98ace43f..53adfa3b50 100644
--- a/hints/bsdos.sh
+++ b/hints/bsdos.sh
@@ -1,39 +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'
+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
@@ -48,120 +69,41 @@ case "$osvers" in
'') cc='gcc2' ;;
esac
;;
-2.0*)
- # default to GCC 2.X w/shared libraries
- case "$cc" in
- '') cc='shlicc2' ;;
- esac
-
- # default ld to shared library linker
- case "$ld" in
- '') ld='shlicc2' ;;
- 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'
- ;;
-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.
+2.0*|2.1*|3.0*)
+ so='o'
+ # default to GCC 2.X w/shared libraries
case "$cc" in
'') cc='shlicc2'
cccdlflags=' ' ;; # Avoid the dreaded -fpic
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.*
+ # default ld to shared library linker
case "$ld" in
'') 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)
- # This stuff may or may not be right, but it works.
- d_setregid='undef'
- d_setreuid='undef'
- d_setrgid='undef'
- d_setruid='undef'
-
- # based on the 5.001m hints file from BSD/OS source disk
- # (this is needed for pTk to work)
-
- # BSD/OS 2.1 doesn't (yet) support true dynamic linking.
- # So we "preload' the shared libraries by linking against
- # them, even though we don't pull in any symbols thereby.
+ # Must preload the static shared libraries.
libswanted="Xpm Xaw Xmu Xt SM ICE Xext X11 $libswanted"
libswanted="rpc curses termcap $libswanted"
-
;;
-3.0*)
- # adapted from 2.1 entry by Christopher Davis <ckd@kei.com
- # Use 3.0'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 3.0
- # Turns out that shlicc2 will automatically use the
- # shared libs, so don't explicitly specify them
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'
-
- # this may still be needed for Tk and such
- # BSD/OS doesn't (yet) support true dynamic linking.
- # So we "preload' the shared libraries by linking against
- # them, even though we don't pull in any symbols thereby.
- libswanted="Xpm Xaw Xmu Xt SM ICE Xext X11 $libswanted"
- libswanted="rpc curses termcap $libswanted"
-
- # the IPC stuff doesn't work the way perl expects
- d_msg='undef'
- d_msgctl='undef'
- d_msgget='undef'
- d_msgrcv='undef'
- d_msgsnd='undef'
- d_sem='undef'
- d_semctl='undef'
- d_semget='undef'
- d_semop='undef'
- d_shm='undef'
- d_shmat='undef'
- d_shmatprototype='undef'
- d_shmctl='undef'
- d_shmdt='undef'
- d_shmget='undef'
-
- # use system malloc instead of perl's
- d_mymalloc='undef'
- i_malloc='undef'
- usemymalloc='n'
-
;;
esac
+
diff --git a/hints/dec_osf.sh b/hints/dec_osf.sh
index fa7596b398..2f93f1f7bc 100644
--- a/hints/dec_osf.sh
+++ b/hints/dec_osf.sh
@@ -117,6 +117,9 @@ 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 / /'`"
@@ -181,6 +184,13 @@ 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>
diff --git a/hints/dynixptx.sh b/hints/dynixptx.sh
index 55824f6013..78a45e42a3 100644
--- a/hints/dynixptx.sh
+++ b/hints/dynixptx.sh
@@ -15,3 +15,10 @@ libswanted=`echo $libswanted | sed -e 's/ inet / /'`
# Configure defaults to usenm='y', which doesn't work very well
usenm='n'
+# 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/hints/irix_6.sh b/hints/irix_6.sh
index 060d972748..795b6ab640 100644
--- a/hints/irix_6.sh
+++ b/hints/irix_6.sh
@@ -63,6 +63,10 @@ case "$cc" in
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'
diff --git a/hints/linux.sh b/hints/linux.sh
index 8ff7f5d747..af7d0a835e 100644
--- a/hints/linux.sh
+++ b/hints/linux.sh
@@ -29,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
diff --git a/hints/machten.sh b/hints/machten.sh
index 55feadcfb7..380f70261d 100644
--- a/hints/machten.sh
+++ b/hints/machten.sh
@@ -1,8 +1,8 @@
# machten.sh
-# This is for MachTen 4.0.3. 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,6 +13,7 @@
# Martijn Koster <m.koster@webcrawler.com>
# Richard Yeh <rcyeh@cco.caltech.edu>
#
+# 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
@@ -24,9 +25,6 @@
#
# 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 Jan 14 10:17:18 WET 1997
# Power MachTen is a real memory system and its standard malloc
# has been optimized for this. Using this malloc instead of Perl's
@@ -36,6 +34,11 @@ 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'
diff --git a/hints/os2.sh b/hints/os2.sh
index b468f2de41..2a589b5cb4 100644
--- a/hints/os2.sh
+++ b/hints/os2.sh
@@ -6,14 +6,11 @@
# 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 do not 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
@@ -24,28 +21,59 @@ path_sep=\;
if test -f $sh.exe; then sh=$sh.exe; fi
startsh="#!$sh"
-
-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`
cc='gcc'
-usrinc='/emx/include'
-emxpath="`../UU/loc . /emx c:/emx d:/emx e:/emx f:/emx g:/emx h:/emx /emx`"
-libemx="$emxpath/lib"
+# 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
- usrinc="$LIBRARY_PATH"
+ 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 "$emxpath/include"; then
- usrinc="$emxpath/include"
-else
- if test -d "$C_INCLUDE_PATH"; then
- usrinc="$C_INCLUDE_PATH"
+if test ! -d "$usrinc"; then
+ if test -d "$emxpath/include"; then
+ usrinc="$emxpath/include"
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`"
+ 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
diff --git a/hints/os390.sh b/hints/os390.sh
new file mode 100644
index 0000000000..fd590eaa4e
--- /dev/null
+++ b/hints/os390.sh
@@ -0,0 +1,33 @@
+# hints/os390.sh
+# OS/390 OpenEdition Release 3 Mon Sep 22 1997 thanks to:
+#
+# John Pfuntner <pfuntner@vnet.ibm.com>
+# Len Johnson <lenjay@ibm.net>
+# Bud Huff <BAHUFF@us.oracle.com>
+# Peter Prymmer <pvhp@forte.com>
+# Andy Dougherty <doughera@lafcol.lafayette.edu>
+# Tim Bunce <Tim.Bunce@ig.co.uk>
+#
+# as well as the authors of the aix.sh file
+#
+
+cc='c89'
+ccflags='-DMAXSIG=38 -DOEMVS -D_OE_SOCKETS -D_XOPEN_SOURCE_EXTENDED -D_ALL_SOURCE'
+optimize='none'
+alignbytes=8
+usemymalloc='y'
+so='a'
+dlext='none'
+d_shmatprototype='define'
+usenm='false'
+i_time='define'
+i_systime='define'
+d_select='undef'
+
+# (from aix.sh)
+# uname -m output is too specific and not appropriate here
+#
+case "$archname" in
+'') archname="$osname" ;;
+esac
+
diff --git a/hints/qnx.sh b/hints/qnx.sh
index 9334c94339..947c98f679 100644
--- a/hints/qnx.sh
+++ b/hints/qnx.sh
@@ -1,10 +1,10 @@
#----------------------------------------------------------------
# QNX hints
#
-# As of perl5.003_09, perl5 will compile without errors
-# and pass almost all the tests in the test suite. The remaining
-# failures have been identified as bugs in the Watcom libraries
-# which I hope will be fixed in the near future.
+# As of perl5.004_04, all tests pass under:
+# QNX 4.23A
+# Watcom 10.6 with Beta/970211.wcc.update.tar.F
+# socket3r.lib Nov21 1996.
#
# As with many unix ports, this one depends on a few "standard"
# unix utilities which are not necessarily standard for QNX.
@@ -33,13 +33,16 @@
#----------------------------------------------------------------
# Outstanding Issues:
# lib/posix.t test fails on test 17 because acos(1) != 0.
-# Watcom promises to fix this in next release.
+# Resolved in 970211 Beta
# lib/io_udp.t test hangs because of a bug in getsockname().
# Fixed in latest BETA socket3r.lib
# If there is a softlink in your path, Findbin will fail.
-# This is a documented feature of getpwd().
+# This is a documented feature of perl's getpwd().
# There is currently no support for dynamically linked
# libraries.
+# op/magic.t failure due to a feature of QNX which rewrites script
+# names before they are executed. I think you'll find that if
+# you cd `fullpath -t` before doing the make, the test will pass.
#----------------------------------------------------------------
# At present, all QNX systems are equivalent architectures,
# so it might be reasonable to call archname=qnx rather than
@@ -54,6 +57,10 @@
# If you have suggestions or changes, please let me know.
#----------------------------------------------------------------
+echo ""
+echo "Some tests may fail. Please read the hints/qnx.sh file."
+echo ""
+
#----------------------------------------------------------------
# QNX doesn't come with a csh and the ports of tcsh I've used
# don't work reliably:
@@ -63,6 +70,16 @@ d_csh='undef'
full_csh=''
#----------------------------------------------------------------
+# setuid scripts are secure under QNX.
+# (Basically, the same race conditions apply, but assuming
+# the scripts are located in a secure directory, the methods
+# for exploiting the race condition are defeated because
+# the loader expands the script name fully before executing
+# the interpreter.)
+#----------------------------------------------------------------
+d_suidsafe='define'
+
+#----------------------------------------------------------------
# difftime is implemented as a preprocessor macro, so it doesn't show
# up in the libraries:
#----------------------------------------------------------------
@@ -74,16 +91,6 @@ d_difftime='define'
#----------------------------------------------------------------
d_strtod='define'
-#----------------------------------------------------------------
-# The following exist in the libraries, but there are no
-# prototypes available:
-#----------------------------------------------------------------
-d_setregid='undef'
-d_setreuid='undef'
-d_setlinebuf='undef'
-d_truncate='undef'
-d_getpgid='undef'
-
lib_ext='3r.lib'
libc='/usr/lib/clib3r.lib'
@@ -107,7 +114,7 @@ ccflags='-DHIDEMYMALLOC -mf -w4 -Wc,-wcd=202 -Wc,-wcd=203 -Wc,-wcd=302 -Wc,-fi=u
# link as well as the compile. If optimize != -g, you should
# remove this.
#----------------------------------------------------------------
-ldflags="-g"
+ldflags="-g -N1M"
so='none'
selecttype='fd_set *'
@@ -144,6 +151,7 @@ if [ -z "`which nm 2>/dev/null`" ]; then
#%C <lib> [<lib> ...]
# Designed to mimic Unix's nm utility to list
# defined symbols in a library
+ unset WLIB
for i in $*; do wlib $i; done |
awk '
/^ / {