]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Patch 728330: Fix compilation problems on IRIX.
authorMartin v. Löwis <martin@v.loewis.de>
Thu, 30 Dec 2004 13:52:17 +0000 (13:52 +0000)
committerMartin v. Löwis <martin@v.loewis.de>
Thu, 30 Dec 2004 13:52:17 +0000 (13:52 +0000)
Modules/socketmodule.c

index edf587a70de4ea51d33a9ede99d9456ad66d9d42..b28496dc24db6ad6a948c8a6637c0d32a140a302 100644 (file)
@@ -192,8 +192,18 @@ shutdown(how) -- shut down traffic in one or both directions\n\
 
 /* 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 @@ int h_errno; /* not used */
 # 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);