case "$cc" in
*gcc*) ccflags="$ccflags -D_BSD_TYPES" ;;
-*) ccflags="$ccflags -D_POSIX_SOURCE -ansiposix -D_BSD_TYPES -Olimit 3000" ;;
+*)
+ # The warnings turned off are:
+ # 608: Undefined the ANSI standard library defined macro stderr (nostdio.h)
+ # 658: bit-field 'th_off' type required to be int, unsigned int, or signed int. <netinet/tcp.h>
+ # 734: enum declaration must contain enum literals <sys/vnode.h>
+ ccflags="$ccflags -D_POSIX_SOURCE -ansiposix -D_BSD_TYPES -Olimit 4000 -woff 608,658,734"
+# Otherwise the cc thinks that a struct timeval * is not equivalent to
+# a struct timeval *. Yeah, you read that right.
+pp_sys_cflags='ccflags="$ccflags -DPERL_IRIX5_SELECT_TIMEVAL_VOID_CAST"'
+ ;;
esac
lddlflags="-shared"
shift
libswanted="$*"
+# Don't groan about unused libraries.
+case "$ldflags" in
+ *-Wl,-woff,84*) ;;
+ *) ldflags="$ldflags -Wl,-woff,84" ;;
+esac
+
# Date: Fri, 22 Dec 1995 11:49:17 -0800
# From: Matthew Black <black@csulb.edu>
# Subject: sockets broken under IRIX 5.3? YES...how to fix
# patchSG0000596. The patch can be downloaded from Advantage OnLine (SGI's
# WWW server) or from the Support Advantage 9/95 Patch CDROM. Thanks to Tom
# Christiansen and others who provided assistance.
+
+case "$usethreads" in
+$define|true|[yY]*)
+ cat >&4 <<EOM
+IRIX `uname -r` does not support POSIX threads.
+You should upgrade to at least IRIX 6.2 with pthread patches.
+EOM
+ exit 1
+ ;;
+esac
+
+case " $use64bits $use64bitint $use64bitall " in
+*" $define "*|*" true "*|*" [yY] "*)
+ cat >&4 <<EOM
+IRIX `uname -r` does not support 64-bit types.
+You should upgrade to at least IRIX 6.2.
+Cannot continue, aborting.
+EOM
+ exit 1
+esac
+