source: trunk/third/perl/hints/svr4.sh @ 14545

Revision 14545, 4.5 KB checked in by ghudson, 24 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r14544, which included commits to RCS files with non-trunk default branches.
Line 
1# svr4 hints, System V Release 4.x
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
6# Use Configure -Dcc=gcc to use gcc.
7case "$cc" in
8'') cc='/bin/cc'
9    test -f $cc || cc='/usr/ccs/bin/cc'
10    ;;
11esac
12
13# We include support for using libraries in /usr/ucblib, but the setting
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.
17ldflags='-L/usr/ccs/lib -L/usr/ucblib'
18ccflags='-I/usr/include -I/usr/ucbinclude'
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.
24
25if [ -r /usr/ucblib/libucb.a ]; then    # If using BSD-compat. library:
26    d_Gconvert='gcvt((x),(n),(b))'      # Try gcvt() before gconvert().
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'
30    d_setlinebuf='undef'
31    # d_setregid='undef' d_setreuid='undef'  # ???
32fi
33
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
68
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!
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
75#
76#    Leave leading tabs on the next two lines so Configure doesn't
77#    propagate these variables to config.sh
78        uw_ver=`uname -v`
79        uw_isuw=`uname -X 2>&1 | grep Release`
80
81if [ "$uw_isuw" = "Release = 4.2" ]; then
82   case $uw_ver in
83   1.1)
84      d_casti32='undef'
85      ;;
86   esac
87fi
88if [ "$uw_isuw" = "Release = 4.2MP" ]; then
89   case $uw_ver in
90   2.1)
91        d_csh='undef'
92        d_memcpy='define'
93        d_memset='define'
94        ;;
95   2.1.*)
96        d_csh='undef'
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'
112        stdio_cnt='((fp)->__cnt)'
113        d_stdio_cnt_lval='define'
114        stdio_ptr='((fp)->__ptr)'
115        d_stdio_ptr_lval='define'
116        ;;
117   esac
118fi
119# End of Unixware-specific tests.
120
121# DDE SMES Supermax Enterprise Server
122case "`uname -sm`" in
123"UNIX_SV SMES")
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"
133        ;;
134    esac
135    ;;
136esac
137
138# Configure may fail to find lstat() since it's a static/inline function
139# in <sys/stat.h> on Unisys U6000 SVR4, UnixWare 2.x, and possibly other
140# SVR4 derivatives.  (Though UnixWare has it in /usr/ccs/lib/libc.so.)
141d_lstat=define
142
143d_suidsafe='define'     # "./Configure -d" can't figure this out easilly
144
Note: See TracBrowser for help on using the repository browser.