aboutsummaryrefslogtreecommitdiff
path: root/m4
diff options
context:
space:
mode:
authorYang Tse <yangsita@gmail.com>2008-11-17 13:13:15 +0000
committerYang Tse <yangsita@gmail.com>2008-11-17 13:13:15 +0000
commitecd3251542ef6202787b752849356b1a09502e4c (patch)
treeea788426e31f9fc336e7bb729d3b6248279112d0 /m4
parent999c7126b3f9183cd25c863288e91a58ecdea517 (diff)
Make configure script check if ioctl with the SIOCGIFADDR command can be
used, and define HAVE_IOCTL_SIOCGIFADDR if appropriate.
Diffstat (limited to 'm4')
-rw-r--r--m4/curl-functions.m458
1 files changed, 57 insertions, 1 deletions
diff --git a/m4/curl-functions.m4 b/m4/curl-functions.m4
index d5d4da454..45c6fcf71 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 41
+# serial 42
dnl CURL_INCLUDES_ARPA_INET
@@ -2395,6 +2395,7 @@ AC_DEFUN([CURL_CHECK_FUNC_IOCTL], [
[Define to 1 if you have the ioctl function.])
ac_cv_func_ioctl="yes"
CURL_CHECK_FUNC_IOCTL_FIONBIO
+ CURL_CHECK_FUNC_IOCTL_SIOCGIFADDR
else
AC_MSG_RESULT([no])
ac_cv_func_ioctl="no"
@@ -2458,6 +2459,61 @@ AC_DEFUN([CURL_CHECK_FUNC_IOCTL_FIONBIO], [
])
+dnl CURL_CHECK_FUNC_IOCTL_SIOCGIFADDR
+dnl -------------------------------------------------
+dnl Verify if ioctl with the SIOCGIFADDR command is
+dnl available, can be compiled, and seems to work. If
+dnl all of these are true, then HAVE_IOCTL_SIOCGIFADDR
+dnl will be defined.
+
+AC_DEFUN([CURL_CHECK_FUNC_IOCTL_SIOCGIFADDR], [
+ #
+ tst_compi_ioctl_siocgifaddr="unknown"
+ tst_allow_ioctl_siocgifaddr="unknown"
+ #
+ if test "$ac_cv_func_ioctl" = "yes"; then
+ AC_MSG_CHECKING([if ioctl SIOCGIFADDR is compilable])
+ AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM([[
+ $curl_includes_stropts
+ ]],[[
+ if(0 != ioctl(0, SIOCGIFADDR, 0))
+ return 1;
+ ]])
+ ],[
+ AC_MSG_RESULT([yes])
+ tst_compi_ioctl_siocgifaddr="yes"
+ ],[
+ AC_MSG_RESULT([no])
+ tst_compi_ioctl_siocgifaddr="no"
+ ])
+ fi
+ #
+ if test "$tst_compi_ioctl_siocgifaddr" = "yes"; then
+ AC_MSG_CHECKING([if ioctl SIOCGIFADDR usage allowed])
+ if test "x$curl_disallow_ioctl_siocgifaddr" != "xyes"; then
+ AC_MSG_RESULT([yes])
+ tst_allow_ioctl_siocgifaddr="yes"
+ else
+ AC_MSG_RESULT([no])
+ tst_allow_ioctl_siocgifaddr="no"
+ fi
+ fi
+ #
+ AC_MSG_CHECKING([if ioctl SIOCGIFADDR might be used])
+ if test "$tst_compi_ioctl_siocgifaddr" = "yes" &&
+ test "$tst_allow_ioctl_siocgifaddr" = "yes"; then
+ AC_MSG_RESULT([yes])
+ AC_DEFINE_UNQUOTED(HAVE_IOCTL_SIOCGIFADDR, 1,
+ [Define to 1 if you have a working ioctl SIOCGIFADDR function.])
+ ac_cv_func_ioctl_siocgifaddr="yes"
+ else
+ AC_MSG_RESULT([no])
+ ac_cv_func_ioctl_siocgifaddr="no"
+ fi
+])
+
+
dnl CURL_CHECK_FUNC_IOCTLSOCKET
dnl -------------------------------------------------
dnl Verify if ioctlsocket is available, prototyped, and