From: Jarkko Hietaniemi Date: Tue, 29 Jul 2003 19:55:50 +0000 (+0000) Subject: Revert #20301, apparently the _SOCKADDR_LEN #define is X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=8cfab5ff7c21540622402ad6821ff3565a6c7ff5;p=p5sagit%2Fp5-mst-13.2.git Revert #20301, apparently the _SOCKADDR_LEN #define is important for IPv6 (Spider). Since there is no way to otherwise detect 3.X, use the hints. p4raw-id: //depot/perl@20324 --- diff --git a/hints/dec_osf.sh b/hints/dec_osf.sh index ea2646d..114aca1 100644 --- a/hints/dec_osf.sh +++ b/hints/dec_osf.sh @@ -226,7 +226,7 @@ libswanted="`echo $libswanted | sed -e 's/ ndbm / /'`" lddlflags='-shared -expect_unresolved "*"' # Intentional leading tab. - myosvers="`/usr/sbin/sizer -v 2>/dev/null || head -1 /etc/motd`" + myosvers="`/usr/sbin/sizer -v 2>/dev/null || uname -r`" # Fancy compiler suites use optimising linker as well as compiler. # @@ -255,6 +255,10 @@ esac # Yes, the above loses if gcc does not use the system linker. # If that happens, let me know about it. +# Because there is no other handy way to recognize 3.X. +case "`uname -r`" in +*3.*) ccflags="$ccflags -DDEC_OSF1_3_X" ;; +esac # If debugging or (old systems and doing shared) # then do not strip the lib, otherwise, strip. diff --git a/perl.h b/perl.h index 34f6dd0..7f912e1 100644 --- a/perl.h +++ b/perl.h @@ -672,6 +672,14 @@ int usleep(unsigned int); # define WIN32SCK_IS_STDSCK /* don't pull in custom wsock layer */ #endif +/* In Tru64 use the 4.4BSD struct msghdr, not the 4.3 one. + * This is important for using IPv6. + * For OSF/1 3.2, however, defining _SOCKADDR_LEN would be + * a bad idea since it breaks send() and recv(). */ +#if defined(__osf__) && defined(__alpha) && !defined(_SOCKADDR_LEN) && !defined(DEC_OSF1_3_X) +# define _SOCKADDR_LEN +#endif + #if defined(HAS_SOCKET) && !defined(VMS) && !defined(WIN32) /* VMS/WIN32 handle sockets via vmsish.h/win32.h */ # include # if defined(USE_SOCKS) && defined(I_SOCKS)