@@ -1679,18 +1679,66 @@ LIBS="$LIBS $EMU_THR_X_LIBS"
1679
1679
1680
1680
dnl Check if we have these, in which case we'll try to build
1681
1681
dnl inet_gethost with ipv6 support.
1682
- AC_CHECK_FUNC ( getaddrinfo , have_getaddrinfo=yes , have_getaddrinfo=no )
1682
+ AC_CHECK_HEADERS ( windows.h )
1683
+ AC_CHECK_HEADERS ( winsock2.h )
1684
+ AC_CHECK_HEADERS ( ws2tcpip.h ,[ ] ,[ ] ,[
1685
+ #ifdef HAVE_WINSOCK2_H
1686
+ #include <winsock2.h>
1687
+ #endif
1688
+ #ifdef HAVE_WINDOWS_H
1689
+ #include <windows.h>
1690
+ #endif
1691
+ ] )
1692
+ dnl AC_CHECK_FUNC(getaddrinfo, have_getaddrinfo=yes, have_getaddrinfo=no)
1693
+ AC_MSG_CHECKING ( for getaddrinfo )
1694
+ AC_TRY_LINK ( [
1695
+ #include <stdlib.h>
1696
+ #include <string.h>
1697
+ #ifdef HAVE_WINSOCK2_H
1698
+ #include <winsock2.h>
1699
+ #endif
1700
+ #ifdef HAVE_WINDOWS_H
1701
+ #include <windows.h>
1702
+ #endif
1703
+ #ifdef HAVE_WS2TCPIP_H
1704
+ #include <ws2tcpip.h>
1705
+ #endif
1706
+ #ifndef __WIN32__
1707
+ #include <sys/socket.h>
1708
+ #include <netdb.h>
1709
+ #endif
1710
+ ] ,
1711
+ [
1712
+ getaddrinfo("","",NULL,NULL);
1713
+ ] ,have_getaddrinfo=yes , have_getaddrinfo=no )
1683
1714
if test $have_getaddrinfo = yes; then
1715
+ AC_MSG_RESULT ( [ yes] )
1684
1716
AC_MSG_CHECKING ( [ whether getaddrinfo accepts enough flags] )
1685
- AC_TRY_RUN ( [
1717
+ AC_TRY_COMPILE ( [
1686
1718
#include <stdlib.h>
1687
1719
#include <string.h>
1720
+ #ifdef HAVE_WINSOCK2_H
1721
+ #include <winsock2.h>
1722
+ #endif
1723
+ #ifdef HAVE_WINDOWS_H
1724
+ #include <windows.h>
1725
+ #endif
1726
+ #ifdef HAVE_WS2TCPIP_H
1727
+ #include <ws2tcpip.h>
1728
+ #endif
1729
+ #ifndef __WIN32__
1688
1730
#include <sys/socket.h>
1689
1731
#include <netdb.h>
1690
- int main(int argc, char **argv) {
1732
+ #endif
1733
+ ] ,
1734
+ [
1691
1735
struct addrinfo hints, *ai;
1692
1736
memset(&hints, 0, sizeof(hints));
1737
+ #ifndef __WIN32__
1693
1738
hints.ai_flags = (AI_CANONNAME|AI_V4MAPPED|AI_ADDRCONFIG);
1739
+ #else
1740
+ hints.ai_flags = AI_CANONNAME;
1741
+ #endif
1694
1742
hints.ai_socktype = SOCK_STREAM;
1695
1743
hints.ai_family = AF_INET6;
1696
1744
if (getaddrinfo("::", NULL, &hints, &ai) == 0) {
@@ -1699,26 +1747,48 @@ int main(int argc, char **argv) {
1699
1747
} else {
1700
1748
exit(1);
1701
1749
}
1702
- }
1703
- ] ,, have_getaddrinfo=no ,
1704
- [
1705
- case X$erl_xcomp_getaddrinfo in
1706
- X) have_getaddrinfo=cross;;
1707
- Xyes|Xno) have_getaddrinfo=$erl_xcomp_getaddrinfo;;
1708
- *) AC_MSG_ERROR ( [ Bad erl_xcomp_getaddrinfo value: $erl_xcomp_getaddrinfo] ) ;;
1709
- esac
1710
- ] )
1750
+ ] ,, have_getaddrinfo=no )
1711
1751
AC_MSG_RESULT ( $have_getaddrinfo )
1712
1752
case $have_getaddrinfo in
1713
1753
yes)
1714
1754
AC_DEFINE ( HAVE_GETADDRINFO , [ 1] ,
1715
1755
[ Define to 1 if you have a good `getaddrinfo' function.] ) ;;
1716
- cross)
1717
- AC_MSG_WARN ( [ result no guessed because of cross compilation] ) ;;
1718
1756
*) ;;
1719
1757
esac
1758
+ else
1759
+ AC_MSG_RESULT ( [ no] )
1720
1760
fi
1721
- AC_CHECK_FUNCS ( [ getnameinfo getipnodebyname getipnodebyaddr gethostbyname2] )
1761
+ AC_MSG_CHECKING ( for getnameinfo )
1762
+ AC_TRY_LINK ( [
1763
+ #include <stdlib.h>
1764
+ #include <string.h>
1765
+ #ifdef HAVE_WINSOCK2_H
1766
+ #include <winsock2.h>
1767
+ #endif
1768
+ #ifdef HAVE_WINDOWS_H
1769
+ #include <windows.h>
1770
+ #endif
1771
+ #ifdef HAVE_WS2TCPIP_H
1772
+ #include <ws2tcpip.h>
1773
+ #endif
1774
+ #ifndef __WIN32__
1775
+ #include <sys/socket.h>
1776
+ #include <netdb.h>
1777
+ #endif
1778
+ ] ,
1779
+ [
1780
+ getnameinfo(NULL,0,NULL,0,NULL,0,0);
1781
+ ] ,have_getnameinfo=yes , have_getnameinfo=no )
1782
+ if test $have_getnameinfo = yes; then
1783
+ AC_MSG_RESULT ( [ yes] )
1784
+ AC_DEFINE ( HAVE_GETNAMEINFO , [ 1] ,
1785
+ [ Define to 1 if you have a good `getnameinfo' function.] )
1786
+ else
1787
+ AC_MSG_RESULT ( [ no] )
1788
+ fi
1789
+
1790
+
1791
+ AC_CHECK_FUNCS ( [ getipnodebyname getipnodebyaddr gethostbyname2] )
1722
1792
1723
1793
AC_CHECK_FUNCS ( [ ieee_handler fpsetmask finite isnan isinf res_gethostbyname dlopen \
1724
1794
pread pwrite writev memmove strerror strerror_r strncasecmp \
0 commit comments