configure: fix detection for xattr.h on modern distributions
Modern distributions place xattr.h in /usr/include/sys, and fold
libattr.so into libc. They also don't have an ENOATTR.
Make configure detect this, and add a qemu-xattr.h file that
directs the #include to the right place.
Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
diff --git a/configure b/configure
index 9e5da44..401d9a6 100755
--- a/configure
+++ b/configure
@@ -129,6 +129,7 @@
xen_ctrl_version=""
linux_aio=""
attr=""
+libattr=""
xfs=""
vhost_net="no"
@@ -1961,12 +1962,16 @@
cat > $TMPC <<EOF
#include <stdio.h>
#include <sys/types.h>
-#include <attr/xattr.h>
+#include <sys/xattr.h>
int main(void) { getxattr(NULL, NULL, NULL, 0); setxattr(NULL, NULL, NULL, 0, 0); return 0; }
EOF
- if compile_prog "" "-lattr" ; then
+ if compile_prog "" "" ; then
+ attr=yes
+ # Older distros have <attr/xattr.h>, and need -lattr:
+ elif sed -i s,sys/xattr,attr/xattr, $TMPC && compile_prog "" "-lattr" ; then
attr=yes
LIBS="-lattr $LIBS"
+ libattr=yes
else
if test "$attr" = "yes" ; then
feature_not_found "ATTR"
@@ -3032,6 +3037,9 @@
if test "$attr" = "yes" ; then
echo "CONFIG_ATTR=y" >> $config_host_mak
fi
+if test "$libattr" = "yes" ; then
+ echo "CONFIG_LIBATTR=y" >> $config_host_mak
+fi
if test "$linux" = "yes" ; then
if test "$attr" = "yes" ; then
echo "CONFIG_VIRTFS=y" >> $config_host_mak