This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Win32: try to make the new stat pre-Vista compatible
[perl5.git] / hints / irix_5.sh
index 5027b15..d6350ce 100644 (file)
@@ -9,10 +9,21 @@ usemymalloc='n'
 
 ld=ld
 i_time='define'
+i_inttypes='undef'
 
 case "$cc" in
-*gcc) ccflags="$ccflags -D_BSD_TYPES" ;;
-*) ccflags="$ccflags -D_POSIX_SOURCE -ansiposix -D_BSD_TYPES -Olimit 3000" ;;
+*gcc*) ccflags="$ccflags -D_BSD_TYPES" ;;
+*)
+   # 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>
+   # 799: 'long long' is not standard ANSI.
+   ccflags="$ccflags -D_POSIX_SOURCE -ansiposix -D_BSD_TYPES -Olimit 4300 -woff 608,658,734,799"
+# Without this 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"
@@ -22,6 +33,13 @@ set `echo X "$libswanted "|sed -e 's/ socket / /' -e 's/ nsl / /' -e 's/ dl / /'
 shift
 libswanted="$*"
 
+# IRIX 5.x does not have -woff for ld.
+# 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
@@ -32,3 +50,24 @@ libswanted="$*"
 # 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
+