- AC_CHECK_HEADER(sys/xattr.h, [ AC_DEFINE(HAVE_SYS_XATTR_H,1,[Defines if your system have the sys/xattr.h header file])] , )
- AC_CHECK_FUNCS(llistxattr lgetxattr lsetxattr,
- [
- have_xattr=yes
- AC_DEFINE([HAVE_LLISTXATTR], [], [LLISTXATTR support])
- AC_DEFINE([HAVE_LGETXATTR], [], [LGETXATTR support])
- AC_DEFINE([HAVE_LSETXATTR], [], [LSETXATTR support])
- ]
- )
+ dnl
+ dnl First check for *BSD support
+ dnl When running on a BSD variant
+ dnl
+ if test x${HAVE_FREEBSD_OS}_TRUE = x -o \
+ x${HAVE_NETBSD_OS}_TRUE = x -o \
+ x${HAVE_OPENBSD_OS}_TRUE = x; then
+ AC_CHECK_HEADER(sys/extattr.h, [ AC_DEFINE(HAVE_SYS_EXTATTR_H,1,[Defines if your system have the sys/extattr.h header file])] , )
+ AC_CHECK_HEADER(libutil.h, [ AC_DEFINE(HAVE_LIBUTIL_H,1,[Defines if your system have the libutil.h header file])] , )
+ AC_CHECK_FUNCS(extattr_get_link extattr_set_link extattr_list_link,
+ [
+ have_xattr=yes
+ AC_DEFINE([HAVE_EXTATTR_GET_LINK],1,[Define to 1 if you have the 'extattr_get_link' function.])
+ AC_DEFINE([HAVE_EXTATTR_SET_LINK],1,[Define to 1 if you have the 'extattr_set_link' function.])
+ AC_DEFINE([HAVE_EXTATTR_LIST_LINK],1,[Define to 1 if you have the 'extattr_list_link' function.])
+ ]
+ )
+
+ if test $have_xattr = no; then
+ AC_CHECK_FUNCS(extattr_get_file extattr_set_file extattr_list_file,
+ [
+ have_xattr=yes
+ AC_DEFINE([HAVE_EXTATTR_GET_FILE],1,[Define to 1 if you have the 'extattr_get_file' function.])
+ AC_DEFINE([HAVE_EXTATTR_SET_FILE],1,[Define to 1 if you have the 'extattr_set_file' function.])
+ AC_DEFINE([HAVE_EXTATTR_LIST_FILE],1,[Define to 1 if you have the 'extattr_list_file' function.])
+ ]
+ )
+ fi
+
+ if test $have_xattr = yes; then
+ have_extattr_string_in_libc=no
+ AC_CHECK_FUNCS(extattr_namespace_to_string extattr_string_to_namespace,
+ [
+ have_extattr_string_in_libc=yes
+ AC_DEFINE([HAVE_EXTATTR_NAMESPACE_TO_STRING],1,[Define to 1 if you have the 'extattr_namespace_to_string' function.])
+ AC_DEFINE([HAVE_EXTATTR_STRING_TO_NAMESPACE],1,[Define to 1 if you have the 'extattr_string_to_namespace' function.])
+ ]
+ )
+
+ dnl
+ dnl If extattr_namespace_to_string and extattr_string_to_namespace are not in libc see if they are in libutil
+ dnl
+ if test $have_extattr_string_in_libc = no; then
+ AC_CHECK_LIB(util, extattr_namespace_to_string extattr_string_to_namespace,
+ [
+ AC_DEFINE([HAVE_EXTATTR_NAMESPACE_TO_STRING],1,[Define to 1 if you have the 'extattr_namespace_to_string' function.])
+ AC_DEFINE([HAVE_EXTATTR_STRING_TO_NAMESPACE],1,[Define to 1 if you have the 'extattr_string_to_namespace' function.])
+ FDLIBS="-lutil $FDLIBS"
+ ]
+ )
+ fi
+ fi
+ fi