aboutsummaryrefslogtreecommitdiffstats
path: root/m4/curl-functions.m4
diff options
context:
space:
mode:
authorBertrand SIMONNET <bsimonnet@google.com>2015-07-01 15:39:44 -0700
committerBertrand SIMONNET <bsimonnet@google.com>2015-07-08 10:51:12 -0700
commite6cd738ed3716c02557fb3a47515244e949ade39 (patch)
tree8d093306c27b850f828317ed67d6efea3ec7e084 /m4/curl-functions.m4
parentd43abe883892fe84137052fd27ecd956a2c7cacf (diff)
downloadexternal_curl-e6cd738ed3716c02557fb3a47515244e949ade39.tar.gz
external_curl-e6cd738ed3716c02557fb3a47515244e949ade39.tar.bz2
external_curl-e6cd738ed3716c02557fb3a47515244e949ade39.zip
Import curl 7.43
This is a simple import of curl 7.43. The only change from the official release is the fact that the Android.mk was removed to avoid build error trying to parse it. BUG: 22347561 Change-Id: I52ef6798d30b25d22d1f62770d571adec8bcf4d5
Diffstat (limited to 'm4/curl-functions.m4')
-rw-r--r--m4/curl-functions.m41424
1 files changed, 1250 insertions, 174 deletions
diff --git a/m4/curl-functions.m4 b/m4/curl-functions.m4
index 36bd31c4..0d654212 100644
--- a/m4/curl-functions.m4
+++ b/m4/curl-functions.m4
@@ -5,7 +5,7 @@
# | (__| |_| | _ <| |___
# \___|\___/|_| \_\_____|
#
-# Copyright (C) 1998 - 2010, Daniel Stenberg, <daniel@haxx.se>, et al.
+# Copyright (C) 1998 - 2013, Daniel Stenberg, <daniel@haxx.se>, et al.
#
# This software is licensed as described in the file COPYING, which
# you should have received as part of this distribution. The terms
@@ -21,7 +21,7 @@
#***************************************************************************
# File version for 'aclocal' use. Keep it a single number.
-# serial 64
+# serial 73
dnl CURL_INCLUDES_ARPA_INET
@@ -416,6 +416,26 @@ curl_includes_sys_uio="\
])
+dnl CURL_INCLUDES_SYS_XATTR
+dnl -------------------------------------------------
+dnl Set up variable with list of headers that must be
+dnl included when sys/xattr.h is to be included.
+
+AC_DEFUN([CURL_INCLUDES_SYS_XATTR], [
+curl_includes_sys_xattr="\
+/* includes start */
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_XATTR_H
+# include <sys/xattr.h>
+#endif
+/* includes end */"
+ AC_CHECK_HEADERS(
+ sys/types.h sys/xattr.h,
+ [], [], [$curl_includes_sys_xattr])
+])
+
dnl CURL_INCLUDES_TIME
dnl -------------------------------------------------
dnl Set up variable with list of headers that must be
@@ -1230,6 +1250,250 @@ AC_DEFUN([CURL_CHECK_FUNC_FDOPEN], [
])
+dnl CURL_CHECK_FUNC_FGETXATTR
+dnl -------------------------------------------------
+dnl Verify if fgetxattr is available, prototyped, and
+dnl can be compiled. If all of these are true, and
+dnl usage has not been previously disallowed with
+dnl shell variable curl_disallow_fgetxattr, then
+dnl HAVE_FGETXATTR will be defined.
+
+AC_DEFUN([CURL_CHECK_FUNC_FGETXATTR], [
+ AC_REQUIRE([CURL_INCLUDES_SYS_XATTR])dnl
+ #
+ tst_links_fgetxattr="unknown"
+ tst_proto_fgetxattr="unknown"
+ tst_compi_fgetxattr="unknown"
+ tst_allow_fgetxattr="unknown"
+ tst_nargs_fgetxattr="unknown"
+ #
+ AC_MSG_CHECKING([if fgetxattr can be linked])
+ AC_LINK_IFELSE([
+ AC_LANG_FUNC_LINK_TRY([fgetxattr])
+ ],[
+ AC_MSG_RESULT([yes])
+ tst_links_fgetxattr="yes"
+ ],[
+ AC_MSG_RESULT([no])
+ tst_links_fgetxattr="no"
+ ])
+ #
+ if test "$tst_links_fgetxattr" = "yes"; then
+ AC_MSG_CHECKING([if fgetxattr is prototyped])
+ AC_EGREP_CPP([fgetxattr],[
+ $curl_includes_sys_xattr
+ ],[
+ AC_MSG_RESULT([yes])
+ tst_proto_fgetxattr="yes"
+ ],[
+ AC_MSG_RESULT([no])
+ tst_proto_fgetxattr="no"
+ ])
+ fi
+ #
+ if test "$tst_proto_fgetxattr" = "yes"; then
+ if test "$tst_nargs_fgetxattr" = "unknown"; then
+ AC_MSG_CHECKING([if fgetxattr takes 4 args.])
+ AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM([[
+ $curl_includes_sys_xattr
+ ]],[[
+ if(0 != fgetxattr(0, 0, 0, 0))
+ return 1;
+ ]])
+ ],[
+ AC_MSG_RESULT([yes])
+ tst_compi_fgetxattr="yes"
+ tst_nargs_fgetxattr="4"
+ ],[
+ AC_MSG_RESULT([no])
+ tst_compi_fgetxattr="no"
+ ])
+ fi
+ if test "$tst_nargs_fgetxattr" = "unknown"; then
+ AC_MSG_CHECKING([if fgetxattr takes 6 args.])
+ AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM([[
+ $curl_includes_sys_xattr
+ ]],[[
+ if(0 != fgetxattr(0, 0, 0, 0, 0, 0))
+ return 1;
+ ]])
+ ],[
+ AC_MSG_RESULT([yes])
+ tst_compi_fgetxattr="yes"
+ tst_nargs_fgetxattr="6"
+ ],[
+ AC_MSG_RESULT([no])
+ tst_compi_fgetxattr="no"
+ ])
+ fi
+ AC_MSG_CHECKING([if fgetxattr is compilable])
+ if test "$tst_compi_fgetxattr" = "yes"; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ fi
+ fi
+ #
+ if test "$tst_compi_fgetxattr" = "yes"; then
+ AC_MSG_CHECKING([if fgetxattr usage allowed])
+ if test "x$curl_disallow_fgetxattr" != "xyes"; then
+ AC_MSG_RESULT([yes])
+ tst_allow_fgetxattr="yes"
+ else
+ AC_MSG_RESULT([no])
+ tst_allow_fgetxattr="no"
+ fi
+ fi
+ #
+ AC_MSG_CHECKING([if fgetxattr might be used])
+ if test "$tst_links_fgetxattr" = "yes" &&
+ test "$tst_proto_fgetxattr" = "yes" &&
+ test "$tst_compi_fgetxattr" = "yes" &&
+ test "$tst_allow_fgetxattr" = "yes"; then
+ AC_MSG_RESULT([yes])
+ AC_DEFINE_UNQUOTED(HAVE_FGETXATTR, 1,
+ [Define to 1 if you have the fgetxattr function.])
+ dnl AC_DEFINE_UNQUOTED(FGETXATTR_ARGS, $tst_nargs_fgetxattr,
+ dnl [Specifies the number of arguments to fgetxattr])
+ #
+ if test "$tst_nargs_fgetxattr" -eq "4"; then
+ AC_DEFINE(HAVE_FGETXATTR_4, 1, [fgetxattr() takes 4 args])
+ elif test "$tst_nargs_fgetxattr" -eq "6"; then
+ AC_DEFINE(HAVE_FGETXATTR_6, 1, [fgetxattr() takes 6 args])
+ fi
+ #
+ ac_cv_func_fgetxattr="yes"
+ else
+ AC_MSG_RESULT([no])
+ ac_cv_func_fgetxattr="no"
+ fi
+])
+
+
+dnl CURL_CHECK_FUNC_FLISTXATTR
+dnl -------------------------------------------------
+dnl Verify if flistxattr is available, prototyped, and
+dnl can be compiled. If all of these are true, and
+dnl usage has not been previously disallowed with
+dnl shell variable curl_disallow_flistxattr, then
+dnl HAVE_FLISTXATTR will be defined.
+
+AC_DEFUN([CURL_CHECK_FUNC_FLISTXATTR], [
+ AC_REQUIRE([CURL_INCLUDES_SYS_XATTR])dnl
+ #
+ tst_links_flistxattr="unknown"
+ tst_proto_flistxattr="unknown"
+ tst_compi_flistxattr="unknown"
+ tst_allow_flistxattr="unknown"
+ tst_nargs_flistxattr="unknown"
+ #
+ AC_MSG_CHECKING([if flistxattr can be linked])
+ AC_LINK_IFELSE([
+ AC_LANG_FUNC_LINK_TRY([flistxattr])
+ ],[
+ AC_MSG_RESULT([yes])
+ tst_links_flistxattr="yes"
+ ],[
+ AC_MSG_RESULT([no])
+ tst_links_flistxattr="no"
+ ])
+ #
+ if test "$tst_links_flistxattr" = "yes"; then
+ AC_MSG_CHECKING([if flistxattr is prototyped])
+ AC_EGREP_CPP([flistxattr],[
+ $curl_includes_sys_xattr
+ ],[
+ AC_MSG_RESULT([yes])
+ tst_proto_flistxattr="yes"
+ ],[
+ AC_MSG_RESULT([no])
+ tst_proto_flistxattr="no"
+ ])
+ fi
+ #
+ if test "$tst_proto_flistxattr" = "yes"; then
+ if test "$tst_nargs_flistxattr" = "unknown"; then
+ AC_MSG_CHECKING([if flistxattr takes 3 args.])
+ AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM([[
+ $curl_includes_sys_xattr
+ ]],[[
+ if(0 != flistxattr(0, 0, 0))
+ return 1;
+ ]])
+ ],[
+ AC_MSG_RESULT([yes])
+ tst_compi_flistxattr="yes"
+ tst_nargs_flistxattr="3"
+ ],[
+ AC_MSG_RESULT([no])
+ tst_compi_flistxattr="no"
+ ])
+ fi
+ if test "$tst_nargs_flistxattr" = "unknown"; then
+ AC_MSG_CHECKING([if flistxattr takes 4 args.])
+ AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM([[
+ $curl_includes_sys_xattr
+ ]],[[
+ if(0 != flistxattr(0, 0, 0, 0))
+ return 1;
+ ]])
+ ],[
+ AC_MSG_RESULT([yes])
+ tst_compi_flistxattr="yes"
+ tst_nargs_flistxattr="4"
+ ],[
+ AC_MSG_RESULT([no])
+ tst_compi_flistxattr="no"
+ ])
+ fi
+ AC_MSG_CHECKING([if flistxattr is compilable])
+ if test "$tst_compi_flistxattr" = "yes"; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ fi
+ fi
+ #
+ if test "$tst_compi_flistxattr" = "yes"; then
+ AC_MSG_CHECKING([if flistxattr usage allowed])
+ if test "x$curl_disallow_flistxattr" != "xyes"; then
+ AC_MSG_RESULT([yes])
+ tst_allow_flistxattr="yes"
+ else
+ AC_MSG_RESULT([no])
+ tst_allow_flistxattr="no"
+ fi
+ fi
+ #
+ AC_MSG_CHECKING([if flistxattr might be used])
+ if test "$tst_links_flistxattr" = "yes" &&
+ test "$tst_proto_flistxattr" = "yes" &&
+ test "$tst_compi_flistxattr" = "yes" &&
+ test "$tst_allow_flistxattr" = "yes"; then
+ AC_MSG_RESULT([yes])
+ AC_DEFINE_UNQUOTED(HAVE_FLISTXATTR, 1,
+ [Define to 1 if you have the flistxattr function.])
+ dnl AC_DEFINE_UNQUOTED(FLISTXATTR_ARGS, $tst_nargs_flistxattr,
+ dnl [Specifies the number of arguments to flistxattr])
+ #
+ if test "$tst_nargs_flistxattr" -eq "3"; then
+ AC_DEFINE(HAVE_FLISTXATTR_3, 1, [flistxattr() takes 3 args])
+ elif test "$tst_nargs_flistxattr" -eq "4"; then
+ AC_DEFINE(HAVE_FLISTXATTR_4, 1, [flistxattr() takes 4 args])
+ fi
+ #
+ ac_cv_func_flistxattr="yes"
+ else
+ AC_MSG_RESULT([no])
+ ac_cv_func_flistxattr="no"
+ fi
+])
+
+
dnl CURL_CHECK_FUNC_FREEADDRINFO
dnl -------------------------------------------------
dnl Verify if freeaddrinfo is available, prototyped,
@@ -1410,6 +1674,250 @@ AC_DEFUN([CURL_CHECK_FUNC_FREEIFADDRS], [
])
+dnl CURL_CHECK_FUNC_FREMOVEXATTR
+dnl -------------------------------------------------
+dnl Verify if fremovexattr is available, prototyped, and
+dnl can be compiled. If all of these are true, and
+dnl usage has not been previously disallowed with
+dnl shell variable curl_disallow_fremovexattr, then
+dnl HAVE_FREMOVEXATTR will be defined.
+
+AC_DEFUN([CURL_CHECK_FUNC_FREMOVEXATTR], [
+ AC_REQUIRE([CURL_INCLUDES_SYS_XATTR])dnl
+ #
+ tst_links_fremovexattr="unknown"
+ tst_proto_fremovexattr="unknown"
+ tst_compi_fremovexattr="unknown"
+ tst_allow_fremovexattr="unknown"
+ tst_nargs_fremovexattr="unknown"
+ #
+ AC_MSG_CHECKING([if fremovexattr can be linked])
+ AC_LINK_IFELSE([
+ AC_LANG_FUNC_LINK_TRY([fremovexattr])
+ ],[
+ AC_MSG_RESULT([yes])
+ tst_links_fremovexattr="yes"
+ ],[
+ AC_MSG_RESULT([no])
+ tst_links_fremovexattr="no"
+ ])
+ #
+ if test "$tst_links_fremovexattr" = "yes"; then
+ AC_MSG_CHECKING([if fremovexattr is prototyped])
+ AC_EGREP_CPP([fremovexattr],[
+ $curl_includes_sys_xattr
+ ],[
+ AC_MSG_RESULT([yes])
+ tst_proto_fremovexattr="yes"
+ ],[
+ AC_MSG_RESULT([no])
+ tst_proto_fremovexattr="no"
+ ])
+ fi
+ #
+ if test "$tst_proto_fremovexattr" = "yes"; then
+ if test "$tst_nargs_fremovexattr" = "unknown"; then
+ AC_MSG_CHECKING([if fremovexattr takes 2 args.])
+ AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM([[
+ $curl_includes_sys_xattr
+ ]],[[
+ if(0 != fremovexattr(0, 0))
+ return 1;
+ ]])
+ ],[
+ AC_MSG_RESULT([yes])
+ tst_compi_fremovexattr="yes"
+ tst_nargs_fremovexattr="2"
+ ],[
+ AC_MSG_RESULT([no])
+ tst_compi_fremovexattr="no"
+ ])
+ fi
+ if test "$tst_nargs_fremovexattr" = "unknown"; then
+ AC_MSG_CHECKING([if fremovexattr takes 3 args.])
+ AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM([[
+ $curl_includes_sys_xattr
+ ]],[[
+ if(0 != fremovexattr(0, 0, 0))
+ return 1;
+ ]])
+ ],[
+ AC_MSG_RESULT([yes])
+ tst_compi_fremovexattr="yes"
+ tst_nargs_fremovexattr="3"
+ ],[
+ AC_MSG_RESULT([no])
+ tst_compi_fremovexattr="no"
+ ])
+ fi
+ AC_MSG_CHECKING([if fremovexattr is compilable])
+ if test "$tst_compi_fremovexattr" = "yes"; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ fi
+ fi
+ #
+ if test "$tst_compi_fremovexattr" = "yes"; then
+ AC_MSG_CHECKING([if fremovexattr usage allowed])
+ if test "x$curl_disallow_fremovexattr" != "xyes"; then
+ AC_MSG_RESULT([yes])
+ tst_allow_fremovexattr="yes"
+ else
+ AC_MSG_RESULT([no])
+ tst_allow_fremovexattr="no"
+ fi
+ fi
+ #
+ AC_MSG_CHECKING([if fremovexattr might be used])
+ if test "$tst_links_fremovexattr" = "yes" &&
+ test "$tst_proto_fremovexattr" = "yes" &&
+ test "$tst_compi_fremovexattr" = "yes" &&
+ test "$tst_allow_fremovexattr" = "yes"; then
+ AC_MSG_RESULT([yes])
+ AC_DEFINE_UNQUOTED(HAVE_FREMOVEXATTR, 1,
+ [Define to 1 if you have the fremovexattr function.])
+ dnl AC_DEFINE_UNQUOTED(FREMOVEXATTR_ARGS, $tst_nargs_fremovexattr,
+ dnl [Specifies the number of arguments to fremovexattr])
+ #
+ if test "$tst_nargs_fremovexattr" -eq "2"; then
+ AC_DEFINE(HAVE_FREMOVEXATTR_2, 1, [fremovexattr() takes 2 args])
+ elif test "$tst_nargs_fremovexattr" -eq "3"; then
+ AC_DEFINE(HAVE_FREMOVEXATTR_3, 1, [fremovexattr() takes 3 args])
+ fi
+ #
+ ac_cv_func_fremovexattr="yes"
+ else
+ AC_MSG_RESULT([no])
+ ac_cv_func_fremovexattr="no"
+ fi
+])
+
+
+dnl CURL_CHECK_FUNC_FSETXATTR
+dnl -------------------------------------------------
+dnl Verify if fsetxattr is available, prototyped, and
+dnl can be compiled. If all of these are true, and
+dnl usage has not been previously disallowed with
+dnl shell variable curl_disallow_fsetxattr, then
+dnl HAVE_FSETXATTR will be defined.
+
+AC_DEFUN([CURL_CHECK_FUNC_FSETXATTR], [
+ AC_REQUIRE([CURL_INCLUDES_SYS_XATTR])dnl
+ #
+ tst_links_fsetxattr="unknown"
+ tst_proto_fsetxattr="unknown"
+ tst_compi_fsetxattr="unknown"
+ tst_allow_fsetxattr="unknown"
+ tst_nargs_fsetxattr="unknown"
+ #
+ AC_MSG_CHECKING([if fsetxattr can be linked])
+ AC_LINK_IFELSE([
+ AC_LANG_FUNC_LINK_TRY([fsetxattr])
+ ],[
+ AC_MSG_RESULT([yes])
+ tst_links_fsetxattr="yes"
+ ],[
+ AC_MSG_RESULT([no])
+ tst_links_fsetxattr="no"
+ ])
+ #
+ if test "$tst_links_fsetxattr" = "yes"; then
+ AC_MSG_CHECKING([if fsetxattr is prototyped])
+ AC_EGREP_CPP([fsetxattr],[
+ $curl_includes_sys_xattr
+ ],[
+ AC_MSG_RESULT([yes])
+ tst_proto_fsetxattr="yes"
+ ],[
+ AC_MSG_RESULT([no])
+ tst_proto_fsetxattr="no"
+ ])
+ fi
+ #
+ if test "$tst_proto_fsetxattr" = "yes"; then
+ if test "$tst_nargs_fsetxattr" = "unknown"; then
+ AC_MSG_CHECKING([if fsetxattr takes 5 args.])
+ AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM([[
+ $curl_includes_sys_xattr
+ ]],[[
+ if(0 != fsetxattr(0, 0, 0, 0, 0))
+ return 1;
+ ]])
+ ],[
+ AC_MSG_RESULT([yes])
+ tst_compi_fsetxattr="yes"
+ tst_nargs_fsetxattr="5"
+ ],[
+ AC_MSG_RESULT([no])
+ tst_compi_fsetxattr="no"
+ ])
+ fi
+ if test "$tst_nargs_fsetxattr" = "unknown"; then
+ AC_MSG_CHECKING([if fsetxattr takes 6 args.])
+ AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM([[
+ $curl_includes_sys_xattr
+ ]],[[
+ if(0 != fsetxattr(0, 0, 0, 0, 0, 0))
+ return 1;
+ ]])
+ ],[
+ AC_MSG_RESULT([yes])
+ tst_compi_fsetxattr="yes"
+ tst_nargs_fsetxattr="6"
+ ],[
+ AC_MSG_RESULT([no])
+ tst_compi_fsetxattr="no"
+ ])
+ fi
+ AC_MSG_CHECKING([if fsetxattr is compilable])
+ if test "$tst_compi_fsetxattr" = "yes"; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ fi
+ fi
+ #
+ if test "$tst_compi_fsetxattr" = "yes"; then
+ AC_MSG_CHECKING([if fsetxattr usage allowed])
+ if test "x$curl_disallow_fsetxattr" != "xyes"; then
+ AC_MSG_RESULT([yes])
+ tst_allow_fsetxattr="yes"
+ else
+ AC_MSG_RESULT([no])
+ tst_allow_fsetxattr="no"
+ fi
+ fi
+ #
+ AC_MSG_CHECKING([if fsetxattr might be used])
+ if test "$tst_links_fsetxattr" = "yes" &&
+ test "$tst_proto_fsetxattr" = "yes" &&
+ test "$tst_compi_fsetxattr" = "yes" &&
+ test "$tst_allow_fsetxattr" = "yes"; then
+ AC_MSG_RESULT([yes])
+ AC_DEFINE_UNQUOTED(HAVE_FSETXATTR, 1,
+ [Define to 1 if you have the fsetxattr function.])
+ dnl AC_DEFINE_UNQUOTED(FSETXATTR_ARGS, $tst_nargs_fsetxattr,
+ dnl [Specifies the number of arguments to fsetxattr])
+ #
+ if test "$tst_nargs_fsetxattr" -eq "5"; then
+ AC_DEFINE(HAVE_FSETXATTR_5, 1, [fsetxattr() takes 5 args])
+ elif test "$tst_nargs_fsetxattr" -eq "6"; then
+ AC_DEFINE(HAVE_FSETXATTR_6, 1, [fsetxattr() takes 6 args])
+ fi
+ #
+ ac_cv_func_fsetxattr="yes"
+ else
+ AC_MSG_RESULT([no])
+ ac_cv_func_fsetxattr="no"
+ fi
+])
+
+
dnl CURL_CHECK_FUNC_FTRUNCATE
dnl -------------------------------------------------
dnl Verify if ftruncate is available, prototyped, and
@@ -1512,6 +2020,7 @@ AC_DEFUN([CURL_CHECK_FUNC_GETADDRINFO], [
AC_REQUIRE([CURL_INCLUDES_STRING])dnl
AC_REQUIRE([CURL_INCLUDES_SYS_SOCKET])dnl
AC_REQUIRE([CURL_INCLUDES_NETDB])dnl
+ AC_REQUIRE([CURL_CHECK_NATIVE_WINDOWS])dnl
#
tst_links_getaddrinfo="unknown"
tst_proto_getaddrinfo="unknown"
@@ -1688,19 +2197,58 @@ AC_DEFUN([CURL_CHECK_FUNC_GETADDRINFO], [
tst_tsafe_getaddrinfo="yes"
;;
esac
+ if test "$tst_tsafe_getaddrinfo" = "unknown" &&
+ test "$ac_cv_native_windows" = "yes"; then
+ tst_tsafe_getaddrinfo="yes"
+ fi
if test "$tst_tsafe_getaddrinfo" = "unknown"; then
CURL_CHECK_DEF_CC([h_errno], [
- $curl_includes_ws2tcpip
$curl_includes_sys_socket
$curl_includes_netdb
], [silent])
- if test "$curl_cv_have_def_h_errno" = "no"; then
+ if test "$curl_cv_have_def_h_errno" = "yes"; then
+ tst_h_errno_macro="yes"
+ else
+ tst_h_errno_macro="no"
+ fi
+ AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM([[
+ $curl_includes_sys_socket
+ $curl_includes_netdb
+ ]],[[
+ h_errno = 2;
+ if(0 != h_errno)
+ return 1;
+ ]])
+ ],[
+ tst_h_errno_modifiable_lvalue="yes"
+ ],[
+ tst_h_errno_modifiable_lvalue="no"
+ ])
+ AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM([[
+ ]],[[
+#if defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE >= 200809L)
+ return 0;
+#elif defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 700)
+ return 0;
+#else
+ force compilation error
+#endif
+ ]])
+ ],[
+ tst_h_errno_sbs_issue_7="yes"
+ ],[
+ tst_h_errno_sbs_issue_7="no"
+ ])
+ if test "$tst_h_errno_macro" = "no" &&
+ test "$tst_h_errno_modifiable_lvalue" = "no" &&
+ test "$tst_h_errno_sbs_issue_7" = "no"; then
tst_tsafe_getaddrinfo="no"
+ else
+ tst_tsafe_getaddrinfo="yes"
fi
fi
- if test "$tst_tsafe_getaddrinfo" = "unknown"; then
- tst_tsafe_getaddrinfo="yes"
- fi
AC_MSG_RESULT([$tst_tsafe_getaddrinfo])
if test "$tst_tsafe_getaddrinfo" = "yes"; then
AC_DEFINE_UNQUOTED(HAVE_GETADDRINFO_THREADSAFE, 1,
@@ -1806,6 +2354,99 @@ AC_DEFUN([CURL_CHECK_FUNC_GETHOSTBYADDR], [
fi
])
+dnl CURL_CHECK_FUNC_GAI_STRERROR
+dnl -------------------------------------------------
+dnl Verify if gai_strerror 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_gai_strerror, then
+dnl HAVE_GAI_STRERROR will be defined.
+
+AC_DEFUN([CURL_CHECK_FUNC_GAI_STRERROR], [
+ AC_REQUIRE([CURL_INCLUDES_WINSOCK2])dnl
+ AC_REQUIRE([CURL_INCLUDES_NETDB])dnl
+ #
+ tst_links_gai_strerror="unknown"
+ tst_proto_gai_strerror="unknown"
+ tst_compi_gai_strerror="unknown"
+ tst_allow_gai_strerror="unknown"
+ #
+ AC_MSG_CHECKING([if gai_strerror can be linked])
+ AC_LINK_IFELSE([
+ AC_LANG_PROGRAM([[
+ $curl_includes_winsock2
+ $curl_includes_netdb
+ ]],[[
+ if(0 != gai_strerror(0))
+ return 1;
+ ]])
+ ],[
+ AC_MSG_RESULT([yes])
+ tst_links_gai_strerror="yes"
+ ],[
+ AC_MSG_RESULT([no])
+ tst_links_gai_strerror="no"
+ ])
+ #
+ if test "$tst_links_gai_strerror" = "yes"; then
+ AC_MSG_CHECKING([if gai_strerror is prototyped])
+ AC_EGREP_CPP([gai_strerror],[
+ $curl_includes_winsock2
+ $curl_includes_netdb
+ ],[
+ AC_MSG_RESULT([yes])
+ tst_proto_gai_strerror="yes"
+ ],[
+ AC_MSG_RESULT([no])
+ tst_proto_gai_strerror="no"
+ ])
+ fi
+ #
+ if test "$tst_proto_gai_strerror" = "yes"; then
+ AC_MSG_CHECKING([if gai_strerror is compilable])
+ AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM([[
+ $curl_includes_winsock2
+ $curl_includes_netdb
+ ]],[[
+ if(0 != gai_strerror(0))
+ return 1;
+ ]])
+ ],[
+ AC_MSG_RESULT([yes])
+ tst_compi_gai_strerror="yes"
+ ],[
+ AC_MSG_RESULT([no])
+ tst_compi_gai_strerror="no"
+ ])
+ fi
+ #
+ if test "$tst_compi_gai_strerror" = "yes"; then
+ AC_MSG_CHECKING([if gai_strerror usage allowed])
+ if test "x$curl_disallow_gai_strerror" != "xyes"; then
+ AC_MSG_RESULT([yes])
+ tst_allow_gai_strerror="yes"
+ else
+ AC_MSG_RESULT([no])
+ tst_allow_gai_strerror="no"
+ fi
+ fi
+ #
+ AC_MSG_CHECKING([if gai_strerror might be used])
+ if test "$tst_links_gai_strerror" = "yes" &&
+ test "$tst_proto_gai_strerror" = "yes" &&
+ test "$tst_compi_gai_strerror" = "yes" &&
+ test "$tst_allow_gai_strerror" = "yes"; then
+ AC_MSG_RESULT([yes])
+ AC_DEFINE_UNQUOTED(HAVE_GAI_STRERROR, 1,
+ [Define to 1 if you have the gai_strerror function.])
+ ac_cv_func_gai_strerror="yes"
+ else
+ AC_MSG_RESULT([no])
+ ac_cv_func_gai_strerror="no"
+ fi
+])
+
dnl CURL_CHECK_FUNC_GETHOSTBYADDR_R
dnl -------------------------------------------------
@@ -2196,6 +2837,7 @@ dnl HAVE_GETHOSTNAME will be defined.
AC_DEFUN([CURL_CHECK_FUNC_GETHOSTNAME], [
AC_REQUIRE([CURL_INCLUDES_WINSOCK2])dnl
AC_REQUIRE([CURL_INCLUDES_UNISTD])dnl
+ AC_REQUIRE([CURL_PREPROCESS_CALLCONV])dnl
#
tst_links_gethostname="unknown"
tst_proto_gethostname="unknown"
@@ -2253,6 +2895,35 @@ AC_DEFUN([CURL_CHECK_FUNC_GETHOSTNAME], [
fi
#
if test "$tst_compi_gethostname" = "yes"; then
+ AC_MSG_CHECKING([for gethostname arg 2 data type])
+ tst_gethostname_type_arg2="unknown"
+ for tst_arg1 in 'char *' 'unsigned char *' 'void *'; do
+ for tst_arg2 in 'int' 'unsigned int' 'size_t'; do
+ if test "$tst_gethostname_type_arg2" = "unknown"; then
+ AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM([[
+ $curl_includes_winsock2
+ $curl_includes_unistd
+ $curl_preprocess_callconv
+ extern int FUNCALLCONV gethostname($tst_arg1, $tst_arg2);
+ ]],[[
+ if(0 != gethostname(0, 0))
+ return 1;
+ ]])
+ ],[
+ tst_gethostname_type_arg2="$tst_arg2"
+ ])
+ fi
+ done
+ done
+ AC_MSG_RESULT([$tst_gethostname_type_arg2])
+ if test "$tst_gethostname_type_arg2" != "unknown"; then
+ AC_DEFINE_UNQUOTED(GETHOSTNAME_TYPE_ARG2, $tst_gethostname_type_arg2,
+ [Define to the type of arg 2 for gethostname.])
+ fi
+ fi
+ #
+ if test "$tst_compi_gethostname" = "yes"; then
AC_MSG_CHECKING([if gethostname usage allowed])
if test "x$curl_disallow_gethostname" != "xyes"; then
AC_MSG_RESULT([yes])
@@ -2535,6 +3206,128 @@ AC_DEFUN([CURL_CHECK_FUNC_GETSERVBYPORT_R], [
])
+dnl CURL_CHECK_FUNC_GETXATTR
+dnl -------------------------------------------------
+dnl Verify if getxattr is available, prototyped, and
+dnl can be compiled. If all of these are true, and
+dnl usage has not been previously disallowed with
+dnl shell variable curl_disallow_getxattr, then
+dnl HAVE_GETXATTR will be defined.
+
+AC_DEFUN([CURL_CHECK_FUNC_GETXATTR], [
+ AC_REQUIRE([CURL_INCLUDES_SYS_XATTR])dnl
+ #
+ tst_links_getxattr="unknown"
+ tst_proto_getxattr="unknown"
+ tst_compi_getxattr="unknown"
+ tst_allow_getxattr="unknown"
+ tst_nargs_getxattr="unknown"
+ #
+ AC_MSG_CHECKING([if getxattr can be linked])
+ AC_LINK_IFELSE([
+ AC_LANG_FUNC_LINK_TRY([getxattr])
+ ],[
+ AC_MSG_RESULT([yes])
+ tst_links_getxattr="yes"
+ ],[
+ AC_MSG_RESULT([no])
+ tst_links_getxattr="no"
+ ])
+ #
+ if test "$tst_links_getxattr" = "yes"; then
+ AC_MSG_CHECKING([if getxattr is prototyped])
+ AC_EGREP_CPP([getxattr],[
+ $curl_includes_sys_xattr
+ ],[
+ AC_MSG_RESULT([yes])
+ tst_proto_getxattr="yes"
+ ],[
+ AC_MSG_RESULT([no])
+ tst_proto_getxattr="no"
+ ])
+ fi
+ #
+ if test "$tst_proto_getxattr" = "yes"; then
+ if test "$tst_nargs_getxattr" = "unknown"; then
+ AC_MSG_CHECKING([if getxattr takes 4 args.])
+ AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM([[
+ $curl_includes_sys_xattr
+ ]],[[
+ if(0 != getxattr(0, 0, 0, 0))
+ return 1;
+ ]])
+ ],[
+ AC_MSG_RESULT([yes])
+ tst_compi_getxattr="yes"
+ tst_nargs_getxattr="4"
+ ],[
+ AC_MSG_RESULT([no])
+ tst_compi_getxattr="no"
+ ])
+ fi
+ if test "$tst_nargs_getxattr" = "unknown"; then
+ AC_MSG_CHECKING([if getxattr takes 6 args.])
+ AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM([[
+ $curl_includes_sys_xattr
+ ]],[[
+ if(0 != getxattr(0, 0, 0, 0, 0, 0))
+ return 1;
+ ]])
+ ],[
+ AC_MSG_RESULT([yes])
+ tst_compi_getxattr="yes"
+ tst_nargs_getxattr="6"
+ ],[
+ AC_MSG_RESULT([no])
+ tst_compi_getxattr="no"
+ ])
+ fi
+ AC_MSG_CHECKING([if getxattr is compilable])
+ if test "$tst_compi_getxattr" = "yes"; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ fi
+ fi
+ #
+ if test "$tst_compi_getxattr" = "yes"; then
+ AC_MSG_CHECKING([if getxattr usage allowed])
+ if test "x$curl_disallow_getxattr" != "xyes"; then
+ AC_MSG_RESULT([yes])
+ tst_allow_getxattr="yes"
+ else
+ AC_MSG_RESULT([no])
+ tst_allow_getxattr="no"
+ fi
+ fi
+ #
+ AC_MSG_CHECKING([if getxattr might be used])
+ if test "$tst_links_getxattr" = "yes" &&
+ test "$tst_proto_getxattr" = "yes" &&
+ test "$tst_compi_getxattr" = "yes" &&
+ test "$tst_allow_getxattr" = "yes"; then
+ AC_MSG_RESULT([yes])
+ AC_DEFINE_UNQUOTED(HAVE_GETXATTR, 1,
+ [Define to 1 if you have the getxattr function.])
+ dnl AC_DEFINE_UNQUOTED(GETXATTR_ARGS, $tst_nargs_getxattr,
+ dnl [Specifies the number of arguments to getxattr])
+ #
+ if test "$tst_nargs_getxattr" -eq "4"; then
+ AC_DEFINE(HAVE_GETXATTR_4, 1, [getxattr() takes 4 args])
+ elif test "$tst_nargs_getxattr" -eq "6"; then
+ AC_DEFINE(HAVE_GETXATTR_6, 1, [getxattr() takes 6 args])
+ fi
+ #
+ ac_cv_func_getxattr="yes"
+ else
+ AC_MSG_RESULT([no])
+ ac_cv_func_getxattr="no"
+ fi
+])
+
+
dnl CURL_CHECK_FUNC_GMTIME_R
dnl -------------------------------------------------
dnl Verify if gmtime_r is available, prototyped, can
@@ -3574,6 +4367,128 @@ AC_DEFUN([CURL_CHECK_FUNC_IOCTLSOCKET_CAMEL_FIONBIO], [
])
+dnl CURL_CHECK_FUNC_LISTXATTR
+dnl -------------------------------------------------
+dnl Verify if listxattr is available, prototyped, and
+dnl can be compiled. If all of these are true, and
+dnl usage has not been previously disallowed with
+dnl shell variable curl_disallow_listxattr, then
+dnl HAVE_LISTXATTR will be defined.
+
+AC_DEFUN([CURL_CHECK_FUNC_LISTXATTR], [
+ AC_REQUIRE([CURL_INCLUDES_SYS_XATTR])dnl
+ #
+ tst_links_listxattr="unknown"
+ tst_proto_listxattr="unknown"
+ tst_compi_listxattr="unknown"
+ tst_allow_listxattr="unknown"
+ tst_nargs_listxattr="unknown"
+ #
+ AC_MSG_CHECKING([if listxattr can be linked])
+ AC_LINK_IFELSE([
+ AC_LANG_FUNC_LINK_TRY([listxattr])
+ ],[
+ AC_MSG_RESULT([yes])
+ tst_links_listxattr="yes"
+ ],[
+ AC_MSG_RESULT([no])
+ tst_links_listxattr="no"
+ ])
+ #
+ if test "$tst_links_listxattr" = "yes"; then
+ AC_MSG_CHECKING([if listxattr is prototyped])
+ AC_EGREP_CPP([listxattr],[
+ $curl_includes_sys_xattr
+ ],[
+ AC_MSG_RESULT([yes])
+ tst_proto_listxattr="yes"
+ ],[
+ AC_MSG_RESULT([no])
+ tst_proto_listxattr="no"
+ ])
+ fi
+ #
+ if test "$tst_proto_listxattr" = "yes"; then
+ if test "$tst_nargs_listxattr" = "unknown"; then
+ AC_MSG_CHECKING([if listxattr takes 3 args.])
+ AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM([[
+ $curl_includes_sys_xattr
+ ]],[[
+ if(0 != listxattr(0, 0, 0))
+ return 1;
+ ]])
+ ],[
+ AC_MSG_RESULT([yes])
+ tst_compi_listxattr="yes"
+ tst_nargs_listxattr="3"
+ ],[
+ AC_MSG_RESULT([no])
+ tst_compi_listxattr="no"
+ ])
+ fi
+ if test "$tst_nargs_listxattr" = "unknown"; then
+ AC_MSG_CHECKING([if listxattr takes 4 args.])
+ AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM([[
+ $curl_includes_sys_xattr
+ ]],[[
+ if(0 != listxattr(0, 0, 0, 0))
+ return 1;
+ ]])
+ ],[
+ AC_MSG_RESULT([yes])
+ tst_compi_listxattr="yes"
+ tst_nargs_listxattr="4"
+ ],[
+ AC_MSG_RESULT([no])
+ tst_compi_listxattr="no"
+ ])
+ fi
+ AC_MSG_CHECKING([if listxattr is compilable])
+ if test "$tst_compi_listxattr" = "yes"; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ fi
+ fi
+ #
+ if test "$tst_compi_listxattr" = "yes"; then
+ AC_MSG_CHECKING([if listxattr usage allowed])
+ if test "x$curl_disallow_listxattr" != "xyes"; then
+ AC_MSG_RESULT([yes])
+ tst_allow_listxattr="yes"
+ else
+ AC_MSG_RESULT([no])
+ tst_allow_listxattr="no"
+ fi
+ fi
+ #
+ AC_MSG_CHECKING([if listxattr might be used])
+ if test "$tst_links_listxattr" = "yes" &&
+ test "$tst_proto_listxattr" = "yes" &&
+ test "$tst_compi_listxattr" = "yes" &&
+ test "$tst_allow_listxattr" = "yes"; then
+ AC_MSG_RESULT([yes])
+ AC_DEFINE_UNQUOTED(HAVE_LISTXATTR, 1,
+ [Define to 1 if you have the listxattr function.])
+ dnl AC_DEFINE_UNQUOTED(LISTXATTR_ARGS, $tst_nargs_listxattr,
+ dnl [Specifies the number of arguments to listxattr])
+ #
+ if test "$tst_nargs_listxattr" -eq "3"; then
+ AC_DEFINE(HAVE_LISTXATTR_3, 1, [listxattr() takes 3 args])
+ elif test "$tst_nargs_listxattr" -eq "4"; then
+ AC_DEFINE(HAVE_LISTXATTR_4, 1, [listxattr() takes 4 args])
+ fi
+ #
+ ac_cv_func_listxattr="yes"
+ else
+ AC_MSG_RESULT([no])
+ ac_cv_func_listxattr="no"
+ fi
+])
+
+
dnl CURL_CHECK_FUNC_LOCALTIME_R
dnl -------------------------------------------------
dnl Verify if localtime_r is available, prototyped, can
@@ -3814,7 +4729,7 @@ AC_DEFUN([CURL_CHECK_FUNC_POLL], [
tst_allow_poll="unknown"
#
case $host_os in
- darwin*|interix*)
+ darwin[[123456789]].*|darwin10.*|darwin11.*|darwin12.*|interix*)
dnl poll() does not work on these platforms
dnl Interix: "does provide poll(), but the implementing developer must
dnl have been in a bad mood, because poll() only works on the /proc
@@ -3924,6 +4839,128 @@ AC_DEFUN([CURL_CHECK_FUNC_POLL], [
])
+dnl CURL_CHECK_FUNC_REMOVEXATTR
+dnl -------------------------------------------------
+dnl Verify if removexattr is available, prototyped, and
+dnl can be compiled. If all of these are true, and
+dnl usage has not been previously disallowed with
+dnl shell variable curl_disallow_removexattr, then
+dnl HAVE_REMOVEXATTR will be defined.
+
+AC_DEFUN([CURL_CHECK_FUNC_REMOVEXATTR], [
+ AC_REQUIRE([CURL_INCLUDES_SYS_XATTR])dnl
+ #
+ tst_links_removexattr="unknown"
+ tst_proto_removexattr="unknown"
+ tst_compi_removexattr="unknown"
+ tst_allow_removexattr="unknown"
+ tst_nargs_removexattr="unknown"
+ #
+ AC_MSG_CHECKING([if removexattr can be linked])
+ AC_LINK_IFELSE([
+ AC_LANG_FUNC_LINK_TRY([removexattr])
+ ],[
+ AC_MSG_RESULT([yes])
+ tst_links_removexattr="yes"
+ ],[
+ AC_MSG_RESULT([no])
+ tst_links_removexattr="no"
+ ])
+ #
+ if test "$tst_links_removexattr" = "yes"; then
+ AC_MSG_CHECKING([if removexattr is prototyped])
+ AC_EGREP_CPP([removexattr],[
+ $curl_includes_sys_xattr
+ ],[
+ AC_MSG_RESULT([yes])
+ tst_proto_removexattr="yes"
+ ],[
+ AC_MSG_RESULT([no])
+ tst_proto_removexattr="no"
+ ])
+ fi
+ #
+ if test "$tst_proto_removexattr" = "yes"; then
+ if test "$tst_nargs_removexattr" = "unknown"; then
+ AC_MSG_CHECKING([if removexattr takes 2 args.])
+ AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM([[
+ $curl_includes_sys_xattr
+ ]],[[
+ if(0 != removexattr(0, 0))
+ return 1;
+ ]])
+ ],[
+ AC_MSG_RESULT([yes])
+ tst_compi_removexattr="yes"
+ tst_nargs_removexattr="2"
+ ],[
+ AC_MSG_RESULT([no])
+ tst_compi_removexattr="no"
+ ])
+ fi
+ if test "$tst_nargs_removexattr" = "unknown"; then
+ AC_MSG_CHECKING([if removexattr takes 3 args.])
+ AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM([[
+ $curl_includes_sys_xattr
+ ]],[[
+ if(0 != removexattr(0, 0, 0))
+ return 1;
+ ]])
+ ],[
+ AC_MSG_RESULT([yes])
+ tst_compi_removexattr="yes"
+ tst_nargs_removexattr="3"
+ ],[
+ AC_MSG_RESULT([no])
+ tst_compi_removexattr="no"
+ ])
+ fi
+ AC_MSG_CHECKING([if removexattr is compilable])
+ if test "$tst_compi_removexattr" = "yes"; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ fi
+ fi
+ #
+ if test "$tst_compi_removexattr" = "yes"; then
+ AC_MSG_CHECKING([if removexattr usage allowed])
+ if test "x$curl_disallow_removexattr" != "xyes"; then
+ AC_MSG_RESULT([yes])
+ tst_allow_removexattr="yes"
+ else
+ AC_MSG_RESULT([no])
+ tst_allow_removexattr="no"
+ fi
+ fi
+ #
+ AC_MSG_CHECKING([if removexattr might be used])
+ if test "$tst_links_removexattr" = "yes" &&
+ test "$tst_proto_removexattr" = "yes" &&
+ test "$tst_compi_removexattr" = "yes" &&
+ test "$tst_allow_removexattr" = "yes"; then
+ AC_MSG_RESULT([yes])
+ AC_DEFINE_UNQUOTED(HAVE_REMOVEXATTR, 1,
+ [Define to 1 if you have the removexattr function.])
+ dnl AC_DEFINE_UNQUOTED(REMOVEXATTR_ARGS, $tst_nargs_removexattr,
+ dnl [Specifies the number of arguments to removexattr])
+ #
+ if test "$tst_nargs_removexattr" -eq "2"; then
+ AC_DEFINE(HAVE_REMOVEXATTR_2, 1, [removexattr() takes 2 args])
+ elif test "$tst_nargs_removexattr" -eq "3"; then
+ AC_DEFINE(HAVE_REMOVEXATTR_3, 1, [removexattr() takes 3 args])
+ fi
+ #
+ ac_cv_func_removexattr="yes"
+ else
+ AC_MSG_RESULT([no])
+ ac_cv_func_removexattr="no"
+ fi
+])
+
+
dnl CURL_CHECK_FUNC_SETSOCKOPT
dnl -------------------------------------------------
dnl Verify if setsockopt is available, prototyped, and
@@ -4075,6 +5112,128 @@ AC_DEFUN([CURL_CHECK_FUNC_SETSOCKOPT_SO_NONBLOCK], [
])
+dnl CURL_CHECK_FUNC_SETXATTR
+dnl -------------------------------------------------
+dnl Verify if setxattr is available, prototyped, and
+dnl can be compiled. If all of these are true, and
+dnl usage has not been previously disallowed with
+dnl shell variable curl_disallow_setxattr, then
+dnl HAVE_SETXATTR will be defined.
+
+AC_DEFUN([CURL_CHECK_FUNC_SETXATTR], [
+ AC_REQUIRE([CURL_INCLUDES_SYS_XATTR])dnl
+ #
+ tst_links_setxattr="unknown"
+ tst_proto_setxattr="unknown"
+ tst_compi_setxattr="unknown"
+ tst_allow_setxattr="unknown"
+ tst_nargs_setxattr="unknown"
+ #
+ AC_MSG_CHECKING([if setxattr can be linked])
+ AC_LINK_IFELSE([
+ AC_LANG_FUNC_LINK_TRY([setxattr])
+ ],[
+ AC_MSG_RESULT([yes])
+ tst_links_setxattr="yes"
+ ],[
+ AC_MSG_RESULT([no])
+ tst_links_setxattr="no"
+ ])
+ #
+ if test "$tst_links_setxattr" = "yes"; then
+ AC_MSG_CHECKING([if setxattr is prototyped])
+ AC_EGREP_CPP([setxattr],[
+ $curl_includes_sys_xattr
+ ],[
+ AC_MSG_RESULT([yes])
+ tst_proto_setxattr="yes"
+ ],[
+ AC_MSG_RESULT([no])
+ tst_proto_setxattr="no"
+ ])
+ fi
+ #
+ if test "$tst_proto_setxattr" = "yes"; then
+ if test "$tst_nargs_setxattr" = "unknown"; then
+ AC_MSG_CHECKING([if setxattr takes 5 args.])
+ AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM([[
+ $curl_includes_sys_xattr
+ ]],[[
+ if(0 != setxattr(0, 0, 0, 0, 0))
+ return 1;
+ ]])
+ ],[
+ AC_MSG_RESULT([yes])
+ tst_compi_setxattr="yes"
+ tst_nargs_setxattr="5"
+ ],[
+ AC_MSG_RESULT([no])
+ tst_compi_setxattr="no"
+ ])
+ fi
+ if test "$tst_nargs_setxattr" = "unknown"; then
+ AC_MSG_CHECKING([if setxattr takes 6 args.])
+ AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM([[
+ $curl_includes_sys_xattr
+ ]],[[
+ if(0 != setxattr(0, 0, 0, 0, 0, 0))
+ return 1;
+ ]])
+ ],[
+ AC_MSG_RESULT([yes])
+ tst_compi_setxattr="yes"
+ tst_nargs_setxattr="6"
+ ],[
+ AC_MSG_RESULT([no])
+ tst_compi_setxattr="no"
+ ])
+ fi
+ AC_MSG_CHECKING([if setxattr is compilable])
+ if test "$tst_compi_setxattr" = "yes"; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ fi
+ fi
+ #
+ if test "$tst_compi_setxattr" = "yes"; then
+ AC_MSG_CHECKING([if setxattr usage allowed])
+ if test "x$curl_disallow_setxattr" != "xyes"; then
+ AC_MSG_RESULT([yes])
+ tst_allow_setxattr="yes"
+ else
+ AC_MSG_RESULT([no])
+ tst_allow_setxattr="no"
+ fi
+ fi
+ #
+ AC_MSG_CHECKING([if setxattr might be used])
+ if test "$tst_links_setxattr" = "yes" &&
+ test "$tst_proto_setxattr" = "yes" &&
+ test "$tst_compi_setxattr" = "yes" &&
+ test "$tst_allow_setxattr" = "yes"; then
+ AC_MSG_RESULT([yes])
+ AC_DEFINE_UNQUOTED(HAVE_SETXATTR, 1,
+ [Define to 1 if you have the setxattr function.])
+ dnl AC_DEFINE_UNQUOTED(SETXATTR_ARGS, $tst_nargs_setxattr,
+ dnl [Specifies the number of arguments to setxattr])
+ #
+ if test "$tst_nargs_setxattr" -eq "5"; then
+ AC_DEFINE(HAVE_SETXATTR_5, 1, [setxattr() takes 5 args])
+ elif test "$tst_nargs_setxattr" -eq "6"; then
+ AC_DEFINE(HAVE_SETXATTR_6, 1, [setxattr() takes 6 args])
+ fi
+ #
+ ac_cv_func_setxattr="yes"
+ else
+ AC_MSG_RESULT([no])
+ ac_cv_func_setxattr="no"
+ fi
+])
+
+
dnl CURL_CHECK_FUNC_SIGACTION
dnl -------------------------------------------------
dnl Verify if sigaction is available, prototyped, and
@@ -4535,176 +5694,179 @@ AC_DEFUN([CURL_CHECK_FUNC_SOCKET], [
])
-dnl CURL_CHECK_FUNC_STRCASECMP
+dnl CURL_CHECK_FUNC_SOCKETPAIR
dnl -------------------------------------------------
-dnl Verify if strcasecmp is available, prototyped, and
+dnl Verify if socketpair is available, prototyped, and
dnl can be compiled. If all of these are true, and
dnl usage has not been previously disallowed with
-dnl shell variable curl_disallow_strcasecmp, then
-dnl HAVE_STRCASECMP will be defined.
+dnl shell variable curl_disallow_socketpair, then
+dnl HAVE_SOCKETPAIR will be defined.
-AC_DEFUN([CURL_CHECK_FUNC_STRCASECMP], [
- AC_REQUIRE([CURL_INCLUDES_STRING])dnl
+AC_DEFUN([CURL_CHECK_FUNC_SOCKETPAIR], [
+ AC_REQUIRE([CURL_INCLUDES_SYS_SOCKET])dnl
+ AC_REQUIRE([CURL_INCLUDES_SOCKET])dnl
#
- tst_links_strcasecmp="unknown"
- tst_proto_strcasecmp="unknown"
- tst_compi_strcasecmp="unknown"
- tst_allow_strcasecmp="unknown"
+ tst_links_socketpair="unknown"
+ tst_proto_socketpair="unknown"
+ tst_compi_socketpair="unknown"
+ tst_allow_socketpair="unknown"
#
- AC_MSG_CHECKING([if strcasecmp can be linked])
+ AC_MSG_CHECKING([if socketpair can be linked])
AC_LINK_IFELSE([
- AC_LANG_FUNC_LINK_TRY([strcasecmp])
+ AC_LANG_FUNC_LINK_TRY([socketpair])
],[
AC_MSG_RESULT([yes])
- tst_links_strcasecmp="yes"
+ tst_links_socketpair="yes"
],[
AC_MSG_RESULT([no])
- tst_links_strcasecmp="no"
+ tst_links_socketpair="no"
])
#
- if test "$tst_links_strcasecmp" = "yes"; then
- AC_MSG_CHECKING([if strcasecmp is prototyped])
- AC_EGREP_CPP([strcasecmp],[
- $curl_includes_string
+ if test "$tst_links_socketpair" = "yes"; then
+ AC_MSG_CHECKING([if socketpair is prototyped])
+ AC_EGREP_CPP([socketpair],[
+ $curl_includes_sys_socket
+ $curl_includes_socket
],[
AC_MSG_RESULT([yes])
- tst_proto_strcasecmp="yes"
+ tst_proto_socketpair="yes"
],[
AC_MSG_RESULT([no])
- tst_proto_strcasecmp="no"
+ tst_proto_socketpair="no"
])
fi
#
- if test "$tst_proto_strcasecmp" = "yes"; then
- AC_MSG_CHECKING([if strcasecmp is compilable])
+ if test "$tst_proto_socketpair" = "yes"; then
+ AC_MSG_CHECKING([if socketpair is compilable])
AC_COMPILE_IFELSE([
AC_LANG_PROGRAM([[
- $curl_includes_string
+ $curl_includes_sys_socket
+ $curl_includes_socket
]],[[
- if(0 != strcasecmp(0, 0))
+ int sv[2];
+ if(0 != socketpair(0, 0, 0, sv))
return 1;
]])
],[
AC_MSG_RESULT([yes])
- tst_compi_strcasecmp="yes"
+ tst_compi_socketpair="yes"
],[
AC_MSG_RESULT([no])
- tst_compi_strcasecmp="no"
+ tst_compi_socketpair="no"
])
fi
#
- if test "$tst_compi_strcasecmp" = "yes"; then
- AC_MSG_CHECKING([if strcasecmp usage allowed])
- if test "x$curl_disallow_strcasecmp" != "xyes"; then
+ if test "$tst_compi_socketpair" = "yes"; then
+ AC_MSG_CHECKING([if socketpair usage allowed])
+ if test "x$curl_disallow_socketpair" != "xyes"; then
AC_MSG_RESULT([yes])
- tst_allow_strcasecmp="yes"
+ tst_allow_socketpair="yes"
else
AC_MSG_RESULT([no])
- tst_allow_strcasecmp="no"
+ tst_allow_socketpair="no"
fi
fi
#
- AC_MSG_CHECKING([if strcasecmp might be used])
- if test "$tst_links_strcasecmp" = "yes" &&
- test "$tst_proto_strcasecmp" = "yes" &&
- test "$tst_compi_strcasecmp" = "yes" &&
- test "$tst_allow_strcasecmp" = "yes"; then
+ AC_MSG_CHECKING([if socketpair might be used])
+ if test "$tst_links_socketpair" = "yes" &&
+ test "$tst_proto_socketpair" = "yes" &&
+ test "$tst_compi_socketpair" = "yes" &&
+ test "$tst_allow_socketpair" = "yes"; then
AC_MSG_RESULT([yes])
- AC_DEFINE_UNQUOTED(HAVE_STRCASECMP, 1,
- [Define to 1 if you have the strcasecmp function.])
- ac_cv_func_strcasecmp="yes"
+ AC_DEFINE_UNQUOTED(HAVE_SOCKETPAIR, 1,
+ [Define to 1 if you have the socketpair function.])
+ ac_cv_func_socketpair="yes"
else
AC_MSG_RESULT([no])
- ac_cv_func_strcasecmp="no"
+ ac_cv_func_socketpair="no"
fi
])
-dnl CURL_CHECK_FUNC_STRCASESTR
+dnl CURL_CHECK_FUNC_STRCASECMP
dnl -------------------------------------------------
-dnl Verify if strcasestr is available, prototyped, and
+dnl Verify if strcasecmp is available, prototyped, and
dnl can be compiled. If all of these are true, and
dnl usage has not been previously disallowed with
-dnl shell variable curl_disallow_strcasestr, then
-dnl HAVE_STRCASESTR will be defined.
+dnl shell variable curl_disallow_strcasecmp, then
+dnl HAVE_STRCASECMP will be defined.
-AC_DEFUN([CURL_CHECK_FUNC_STRCASESTR], [
+AC_DEFUN([CURL_CHECK_FUNC_STRCASECMP], [
AC_REQUIRE([CURL_INCLUDES_STRING])dnl
#
- tst_links_strcasestr="unknown"
- tst_proto_strcasestr="unknown"
- tst_compi_strcasestr="unknown"
- tst_allow_strcasestr="unknown"
+ tst_links_strcasecmp="unknown"
+ tst_proto_strcasecmp="unknown"
+ tst_compi_strcasecmp="unknown"
+ tst_allow_strcasecmp="unknown"
#
- AC_MSG_CHECKING([if strcasestr can be linked])
+ AC_MSG_CHECKING([if strcasecmp can be linked])
AC_LINK_IFELSE([
- AC_LANG_FUNC_LINK_TRY([strcasestr])
+ AC_LANG_FUNC_LINK_TRY([strcasecmp])
],[
AC_MSG_RESULT([yes])
- tst_links_strcasestr="yes"
+ tst_links_strcasecmp="yes"
],[
AC_MSG_RESULT([no])
- tst_links_strcasestr="no"
+ tst_links_strcasecmp="no"
])
#
- if test "$tst_links_strcasestr" = "yes"; then
- AC_MSG_CHECKING([if strcasestr is prototyped])
- AC_EGREP_CPP([strcasestr],[
+ if test "$tst_links_strcasecmp" = "yes"; then
+ AC_MSG_CHECKING([if strcasecmp is prototyped])
+ AC_EGREP_CPP([strcasecmp],[
$curl_includes_string
],[
AC_MSG_RESULT([yes])
- tst_proto_strcasestr="yes"
+ tst_proto_strcasecmp="yes"
],[
AC_MSG_RESULT([no])
- tst_proto_strcasestr="no"
+ tst_proto_strcasecmp="no"
])
fi
#
- if test "$tst_proto_strcasestr" = "yes"; then
- AC_MSG_CHECKING([if strcasestr is compilable])
+ if test "$tst_proto_strcasecmp" = "yes"; then
+ AC_MSG_CHECKING([if strcasecmp is compilable])
AC_COMPILE_IFELSE([
AC_LANG_PROGRAM([[
$curl_includes_string
]],[[
- if(0 != strcasestr(0, 0))
+ if(0 != strcasecmp(0, 0))
return 1;
]])
],[
AC_MSG_RESULT([yes])
- tst_compi_strcasestr="yes"
+ tst_compi_strcasecmp="yes"
],[
AC_MSG_RESULT([no])
- tst_compi_strcasestr="no"
+ tst_compi_strcasecmp="no"
])
fi
#
- if test "$tst_compi_strcasestr" = "yes"; then
- AC_MSG_CHECKING([if strcasestr usage allowed])
- if test "x$curl_disallow_strcasestr" != "xyes"; then
+ if test "$tst_compi_strcasecmp" = "yes"; then
+ AC_MSG_CHECKING([if strcasecmp usage allowed])
+ if test "x$curl_disallow_strcasecmp" != "xyes"; then
AC_MSG_RESULT([yes])
- tst_allow_strcasestr="yes"
+ tst_allow_strcasecmp="yes"
else
AC_MSG_RESULT([no])
- tst_allow_strcasestr="no"
+ tst_allow_strcasecmp="no"
fi
fi
#
- AC_MSG_CHECKING([if strcasestr might be used])
- if test "$tst_links_strcasestr" = "yes" &&
- test "$tst_proto_strcasestr" = "yes" &&
- test "$tst_compi_strcasestr" = "yes" &&
- test "$tst_allow_strcasestr" = "yes"; then
+ AC_MSG_CHECKING([if strcasecmp might be used])
+ if test "$tst_links_strcasecmp" = "yes" &&
+ test "$tst_proto_strcasecmp" = "yes" &&
+ test "$tst_compi_strcasecmp" = "yes" &&
+ test "$tst_allow_strcasecmp" = "yes"; then
AC_MSG_RESULT([yes])
- AC_DEFINE_UNQUOTED(HAVE_STRCASESTR, 1,
- [Define to 1 if you have the strcasestr function.])
- ac_cv_func_strcasestr="yes"
+ AC_DEFINE_UNQUOTED(HAVE_STRCASECMP, 1,
+ [Define to 1 if you have the strcasecmp function.])
+ ac_cv_func_strcasecmp="yes"
else
AC_MSG_RESULT([no])
- ac_cv_func_strcasestr="no"
+ ac_cv_func_strcasecmp="no"
fi
])
-
dnl CURL_CHECK_FUNC_STRCMPI
dnl -------------------------------------------------
dnl Verify if strcmpi is available, prototyped, and
@@ -4964,8 +6126,8 @@ AC_DEFUN([CURL_CHECK_FUNC_STRERROR_R], [
AC_COMPILE_IFELSE([
AC_LANG_PROGRAM([[
$curl_includes_string
- ]],[[
char *strerror_r(int errnum, char *workbuf, $arg3 bufsize);
+ ]],[[
if(0 != strerror_r(0, 0, 0))
return 1;
]])
@@ -5025,8 +6187,8 @@ AC_DEFUN([CURL_CHECK_FUNC_STRERROR_R], [
AC_COMPILE_IFELSE([
AC_LANG_PROGRAM([[
$curl_includes_string
- ]],[[
int strerror_r(int errnum, char *resultbuf, $arg3 bufsize);
+ ]],[[
if(0 != strerror_r(0, 0, 0))
return 1;
]])
@@ -5224,92 +6386,6 @@ AC_DEFUN([CURL_CHECK_FUNC_STRICMP], [
fi
])
-
-dnl CURL_CHECK_FUNC_STRLCAT
-dnl -------------------------------------------------
-dnl Verify if strlcat is available, prototyped, and
-dnl can be compiled. If all of these are true, and
-dnl usage has not been previously disallowed with
-dnl shell variable curl_disallow_strlcat, then
-dnl HAVE_STRLCAT will be defined.
-
-AC_DEFUN([CURL_CHECK_FUNC_STRLCAT], [
- AC_REQUIRE([CURL_INCLUDES_STRING])dnl
- #
- tst_links_strlcat="unknown"
- tst_proto_strlcat="unknown"
- tst_compi_strlcat="unknown"
- tst_allow_strlcat="unknown"
- #
- AC_MSG_CHECKING([if strlcat can be linked])
- AC_LINK_IFELSE([
- AC_LANG_FUNC_LINK_TRY([strlcat])
- ],[
- AC_MSG_RESULT([yes])
- tst_links_strlcat="yes"
- ],[
- AC_MSG_RESULT([no])
- tst_links_strlcat="no"
- ])
- #
- if test "$tst_links_strlcat" = "yes"; then
- AC_MSG_CHECKING([if strlcat is prototyped])
- AC_EGREP_CPP([strlcat],[
- $curl_includes_string
- ],[
- AC_MSG_RESULT([yes])
- tst_proto_strlcat="yes"
- ],[
- AC_MSG_RESULT([no])
- tst_proto_strlcat="no"
- ])
- fi
- #
- if test "$tst_proto_strlcat" = "yes"; then
- AC_MSG_CHECKING([if strlcat is compilable])
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
- $curl_includes_string
- ]],[[
- if(0 != strlcat(0, 0, 0))
- return 1;
- ]])
- ],[
- AC_MSG_RESULT([yes])
- tst_compi_strlcat="yes"
- ],[
- AC_MSG_RESULT([no])
- tst_compi_strlcat="no"
- ])
- fi
- #
- if test "$tst_compi_strlcat" = "yes"; then
- AC_MSG_CHECKING([if strlcat usage allowed])
- if test "x$curl_disallow_strlcat" != "xyes"; then
- AC_MSG_RESULT([yes])
- tst_allow_strlcat="yes"
- else
- AC_MSG_RESULT([no])
- tst_allow_strlcat="no"
- fi
- fi
- #
- AC_MSG_CHECKING([if strlcat might be used])
- if test "$tst_links_strlcat" = "yes" &&
- test "$tst_proto_strlcat" = "yes" &&
- test "$tst_compi_strlcat" = "yes" &&
- test "$tst_allow_strlcat" = "yes"; then
- AC_MSG_RESULT([yes])
- AC_DEFINE_UNQUOTED(HAVE_STRLCAT, 1,
- [Define to 1 if you have the strlcat function.])
- ac_cv_func_strlcat="yes"
- else
- AC_MSG_RESULT([no])
- ac_cv_func_strlcat="no"
- fi
-])
-
-
dnl CURL_CHECK_FUNC_STRNCASECMP
dnl -------------------------------------------------
dnl Verify if strncasecmp is available, prototyped, and