Commit 0deab78d authored by Jinoh Kang's avatar Jinoh Kang Committed by Alexandre Julliard

ws2_32: Avoid relying on linux/ipx.h to define SOL_IPX.

musl libc doesn't supply any definitions for IPX, such as the SOL_IPX macro. However, it still provides linux/ipx.h from Linux uAPI header files if it exists. Linux kernel wouldn't drop linux/ipx.h from uAPI headers until 5.15, although IPX support has already been marked obsolete since 2018. Fix this by not defining HAS_IPX if linux/ipx.h has been included but nothing defines the SOL_IPX macro. Status of IPX support from other libcs are noted below: - bionic: netipx/ipx.h does not exist. linux/ipx.h may or may not exist. Note that sys/socket.h defines SOL_IPX even if linux/ipx.h is missing. - glibc: netipx/ipx.h exists. In this case, Wine assumes IPX support even if the operating system does not support it in runtime. - BSD variants: netipx/ipx.h may or may not exist. linux/ipx.h does not exist. Some BSDs supply SO_DEFAULT_HEADERS instead of SOL_IPX. Fixes: da4e359a
parent 14d4a896
......@@ -75,7 +75,9 @@
# include <linux/types.h>
# endif
# include <linux/ipx.h>
# define HAS_IPX
# ifdef SOL_IPX
# define HAS_IPX
# endif
#endif
#ifdef HAVE_LINUX_IRDA_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