mirror of
https://github.com/moparisthebest/curl
synced 2024-10-31 15:45:12 -04:00
cmake: Support curl --xattr when built with cmake
- Test for and set HAVE_FSETXATTR when support for extended file attributes is present. Closes https://github.com/curl/curl/pull/1176
This commit is contained in:
parent
028391df5d
commit
1c877a0712
@ -533,3 +533,19 @@ main () {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef HAVE_FSETXATTR_6
|
||||||
|
#include <sys/xattr.h> /* header from libc, not from libattr */
|
||||||
|
int
|
||||||
|
main() {
|
||||||
|
fsetxattr(0, 0, 0, 0, 0, 0);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#ifdef HAVE_FSETXATTR_5
|
||||||
|
#include <sys/xattr.h> /* header from libc, not from libattr */
|
||||||
|
int
|
||||||
|
main() {
|
||||||
|
fsetxattr(0, 0, 0, 0, 0);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
@ -611,6 +611,7 @@ check_include_file_concat("sys/types.h" HAVE_SYS_TYPES_H)
|
|||||||
check_include_file_concat("sys/uio.h" HAVE_SYS_UIO_H)
|
check_include_file_concat("sys/uio.h" HAVE_SYS_UIO_H)
|
||||||
check_include_file_concat("sys/un.h" HAVE_SYS_UN_H)
|
check_include_file_concat("sys/un.h" HAVE_SYS_UN_H)
|
||||||
check_include_file_concat("sys/utime.h" HAVE_SYS_UTIME_H)
|
check_include_file_concat("sys/utime.h" HAVE_SYS_UTIME_H)
|
||||||
|
check_include_file_concat("sys/xattr.h" HAVE_SYS_XATTR_H)
|
||||||
check_include_file_concat("alloca.h" HAVE_ALLOCA_H)
|
check_include_file_concat("alloca.h" HAVE_ALLOCA_H)
|
||||||
check_include_file_concat("arpa/inet.h" HAVE_ARPA_INET_H)
|
check_include_file_concat("arpa/inet.h" HAVE_ARPA_INET_H)
|
||||||
check_include_file_concat("arpa/tftp.h" HAVE_ARPA_TFTP_H)
|
check_include_file_concat("arpa/tftp.h" HAVE_ARPA_TFTP_H)
|
||||||
@ -822,6 +823,13 @@ check_symbol_exists(setsockopt "${CURL_INCLUDES}" HAVE_SETSOCKOPT)
|
|||||||
# symbol exists in win32, but function does not.
|
# symbol exists in win32, but function does not.
|
||||||
check_function_exists(inet_pton HAVE_INET_PTON)
|
check_function_exists(inet_pton HAVE_INET_PTON)
|
||||||
|
|
||||||
|
check_symbol_exists(fsetxattr "${CURL_INCLUDES}" HAVE_FSETXATTR)
|
||||||
|
if(HAVE_FSETXATTR)
|
||||||
|
foreach(CURL_TEST HAVE_FSETXATTR_5 HAVE_FSETXATTR_6)
|
||||||
|
curl_internal_test_run(${CURL_TEST})
|
||||||
|
endforeach(CURL_TEST)
|
||||||
|
endif(HAVE_FSETXATTR)
|
||||||
|
|
||||||
# sigaction and sigsetjmp are special. Use special mechanism for
|
# sigaction and sigsetjmp are special. Use special mechanism for
|
||||||
# detecting those, but only if previous attempt failed.
|
# detecting those, but only if previous attempt failed.
|
||||||
if(HAVE_SIGNAL_H)
|
if(HAVE_SIGNAL_H)
|
||||||
|
@ -518,6 +518,15 @@
|
|||||||
/* Define to 1 if you have the send function. */
|
/* Define to 1 if you have the send function. */
|
||||||
#cmakedefine HAVE_SEND 1
|
#cmakedefine HAVE_SEND 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the 'fsetxattr' function. */
|
||||||
|
#cmakedefine HAVE_FSETXATTR 1
|
||||||
|
|
||||||
|
/* fsetxattr() takes 5 args */
|
||||||
|
#cmakedefine HAVE_FSETXATTR_5 1
|
||||||
|
|
||||||
|
/* fsetxattr() takes 6 args */
|
||||||
|
#cmakedefine HAVE_FSETXATTR_6 1
|
||||||
|
|
||||||
/* Define to 1 if you have the <setjmp.h> header file. */
|
/* Define to 1 if you have the <setjmp.h> header file. */
|
||||||
#cmakedefine HAVE_SETJMP_H 1
|
#cmakedefine HAVE_SETJMP_H 1
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user