3 # original from Krishna Sethuraman, krishna@sgi.com
5 # Modified Mon Jul 22 14:52:25 EDT 1996
6 # Andy Dougherty <doughera@lafcol.lafayette.edu>
7 # with help from Dean Roehrich <roehrich@cray.com>.
8 # cc -n32 update info from Krishna Sethuraman, krishna@sgi.com.
9 # additional update from Scott Henry, scotth@sgi.com
11 # Futzed with by John Stoffel <jfs@fluent.com> on 4/24/1997
12 # - assumes 'cc -n32' by default
13 # - tries to check for various compiler versions and do the right
15 # - warnings turned off (-n32 messages):
16 # 1116 - non-void function should return a value
17 # 1048 - cast between pointer-to-object and pointer-to-function
18 # 1042 - operand types are incompatible
20 # Tweaked by Chip Salzenberg <chip@perl.com> on 5/13/97
21 # - don't assume 'cc -n32' if the n32 libm.so is missing
23 # Threaded by Jarkko Hietaniemi <jhi@iki.fi> on 11/18/97
24 # - POSIX threads knowledge by IRIX version
26 # gcc-enabled by Kurt Starsinic <kstar@isinet.com> on 3/24/1998
28 # Use sh Configure -Dcc='cc -n32' to try compiling with -n32.
29 # or -Dcc='cc -n32 -mips3' (or -mips4) to force (non)portability
30 # Don't bother with -n32 unless you have the 7.1 or later compilers.
31 # But there's no quick and light-weight way to check in 6.2.
33 # Let's assume we want to use 'cc -n32' by default, unless the
34 # necessary libm is missing (which has happened at least twice)
37 if test -f /usr/lib32/libm.so
43 # Check for which compiler we're using
48 # Perl 5.004_57 introduced new qsort code into pp_ctl.c that
49 # makes IRIX cc prior to 7.2.1 to emit bad code.
50 # so some serious hackery follows to set pp_ctl flags correctly.
52 # Check for which version of the compiler we're running
53 case "`$cc -version 2>&1`" in
55 ccflags="$ccflags -D_BSD_TYPES -D_BSD_TIME -woff 1009,1042,1048,1110,1116,1184 -OPT:Olimit=0"
58 *7.1*|*7.2|*7.20) # Mongoose 7.1+
59 ccflags="$ccflags -D_BSD_TYPES -D_BSD_TIME -woff 1009,1110,1184 -OPT:Olimit=0"
61 # This is a temporary fix for 5.005.
62 # Leave pp_ctl_cflags line at left margin for Configure. See
63 # hints/README.hints, especially the section
64 # =head2 Propagating variables to config.sh
65 pp_ctl_cflags='optimize=-O'
67 *7.*) # Mongoose 7.2.1+
68 ccflags="$ccflags -D_BSD_TYPES -D_BSD_TIME -woff 1009,1110,1184 -OPT:Olimit=0:space=on"
72 ccflags="$ccflags -D_BSD_TYPES -D_BSD_TIME -woff 1009,1110,1184"
75 *) # Be safe and not optimize
76 ccflags="$ccflags -D_BSD_TYPES -D_BSD_TIME -woff 1009,1110,1184 -OPT:Olimit=0"
82 # perl's malloc can return improperly aligned buffer
84 # NOTE: -L/usr/lib32 -L/lib32 are automatically selected by the linker
85 ldflags=' -L/usr/local/lib32 -L/usr/local/lib'
87 # From: David Billinghurst <David.Billinghurst@riotinto.com.au>
88 # If you get complaints about so_locations then change the following
89 # line to something like:
90 # lddlflags="-n32 -shared -check_registry /usr/lib32/so_locations"
91 lddlflags="-n32 -shared"
92 libc='/usr/lib32/libc.so'
93 plibpth='/usr/lib32 /lib32 /usr/ccs/lib'
98 ccflags="$ccflags -D_BSD_TYPES -D_BSD_TIME -D_POSIX_C_SOURCE"
103 # this is needed to force the old-32 paths
104 # since the system default can be changed.
105 ccflags="$ccflags -32 -D_BSD_TYPES -D_BSD_TIME -Olimit 3100"
110 # We don't want these libraries.
111 # Socket networking is in libc, these are not installed by default,
112 # and just slow perl down. (scotth@sgi.com)
113 set `echo X "$libswanted "|sed -e 's/ socket / /' -e 's/ nsl / /' -e 's/ dl / /'`
117 # I have conflicting reports about the sun, crypt, bsd, and PW
118 # libraries on Irix 6.2.
121 # Don't need sun crypt bsd PW under 6.2. You *may* need to link
122 # with these if you want to run perl built under 6.2 on a 5.3 machine
123 # (I haven't checked)
125 # Another user reported that if he included those libraries, a large number
126 # of the tests failed (approx. 20-25) and he would get a core dump. To
127 # make things worse, test results were inconsistent, i.e., some of the
128 # tests would pass some times and fail at other times.
129 # The safest thing to do seems to be to eliminate them.
131 # Actually, the only libs that you want are '-lm'. Everything else
132 # you need is in libc. You do also need '-lbsd' if you choose not
133 # to use the -D_BSD_* defines. Note that as of 6.2 the only
134 # difference between '-lmalloc' and '-lc' malloc is the debugging
135 # and control calls, which aren't used by perl. -- scotth@sgi.com
137 set `echo X "$libswanted "|sed -e 's/ sun / /' -e 's/ crypt / /' -e 's/ bsd / /' -e 's/ PW / /' -e 's/ malloc / /'`
141 if [ "X$usethreads" = "X$define" -o "X$usethreads" = "Xy" ]; then
142 if test ! -f /usr/include/pthread.h -o ! -f /usr/lib/libpthread.so; then
146 echo >&4 "IRIX $uname_r does not have the POSIX threads."
147 echo >&4 "You should upgrade to at least IRIX 6.2 with pthread patches."
148 echo >&4 "Cannot continue, aborting."
154 IRIX 6.2 $uname_r can have the POSIX threads.
155 The following IRIX patches (or their replacements) must, however, be installed:
157 1404 Irix 6.2 Posix 1003.1b man pages
158 1645 IRIX 6.2 & 6.3 POSIX header file updates
159 2000 Irix 6.2 Posix 1003.1b support modules
160 2254 Pthread library fixes
161 2401 6.2 all platform kernel rollup
163 Without patch 2401, a kernel bug in IRIX 6.2 will
164 cause your machine to panic and crash when running
165 threaded perl. IRIX 6.3 and up should be OK.
168 Cannot continue, aborting.
173 echo >&4 "IRIX $uname_r should have the POSIX threads."
174 echo >&4 "But somehow you do not seem to have them installed."
175 echo >&4 "Cannot continue, aborting."
181 # -lpthread needs to come before -lc but after other libraries such
182 # as -lgdbm and such like. We assume here that -lc is present in
183 # libswanted. If that fails to be true in future, then this can be
184 # changed to add pthread to the very end of libswanted.
185 set `echo X "$libswanted "| sed -e 's/ c / pthread /'`