summaryrefslogtreecommitdiff
path: root/Modules
diff options
context:
space:
mode:
authorMartin v. Löwis <martin@v.loewis.de>2004-12-30 13:52:17 +0000
committerMartin v. Löwis <martin@v.loewis.de>2004-12-30 13:52:17 +0000
commit85e6c71d1d993bf2c0df3566517ac93d9fe506cc (patch)
tree2bb81e8148bd618590b442c1435557594c3e9305 /Modules
parent5a56126adadeddac3234c059aebaa46a12c63e45 (diff)
downloadcpython-git-85e6c71d1d993bf2c0df3566517ac93d9fe506cc.tar.gz
Patch 728330: Fix compilation problems on IRIX.
Diffstat (limited to 'Modules')
-rw-r--r--Modules/socketmodule.c24
1 files changed, 23 insertions, 1 deletions
diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c
index edf587a70d..b28496dc24 100644
--- a/Modules/socketmodule.c
+++ b/Modules/socketmodule.c
@@ -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);