diff Modules/socketmodule.c @ 34282:eab174d0ed03 2.3

Patch 728330: Fix compilation problems on IRIX.
author Martin v. Löwis <martin@v.loewis.de>
date Thu, 30 Dec 2004 13:52:17 +0000
parents f159b15f1f5c
children
line wrap: on
line diff
--- a/Modules/socketmodule.c	Tue Dec 28 21:53:15 2004 +0000
+++ b/Modules/socketmodule.c	Thu Dec 30 13:52:17 2004 +0000
@@ -192,8 +192,18 @@
 
 /* XXX Using _SGIAPI is the wrong thing, 
    but I don't know what the right thing is. */
+#undef _SGIAPI /* to avoid warning */
 #define _SGIAPI 1
 
+#undef _XOPEN_SOURCE
+#include <sys/socket.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#ifdef _SS_ALIGNSIZE
+#define HAVE_GETADDRINFO 1
+#define HAVE_GETNAMEINFO 1
+#endif
+
 #define HAVE_INET_PTON
 #include <netdb.h>
 #endif
@@ -259,7 +269,19 @@
 # define O_NONBLOCK O_NDELAY
 #endif
 
-#include "addrinfo.h"
+/* include Python's addrinfo.h unless it causes trouble */
+#if defined(__sgi) && _COMPILER_VERSION>700 && defined(_SS_ALIGNSIZE)
+  /* Do not include addinfo.h on some newer IRIX versions.
+   * __SS_ALIGNSIZE is defined in sys/socket.h by 6.5.21,
+   * for example, but not by 6.5.10.
+   */
+#elif defined(_MSC_VER) && _MSC_VER>1200
+  /* Do not include addrinfo.h for MSVC7 or greater.
+   * addrinfo and EAI_* constants are defined in ws2tcpip.h
+   */
+#else
+#  include "addrinfo.h"
+#endif
 
 #ifndef HAVE_INET_PTON
 int inet_pton(int af, const char *src, void *dst);