Commit b156a46b authored by Antoine Pitrou's avatar Antoine Pitrou

Issue #8852: Allow the socket module to build on OpenSolaris.

parent 71f8cc9b
...@@ -184,6 +184,8 @@ Tests ...@@ -184,6 +184,8 @@ Tests
Build Build
----- -----
- Issue #8852: Allow the socket module to build on OpenSolaris.
- Drop -OPT:Olimit compiler option. - Drop -OPT:Olimit compiler option.
- Issue #10094: Use versioned .so files on GNU/kfreeBSD and the GNU Hurd. - Issue #10094: Use versioned .so files on GNU/kfreeBSD and the GNU Hurd.
......
...@@ -1139,7 +1139,7 @@ makesockaddr(SOCKET_T sockfd, struct sockaddr *addr, size_t addrlen, int proto) ...@@ -1139,7 +1139,7 @@ makesockaddr(SOCKET_T sockfd, struct sockaddr *addr, size_t addrlen, int proto)
} }
#endif #endif
#ifdef HAVE_NETPACKET_PACKET_H #if defined(HAVE_NETPACKET_PACKET_H) && defined(SIOCGIFNAME)
case AF_PACKET: case AF_PACKET:
{ {
struct sockaddr_ll *a = (struct sockaddr_ll *)addr; struct sockaddr_ll *a = (struct sockaddr_ll *)addr;
...@@ -1455,7 +1455,7 @@ getsockaddrarg(PySocketSockObject *s, PyObject *args, ...@@ -1455,7 +1455,7 @@ getsockaddrarg(PySocketSockObject *s, PyObject *args,
} }
#endif #endif
#ifdef HAVE_NETPACKET_PACKET_H #if defined(HAVE_NETPACKET_PACKET_H) && defined(SIOCGIFINDEX)
case AF_PACKET: case AF_PACKET:
{ {
struct sockaddr_ll* addr; struct sockaddr_ll* addr;
...@@ -4569,16 +4569,32 @@ PyInit__socket(void) ...@@ -4569,16 +4569,32 @@ PyInit__socket(void)
PyModule_AddStringConstant(m, "BDADDR_LOCAL", "00:00:00:FF:FF:FF"); PyModule_AddStringConstant(m, "BDADDR_LOCAL", "00:00:00:FF:FF:FF");
#endif #endif
#ifdef HAVE_NETPACKET_PACKET_H #ifdef AF_PACKET
PyModule_AddIntConstant(m, "AF_PACKET", AF_PACKET); PyModule_AddIntMacro(m, AF_PACKET);
PyModule_AddIntConstant(m, "PF_PACKET", PF_PACKET); #endif
PyModule_AddIntConstant(m, "PACKET_HOST", PACKET_HOST); #ifdef PF_PACKET
PyModule_AddIntConstant(m, "PACKET_BROADCAST", PACKET_BROADCAST); PyModule_AddIntMacro(m, PF_PACKET);
PyModule_AddIntConstant(m, "PACKET_MULTICAST", PACKET_MULTICAST); #endif
PyModule_AddIntConstant(m, "PACKET_OTHERHOST", PACKET_OTHERHOST); #ifdef PACKET_HOST
PyModule_AddIntConstant(m, "PACKET_OUTGOING", PACKET_OUTGOING); PyModule_AddIntMacro(m, PACKET_HOST);
PyModule_AddIntConstant(m, "PACKET_LOOPBACK", PACKET_LOOPBACK); #endif
PyModule_AddIntConstant(m, "PACKET_FASTROUTE", PACKET_FASTROUTE); #ifdef PACKET_BROADCAST
PyModule_AddIntMacro(m, PACKET_BROADCAST);
#endif
#ifdef PACKET_MULTICAST
PyModule_AddIntMacro(m, PACKET_MULTICAST);
#endif
#ifdef PACKET_OTHERHOST
PyModule_AddIntMacro(m, PACKET_OTHERHOST);
#endif
#ifdef PACKET_OUTGOING
PyModule_AddIntMacro(m, PACKET_OUTGOING);
#endif
#ifdef PACKET_LOOPBACK
PyModule_AddIntMacro(m, PACKET_LOOPBACK);
#endif
#ifdef PACKET_FASTROUTE
PyModule_AddIntMacro(m, PACKET_FASTROUTE);
#endif #endif
#ifdef HAVE_LINUX_TIPC_H #ifdef HAVE_LINUX_TIPC_H
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment