+if enabled network; then
+ check_type "sys/types.h sys/socket.h" socklen_t
+ check_type netdb.h "struct addrinfo"
+ check_type netinet/in.h "struct ipv6_mreq" -D_DARWIN_C_SOURCE
+ check_type netinet/in.h "struct sockaddr_in6"
+ check_type "sys/types.h sys/socket.h" "struct sockaddr_storage"
+ check_struct "sys/types.h sys/socket.h" "struct sockaddr" sa_len
+ # Prefer arpa/inet.h over winsock2
+ if check_header arpa/inet.h ; then
+ check_func closesocket
+ elif check_header winsock2.h ; then
+ check_func_headers winsock2.h closesocket -lws2 && \
+ network_extralibs="-lws2" || \
+ { check_func_headers winsock2.h closesocket -lws2_32 && \
+ network_extralibs="-lws2_32"; }
+ check_type ws2tcpip.h socklen_t
+ check_type ws2tcpip.h "struct addrinfo"
+ check_type ws2tcpip.h "struct ipv6_mreq"
+ check_type ws2tcpip.h "struct sockaddr_in6"
+ check_type ws2tcpip.h "struct sockaddr_storage"
+ check_struct winsock2.h "struct sockaddr" sa_len
+ else
+ disable network
+ fi
+fi
+