Chip noticed that the intended optionality of the 'IV' was
[p5sagit/p5-mst-13.2.git] / hints / svr4.sh
CommitLineData
a0d0e21e 1# svr4 hints, System V Release 4.x
883fc332 2# Last modified 1996/10/25 by Tye McQueen, tye@metronet.com
3# Merged 1998/04/23 with perl5.004_04 distribution by
4# Andy Dougherty <doughera@lafayette.edu>
5
a0d0e21e 6# Use Configure -Dcc=gcc to use gcc.
7case "$cc" in
8'') cc='/bin/cc'
9 test -f $cc || cc='/usr/ccs/bin/cc'
a0d0e21e 10 ;;
11esac
883fc332 12
a0d0e21e 13# We include support for using libraries in /usr/ucblib, but the setting
883fc332 14# of libswanted excludes some libraries found there. If you run into
15# problems, you may have to remove "ucb" from libswanted. Just delete
16# the comment '#' from the sed command below.
a0d0e21e 17ldflags='-L/usr/ccs/lib -L/usr/ucblib'
d48672a2 18ccflags='-I/usr/include -I/usr/ucbinclude'
1aef975c 19# Don't use problematic libraries:
20libswanted=`echo " $libswanted " | sed -e 's/ malloc / /'` # -e 's/ ucb / /'`
21# libmalloc.a - Probably using Perl's malloc() anyway.
22# libucb.a - Remove it if you have problems ld'ing. We include it because
23# it is needed for ODBM_File and NDBM_File extensions.
883fc332 24
1aef975c 25if [ -r /usr/ucblib/libucb.a ]; then # If using BSD-compat. library:
aade5aff 26 gconvert_preference='gcvt sprintf' # Try gcvt() before gconvert().
1aef975c 27 # Use the "native" counterparts, not the BSD emulation stuff:
28 d_bcmp='undef' d_bcopy='undef' d_bzero='undef' d_safebcpy='undef'
29 d_index='undef' d_killpg='undef' d_getprior='undef' d_setprior='undef'
883fc332 30 d_setlinebuf='undef'
31 # d_setregid='undef' d_setreuid='undef' # ???
1aef975c 32fi
a5f75d66 33
883fc332 34# UnixWare has /usr/lib/libc.so.1, /usr/lib/libc.so.1.1, and
35# /usr/ccs/lib/libc.so. Configure chooses libc.so.1.1 while it
36# appears that /usr/ccs/lib/libc.so contains more symbols:
37#
38# Try the following if you want to use nm-extraction. We'll just
39# skip the nm-extraction phase, since searching for all the different
40# library versions will be hard to keep up-to-date.
41#
42# if [ "" = "$libc" -a -f /usr/ccs/lib/libc.so -a \
43# -f /usr/lib/libc.so.1 -a -f /usr/lib/libc.so.1.1 ]; then
44# if nm -h /usr/ccs/lib/libc.so | egrep '\<_?select$' >/dev/null; then
45# if nm -h /usr/lib/libc.so.1 | egrep '\<_?select$'` >/dev/null ||
46# nm -h /usr/lib/libc.so.1.1 | egrep '\<_?select$'` >/dev/null; then
47# :
48# else
49# libc=/usr/ccs/lib/libc.so
50# fi
51# fi
52# fi
53#
54# Don't bother with nm. Just compile & link a small C program.
55case "$usenm" in
56'') usenm=false;;
57esac
58
59# Broken C-Shell tests (Thanks to Tye McQueen):
60# The OS-specific checks may be obsoleted by the this generic test.
61 sh_cnt=`sh -c 'echo /*' | wc -c`
62 csh_cnt=`csh -f -c 'glob /*' 2>/dev/null | wc -c`
63 csh_cnt=`expr 1 + $csh_cnt`
64if [ "$sh_cnt" -ne "$csh_cnt" ]; then
65 echo "You're csh has a broken 'glob', disabling..." >&2
66 d_csh='undef'
67fi
a5f75d66 68
dd64f1c3 69# Unixware-specific problems. The undocumented -X argument to uname
70# is probably a reasonable way of detecting UnixWare.
71# UnixWare has a broken csh. (This might already be detected above).
72# In Unixware 2.1.1 the fields in FILE* got renamed!
a6b06eff 73# Unixware 1.1 can't cast large floats to 32-bit ints.
74# Configure can't detect memcpy or memset on Unixware 2 or 7
dd64f1c3 75#
76# Leave leading tabs on the next two lines so Configure doesn't
77# propagate these variables to config.sh
883fc332 78 uw_ver=`uname -v`
79 uw_isuw=`uname -X 2>&1 | grep Release`
dd64f1c3 80
491527d0 81if [ "$uw_isuw" = "Release = 4.2" ]; then
82 case $uw_ver in
83 1.1)
84 d_casti32='undef'
85 ;;
86 esac
87fi
850679cb 88if [ "$uw_isuw" = "Release = 4.2MP" ]; then
89 case $uw_ver in
90 2.1)
883fc332 91 d_csh='undef'
a6b06eff 92 d_memcpy='define'
93 d_memset='define'
883fc332 94 ;;
850679cb 95 2.1.*)
883fc332 96 d_csh='undef'
a6b06eff 97 d_memcpy='define'
98 d_memset='define'
99 stdio_cnt='((fp)->__cnt)'
100 d_stdio_cnt_lval='define'
101 stdio_ptr='((fp)->__ptr)'
102 d_stdio_ptr_lval='define'
103 ;;
104 esac
105fi
106if [ "$uw_isuw" = "Release = 5" ]; then
107 case $uw_ver in
108 7)
109 d_csh='undef'
110 d_memcpy='define'
111 d_memset='define'
883fc332 112 stdio_cnt='((fp)->__cnt)'
113 d_stdio_cnt_lval='define'
114 stdio_ptr='((fp)->__ptr)'
115 d_stdio_ptr_lval='define'
116 ;;
850679cb 117 esac
055be0b8 118fi
dd64f1c3 119# End of Unixware-specific tests.
055be0b8 120
a0edfb28 121# DDE SMES Supermax Enterprise Server
3e3baf6d 122case "`uname -sm`" in
123"UNIX_SV SMES")
883fc332 124 # the *grent functions are in libgen.
125 libswanted="$libswanted gen"
126 # csh is broken (also) in SMES
127 # This may already be detected by the generic test above.
128 d_csh='undef'
129 case "$cc" in
130 *gcc*) ;;
131 *) # for cc we need -K PIC (not -K pic)
132 cccdlflags="$cccdlflags -K PIC"
a0edfb28 133 ;;
883fc332 134 esac
135 ;;
a0edfb28 136esac
137
b8392fa5 138# NCR MP-RAS. Thanks to Doug Hendricks for this info.
139# The output of uname -a looks like this
140# foo foo 4.0 3.0 3441 Pentium III(TM)-ISA/PCI
c17f77a2 141# Similar errors reported for
142# foo foo 4.0 3.0 4400 pentium ii(tm)-isapci '
143
b8392fa5 144# Configure sets osname=svr4.0, osvers=3.0, archname='3441-svr4.0'
145case "$myuname" in
c17f77a2 146*3441*|*4400*isapci)
b8392fa5 147 # With the NCR High Performance C Compiler R3.0c, miniperl fails
148 # t/op/regexp.t test 461 unless we compile with optimizie=-g.
149 # The whole O/S is being phased out, so more detailed probing
150 # is probably not warranted.
151 case "$optimize" in
152 '') optimize='-g' ;;
153 esac
154 ;;
155esac
156
883fc332 157# Configure may fail to find lstat() since it's a static/inline function
158# in <sys/stat.h> on Unisys U6000 SVR4, UnixWare 2.x, and possibly other
159# SVR4 derivatives. (Though UnixWare has it in /usr/ccs/lib/libc.so.)
160d_lstat=define
161
162d_suidsafe='define' # "./Configure -d" can't figure this out easilly
163