aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYang Tse <yangsita@gmail.com>2008-11-18 01:57:28 +0000
committerYang Tse <yangsita@gmail.com>2008-11-18 01:57:28 +0000
commit9b12f0960001d3b7d13c8ef37b0bd7a35505211a (patch)
treefa8c79af63471fa03734049998c6bb3c0a3c9163
parenta71762e405f6cdfb1ae7372c72882af317c5b3cb (diff)
check for gethostbyaddr and gethostbyname as it is done for other functions
-rw-r--r--ares/configure.ac6
-rw-r--r--ares/m4/cares-functions.m4190
-rw-r--r--configure.ac7
-rw-r--r--m4/curl-functions.m4190
4 files changed, 384 insertions, 9 deletions
diff --git a/ares/configure.ac b/ares/configure.ac
index 56bcf6e80..6d5096898 100644
--- a/ares/configure.ac
+++ b/ares/configure.ac
@@ -328,9 +328,7 @@ then
fi
-if test "$HAVE_GETHOSTBYNAME" = "1"; then
- AC_DEFINE(HAVE_GETHOSTBYNAME, 1, [If you have gethostbyname])
-else
+if test "$HAVE_GETHOSTBYNAME" != "1"; then
AC_MSG_ERROR([couldn't find libraries for gethostbyname()])
fi
@@ -542,6 +540,8 @@ CURL_CHECK_MSG_NOSIGNAL
CARES_CHECK_FUNC_FCNTL
CARES_CHECK_FUNC_FREEADDRINFO
CARES_CHECK_FUNC_GETADDRINFO
+CARES_CHECK_FUNC_GETHOSTBYADDR
+CARES_CHECK_FUNC_GETHOSTBYNAME
CARES_CHECK_FUNC_GETHOSTNAME
CARES_CHECK_FUNC_GETSERVBYPORT_R
CARES_CHECK_FUNC_INET_NTOP
diff --git a/ares/m4/cares-functions.m4 b/ares/m4/cares-functions.m4
index bfc2c0b5f..5cfc35ab3 100644
--- a/ares/m4/cares-functions.m4
+++ b/ares/m4/cares-functions.m4
@@ -16,7 +16,7 @@
#***************************************************************************
# File version for 'aclocal' use. Keep it a single number.
-# serial 25
+# serial 26
dnl CARES_INCLUDES_ARPA_INET
@@ -667,6 +667,194 @@ AC_DEFUN([CARES_CHECK_FUNC_GETADDRINFO], [
])
+dnl CARES_CHECK_FUNC_GETHOSTBYADDR
+dnl -------------------------------------------------
+dnl Verify if gethostbyaddr is available, prototyped,
+dnl and can be compiled. If all of these are true,
+dnl and usage has not been previously disallowed with
+dnl shell variable cares_disallow_gethostbyaddr, then
+dnl HAVE_GETHOSTBYADDR will be defined.
+
+AC_DEFUN([CARES_CHECK_FUNC_GETHOSTBYADDR], [
+ AC_REQUIRE([CARES_INCLUDES_WINSOCK2])dnl
+ AC_REQUIRE([CARES_INCLUDES_NETDB])dnl
+ #
+ tst_links_gethostbyaddr="unknown"
+ tst_proto_gethostbyaddr="unknown"
+ tst_compi_gethostbyaddr="unknown"
+ tst_allow_gethostbyaddr="unknown"
+ #
+ AC_MSG_CHECKING([if gethostbyaddr can be linked])
+ AC_LINK_IFELSE([
+ AC_LANG_PROGRAM([[
+ $cares_includes_winsock2
+ $cares_includes_netdb
+ ]],[[
+ if(0 != gethostbyaddr(0, 0, 0))
+ return 1;
+ ]])
+ ],[
+ AC_MSG_RESULT([yes])
+ tst_links_gethostbyaddr="yes"
+ ],[
+ AC_MSG_RESULT([no])
+ tst_links_gethostbyaddr="no"
+ ])
+ #
+ if test "$tst_links_gethostbyaddr" = "yes"; then
+ AC_MSG_CHECKING([if gethostbyaddr is prototyped])
+ AC_EGREP_CPP([gethostbyaddr],[
+ $cares_includes_winsock2
+ $cares_includes_netdb
+ ],[
+ AC_MSG_RESULT([yes])
+ tst_proto_gethostbyaddr="yes"
+ ],[
+ AC_MSG_RESULT([no])
+ tst_proto_gethostbyaddr="no"
+ ])
+ fi
+ #
+ if test "$tst_proto_gethostbyaddr" = "yes"; then
+ AC_MSG_CHECKING([if gethostbyaddr is compilable])
+ AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM([[
+ $cares_includes_winsock2
+ $cares_includes_netdb
+ ]],[[
+ if(0 != gethostbyaddr(0, 0, 0))
+ return 1;
+ ]])
+ ],[
+ AC_MSG_RESULT([yes])
+ tst_compi_gethostbyaddr="yes"
+ ],[
+ AC_MSG_RESULT([no])
+ tst_compi_gethostbyaddr="no"
+ ])
+ fi
+ #
+ if test "$tst_compi_gethostbyaddr" = "yes"; then
+ AC_MSG_CHECKING([if gethostbyaddr usage allowed])
+ if test "x$cares_disallow_gethostbyaddr" != "xyes"; then
+ AC_MSG_RESULT([yes])
+ tst_allow_gethostbyaddr="yes"
+ else
+ AC_MSG_RESULT([no])
+ tst_allow_gethostbyaddr="no"
+ fi
+ fi
+ #
+ AC_MSG_CHECKING([if gethostbyaddr might be used])
+ if test "$tst_links_gethostbyaddr" = "yes" &&
+ test "$tst_proto_gethostbyaddr" = "yes" &&
+ test "$tst_compi_gethostbyaddr" = "yes" &&
+ test "$tst_allow_gethostbyaddr" = "yes"; then
+ AC_MSG_RESULT([yes])
+ AC_DEFINE_UNQUOTED(HAVE_GETHOSTBYADDR, 1,
+ [Define to 1 if you have the gethostbyaddr function.])
+ ac_cv_func_gethostbyaddr="yes"
+ else
+ AC_MSG_RESULT([no])
+ ac_cv_func_gethostbyaddr="no"
+ fi
+])
+
+
+dnl CARES_CHECK_FUNC_GETHOSTBYNAME
+dnl -------------------------------------------------
+dnl Verify if gethostbyname is available, prototyped,
+dnl and can be compiled. If all of these are true,
+dnl and usage has not been previously disallowed with
+dnl shell variable cares_disallow_gethostbyname, then
+dnl HAVE_GETHOSTBYNAME will be defined.
+
+AC_DEFUN([CARES_CHECK_FUNC_GETHOSTBYNAME], [
+ AC_REQUIRE([CARES_INCLUDES_WINSOCK2])dnl
+ AC_REQUIRE([CARES_INCLUDES_NETDB])dnl
+ #
+ tst_links_gethostbyname="unknown"
+ tst_proto_gethostbyname="unknown"
+ tst_compi_gethostbyname="unknown"
+ tst_allow_gethostbyname="unknown"
+ #
+ AC_MSG_CHECKING([if gethostbyname can be linked])
+ AC_LINK_IFELSE([
+ AC_LANG_PROGRAM([[
+ $cares_includes_winsock2
+ $cares_includes_netdb
+ ]],[[
+ if(0 != gethostbyname(0))
+ return 1;
+ ]])
+ ],[
+ AC_MSG_RESULT([yes])
+ tst_links_gethostbyname="yes"
+ ],[
+ AC_MSG_RESULT([no])
+ tst_links_gethostbyname="no"
+ ])
+ #
+ if test "$tst_links_gethostbyname" = "yes"; then
+ AC_MSG_CHECKING([if gethostbyname is prototyped])
+ AC_EGREP_CPP([gethostbyname],[
+ $cares_includes_winsock2
+ $cares_includes_netdb
+ ],[
+ AC_MSG_RESULT([yes])
+ tst_proto_gethostbyname="yes"
+ ],[
+ AC_MSG_RESULT([no])
+ tst_proto_gethostbyname="no"
+ ])
+ fi
+ #
+ if test "$tst_proto_gethostbyname" = "yes"; then
+ AC_MSG_CHECKING([if gethostbyname is compilable])
+ AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM([[
+ $cares_includes_winsock2
+ $cares_includes_netdb
+ ]],[[
+ if(0 != gethostbyname(0))
+ return 1;
+ ]])
+ ],[
+ AC_MSG_RESULT([yes])
+ tst_compi_gethostbyname="yes"
+ ],[
+ AC_MSG_RESULT([no])
+ tst_compi_gethostbyname="no"
+ ])
+ fi
+ #
+ if test "$tst_compi_gethostbyname" = "yes"; then
+ AC_MSG_CHECKING([if gethostbyname usage allowed])
+ if test "x$cares_disallow_gethostbyname" != "xyes"; then
+ AC_MSG_RESULT([yes])
+ tst_allow_gethostbyname="yes"
+ else
+ AC_MSG_RESULT([no])
+ tst_allow_gethostbyname="no"
+ fi
+ fi
+ #
+ AC_MSG_CHECKING([if gethostbyname might be used])
+ if test "$tst_links_gethostbyname" = "yes" &&
+ test "$tst_proto_gethostbyname" = "yes" &&
+ test "$tst_compi_gethostbyname" = "yes" &&
+ test "$tst_allow_gethostbyname" = "yes"; then
+ AC_MSG_RESULT([yes])
+ AC_DEFINE_UNQUOTED(HAVE_GETHOSTBYNAME, 1,
+ [Define to 1 if you have the gethostbyname function.])
+ ac_cv_func_gethostbyname="yes"
+ else
+ AC_MSG_RESULT([no])
+ ac_cv_func_gethostbyname="no"
+ fi
+])
+
+
dnl CARES_CHECK_FUNC_GETHOSTNAME
dnl -------------------------------------------------
dnl Verify if gethostname is available, prototyped, and
diff --git a/configure.ac b/configure.ac
index 54d435044..fe9d80d73 100644
--- a/configure.ac
+++ b/configure.ac
@@ -644,9 +644,7 @@ then
fi
-if test "$HAVE_GETHOSTBYNAME" = "1"; then
- AC_DEFINE(HAVE_GETHOSTBYNAME, 1, [If you have gethostbyname])
-else
+if test "$HAVE_GETHOSTBYNAME" != "1"; then
AC_MSG_ERROR([couldn't find libraries for gethostbyname()])
fi
@@ -1987,7 +1985,9 @@ CURL_CHECK_FUNC_FREEADDRINFO
CURL_CHECK_FUNC_FREEIFADDRS
CURL_CHECK_FUNC_FTRUNCATE
CURL_CHECK_FUNC_GETADDRINFO
+CURL_CHECK_FUNC_GETHOSTBYADDR
CURL_CHECK_FUNC_GETHOSTBYADDR_R
+CURL_CHECK_FUNC_GETHOSTBYNAME
CURL_CHECK_FUNC_GETHOSTBYNAME_R
CURL_CHECK_FUNC_GETHOSTNAME
CURL_CHECK_FUNC_GETIFADDRS
@@ -2036,7 +2036,6 @@ AC_CHECK_FUNCS([basename \
closesocket \
fork \
geteuid \
- gethostbyaddr \
getpass_r \
getppid \
getprotobyname \
diff --git a/m4/curl-functions.m4 b/m4/curl-functions.m4
index 45c6fcf71..f1a783b1d 100644
--- a/m4/curl-functions.m4
+++ b/m4/curl-functions.m4
@@ -22,7 +22,7 @@
#***************************************************************************
# File version for 'aclocal' use. Keep it a single number.
-# serial 42
+# serial 43
dnl CURL_INCLUDES_ARPA_INET
@@ -1131,6 +1131,100 @@ AC_DEFUN([CURL_CHECK_FUNC_GETADDRINFO], [
])
+dnl CURL_CHECK_FUNC_GETHOSTBYADDR
+dnl -------------------------------------------------
+dnl Verify if gethostbyaddr is available, prototyped,
+dnl and can be compiled. If all of these are true,
+dnl and usage has not been previously disallowed with
+dnl shell variable curl_disallow_gethostbyaddr, then
+dnl HAVE_GETHOSTBYADDR will be defined.
+
+AC_DEFUN([CURL_CHECK_FUNC_GETHOSTBYADDR], [
+ AC_REQUIRE([CURL_INCLUDES_WINSOCK2])dnl
+ AC_REQUIRE([CURL_INCLUDES_NETDB])dnl
+ #
+ tst_links_gethostbyaddr="unknown"
+ tst_proto_gethostbyaddr="unknown"
+ tst_compi_gethostbyaddr="unknown"
+ tst_allow_gethostbyaddr="unknown"
+ #
+ AC_MSG_CHECKING([if gethostbyaddr can be linked])
+ AC_LINK_IFELSE([
+ AC_LANG_PROGRAM([[
+ $curl_includes_winsock2
+ $curl_includes_netdb
+ ]],[[
+ if(0 != gethostbyaddr(0, 0, 0))
+ return 1;
+ ]])
+ ],[
+ AC_MSG_RESULT([yes])
+ tst_links_gethostbyaddr="yes"
+ ],[
+ AC_MSG_RESULT([no])
+ tst_links_gethostbyaddr="no"
+ ])
+ #
+ if test "$tst_links_gethostbyaddr" = "yes"; then
+ AC_MSG_CHECKING([if gethostbyaddr is prototyped])
+ AC_EGREP_CPP([gethostbyaddr],[
+ $curl_includes_winsock2
+ $curl_includes_netdb
+ ],[
+ AC_MSG_RESULT([yes])
+ tst_proto_gethostbyaddr="yes"
+ ],[
+ AC_MSG_RESULT([no])
+ tst_proto_gethostbyaddr="no"
+ ])
+ fi
+ #
+ if test "$tst_proto_gethostbyaddr" = "yes"; then
+ AC_MSG_CHECKING([if gethostbyaddr is compilable])
+ AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM([[
+ $curl_includes_winsock2
+ $curl_includes_netdb
+ ]],[[
+ if(0 != gethostbyaddr(0, 0, 0))
+ return 1;
+ ]])
+ ],[
+ AC_MSG_RESULT([yes])
+ tst_compi_gethostbyaddr="yes"
+ ],[
+ AC_MSG_RESULT([no])
+ tst_compi_gethostbyaddr="no"
+ ])
+ fi
+ #
+ if test "$tst_compi_gethostbyaddr" = "yes"; then
+ AC_MSG_CHECKING([if gethostbyaddr usage allowed])
+ if test "x$curl_disallow_gethostbyaddr" != "xyes"; then
+ AC_MSG_RESULT([yes])
+ tst_allow_gethostbyaddr="yes"
+ else
+ AC_MSG_RESULT([no])
+ tst_allow_gethostbyaddr="no"
+ fi
+ fi
+ #
+ AC_MSG_CHECKING([if gethostbyaddr might be used])
+ if test "$tst_links_gethostbyaddr" = "yes" &&
+ test "$tst_proto_gethostbyaddr" = "yes" &&
+ test "$tst_compi_gethostbyaddr" = "yes" &&
+ test "$tst_allow_gethostbyaddr" = "yes"; then
+ AC_MSG_RESULT([yes])
+ AC_DEFINE_UNQUOTED(HAVE_GETHOSTBYADDR, 1,
+ [Define to 1 if you have the gethostbyaddr function.])
+ ac_cv_func_gethostbyaddr="yes"
+ else
+ AC_MSG_RESULT([no])
+ ac_cv_func_gethostbyaddr="no"
+ fi
+])
+
+
dnl CURL_CHECK_FUNC_GETHOSTBYADDR_R
dnl -------------------------------------------------
dnl Verify if gethostbyaddr_r is available, prototyped,
@@ -1273,6 +1367,100 @@ AC_DEFUN([CURL_CHECK_FUNC_GETHOSTBYADDR_R], [
])
+dnl CURL_CHECK_FUNC_GETHOSTBYNAME
+dnl -------------------------------------------------
+dnl Verify if gethostbyname is available, prototyped,
+dnl and can be compiled. If all of these are true,
+dnl and usage has not been previously disallowed with
+dnl shell variable curl_disallow_gethostbyname, then
+dnl HAVE_GETHOSTBYNAME will be defined.
+
+AC_DEFUN([CURL_CHECK_FUNC_GETHOSTBYNAME], [
+ AC_REQUIRE([CURL_INCLUDES_WINSOCK2])dnl
+ AC_REQUIRE([CURL_INCLUDES_NETDB])dnl
+ #
+ tst_links_gethostbyname="unknown"
+ tst_proto_gethostbyname="unknown"
+ tst_compi_gethostbyname="unknown"
+ tst_allow_gethostbyname="unknown"
+ #
+ AC_MSG_CHECKING([if gethostbyname can be linked])
+ AC_LINK_IFELSE([
+ AC_LANG_PROGRAM([[
+ $curl_includes_winsock2
+ $curl_includes_netdb
+ ]],[[
+ if(0 != gethostbyname(0))
+ return 1;
+ ]])
+ ],[
+ AC_MSG_RESULT([yes])
+ tst_links_gethostbyname="yes"
+ ],[
+ AC_MSG_RESULT([no])
+ tst_links_gethostbyname="no"
+ ])
+ #
+ if test "$tst_links_gethostbyname" = "yes"; then
+ AC_MSG_CHECKING([if gethostbyname is prototyped])
+ AC_EGREP_CPP([gethostbyname],[
+ $curl_includes_winsock2
+ $curl_includes_netdb
+ ],[
+ AC_MSG_RESULT([yes])
+ tst_proto_gethostbyname="yes"
+ ],[
+ AC_MSG_RESULT([no])
+ tst_proto_gethostbyname="no"
+ ])
+ fi
+ #
+ if test "$tst_proto_gethostbyname" = "yes"; then
+ AC_MSG_CHECKING([if gethostbyname is compilable])
+ AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM([[
+ $curl_includes_winsock2
+ $curl_includes_netdb
+ ]],[[
+ if(0 != gethostbyname(0))
+ return 1;
+ ]])
+ ],[
+ AC_MSG_RESULT([yes])
+ tst_compi_gethostbyname="yes"
+ ],[
+ AC_MSG_RESULT([no])
+ tst_compi_gethostbyname="no"
+ ])
+ fi
+ #
+ if test "$tst_compi_gethostbyname" = "yes"; then
+ AC_MSG_CHECKING([if gethostbyname usage allowed])
+ if test "x$curl_disallow_gethostbyname" != "xyes"; then
+ AC_MSG_RESULT([yes])
+ tst_allow_gethostbyname="yes"
+ else
+ AC_MSG_RESULT([no])
+ tst_allow_gethostbyname="no"
+ fi
+ fi
+ #
+ AC_MSG_CHECKING([if gethostbyname might be used])
+ if test "$tst_links_gethostbyname" = "yes" &&
+ test "$tst_proto_gethostbyname" = "yes" &&
+ test "$tst_compi_gethostbyname" = "yes" &&
+ test "$tst_allow_gethostbyname" = "yes"; then
+ AC_MSG_RESULT([yes])
+ AC_DEFINE_UNQUOTED(HAVE_GETHOSTBYNAME, 1,
+ [Define to 1 if you have the gethostbyname function.])
+ ac_cv_func_gethostbyname="yes"
+ else
+ AC_MSG_RESULT([no])
+ ac_cv_func_gethostbyname="no"
+ fi
+])
+
+
dnl CURL_CHECK_FUNC_GETHOSTBYNAME_R
dnl -------------------------------------------------
dnl Verify if gethostbyname_r is available, prototyped,