aboutsummaryrefslogtreecommitdiff
path: root/m4/curl-functions.m4
diff options
context:
space:
mode:
authorYang Tse <yangsita@gmail.com>2010-11-10 18:26:21 +0100
committerYang Tse <yangsita@gmail.com>2010-11-10 18:26:21 +0100
commitb1e4dce671f0ccd684a76706ea8272f216de4e40 (patch)
tree22437cab6bfb262986b7e448c6bb23cd3161ee85 /m4/curl-functions.m4
parent0b20de019400edb864b4d649aabead85719350ea (diff)
curl-functions: provide xattr function tests that also check number of arguments
Diffstat (limited to 'm4/curl-functions.m4')
-rw-r--r--m4/curl-functions.m41060
1 files changed, 976 insertions, 84 deletions
diff --git a/m4/curl-functions.m4 b/m4/curl-functions.m4
index 7f7cb8610..6067abf96 100644
--- a/m4/curl-functions.m4
+++ b/m4/curl-functions.m4
@@ -1250,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,
@@ -1430,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
@@ -2555,6 +3043,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
@@ -3594,6 +4204,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
@@ -3944,6 +4676,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
@@ -4095,6 +4949,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
@@ -5923,87 +6899,3 @@ AC_DEFUN([CURL_CHECK_FUNC_WRITEV], [
ac_cv_func_writev="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"
- #
- 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
- AC_MSG_CHECKING([if fsetxattr is compilable])
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
- $curl_includes_sys_xattr
- ]],[[
- if(0 != fsetxattr("", "", "", 0, 0))
- return 1;
- ]])
- ],[
- AC_MSG_RESULT([yes])
- tst_compi_fsetxattr="yes"
- ],[
- AC_MSG_RESULT([no])
- tst_compi_fsetxattr="no"
- ])
- 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.])
- ac_cv_func_fsetxattr="yes"
- else
- AC_MSG_RESULT([no])
- ac_cv_func_fsetxattr="no"
- fi
-])