From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:34421) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RO6au-0007ZW-2q for qemu-devel@nongnu.org; Wed, 09 Nov 2011 06:45:29 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RO6as-0004wN-Mw for qemu-devel@nongnu.org; Wed, 09 Nov 2011 06:45:28 -0500 Received: from e1.ny.us.ibm.com ([32.97.182.141]:57041) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RO6as-0004vu-IN for qemu-devel@nongnu.org; Wed, 09 Nov 2011 06:45:26 -0500 Received: from /spool/local by e1.ny.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 9 Nov 2011 06:45:18 -0500 Received: from d01av02.pok.ibm.com (d01av02.pok.ibm.com [9.56.224.216]) by d01relay03.pok.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id pA9BiWYn184484 for ; Wed, 9 Nov 2011 06:44:32 -0500 Received: from d01av02.pok.ibm.com (loopback [127.0.0.1]) by d01av02.pok.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id pA9BiV7u026252 for ; Wed, 9 Nov 2011 09:44:32 -0200 From: "Aneesh Kumar K.V" In-Reply-To: <1320834838-14623-1-git-send-email-avi@redhat.com> References: <1320834838-14623-1-git-send-email-avi@redhat.com> Date: Wed, 09 Nov 2011 17:14:23 +0530 Message-ID: <87vcqt7c6g.fsf@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Subject: Re: [Qemu-devel] [PATCH 1.0 v2] configure: fix detection for xattr.h on modern distributions List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Avi Kivity , Anthony Liguori , qemu-devel@nongnu.org On Wed, 9 Nov 2011 12:33:58 +0200, Avi Kivity wrote: > 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 > --- > > v2: try for libc first, libattr second > > configure | 12 ++++++++++-- > hw/9pfs/virtio-9p-handle.c | 2 +- > hw/9pfs/virtio-9p-local.c | 2 +- > hw/9pfs/virtio-9p-posix-acl.c | 2 +- > hw/9pfs/virtio-9p-xattr.h | 2 +- > linux-user/syscall.c | 2 +- > qemu-xattr.h | 30 ++++++++++++++++++++++++++++++ > 7 files changed, 45 insertions(+), 7 deletions(-) > create mode 100644 qemu-xattr.h > > diff --git a/configure b/configure > index 9e5da44..401d9a6 100755 > --- a/configure > +++ b/configure > @@ -129,6 +129,7 @@ xen="" > xen_ctrl_version="" > linux_aio="" > attr="" > +libattr="" > xfs="" > > vhost_net="no" > @@ -1961,12 +1962,16 @@ if test "$attr" != "no" ; then > cat > $TMPC < #include > #include > -#include > +#include > 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 , 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 @@ fi > 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 Is this needed ? We are adding -lattr to LIBS if needed. What will CONFIG_LIBATTR helps us to achieve ? > if test "$linux" = "yes" ; then > if test "$attr" = "yes" ; then > echo "CONFIG_VIRTFS=y" >> $config_host_mak > diff --git a/hw/9pfs/virtio-9p-handle.c b/hw/9pfs/virtio-9p-handle.c > index c38e0e7..8d53cf0 100644 > --- a/hw/9pfs/virtio-9p-handle.c > +++ b/hw/9pfs/virtio-9p-handle.c > @@ -19,7 +19,7 @@ > #include > #include > #include > -#include > +#include Should this be #include "qemu-xattr.h" > #include > #include > #ifdef CONFIG_LINUX_MAGIC_H > diff --git a/hw/9pfs/virtio-9p-local.c b/hw/9pfs/virtio-9p-local.c > index 782dc0a..740f4e6 100644 > --- a/hw/9pfs/virtio-9p-local.c > +++ b/hw/9pfs/virtio-9p-local.c > @@ -19,7 +19,7 @@ > #include > #include > #include > -#include > +#include > #include > #ifdef CONFIG_LINUX_MAGIC_H > #include > diff --git a/hw/9pfs/virtio-9p-posix-acl.c b/hw/9pfs/virtio-9p-posix-acl.c > index f5b392e..ff82cf0 100644 > --- a/hw/9pfs/virtio-9p-posix-acl.c > +++ b/hw/9pfs/virtio-9p-posix-acl.c > @@ -12,7 +12,7 @@ > */ > > #include > -#include > +#include > #include "hw/virtio.h" > #include "virtio-9p.h" > #include "fsdev/file-op-9p.h" > diff --git a/hw/9pfs/virtio-9p-xattr.h b/hw/9pfs/virtio-9p-xattr.h > index 247e414..9437280 100644 > --- a/hw/9pfs/virtio-9p-xattr.h > +++ b/hw/9pfs/virtio-9p-xattr.h > @@ -13,7 +13,7 @@ > #ifndef _QEMU_VIRTIO_9P_XATTR_H > #define _QEMU_VIRTIO_9P_XATTR_H > > -#include > +#include "qemu-xattr.h" > > typedef struct xattr_operations > { > diff --git a/linux-user/syscall.c b/linux-user/syscall.c > index 9f5da36..e9c0566 100644 > --- a/linux-user/syscall.c > +++ b/linux-user/syscall.c > @@ -71,7 +71,7 @@ int __clone2(int (*fn)(void *), void *child_stack_base, > #include > #endif > #ifdef CONFIG_ATTR > -#include > +#include Should this be #include "qemu-xattr.h" > #endif > > #define termios host_termios > diff --git a/qemu-xattr.h b/qemu-xattr.h > new file mode 100644 > index 0000000..f910d96 > --- /dev/null > +++ b/qemu-xattr.h > @@ -0,0 +1,30 @@ > +/* > + * Host xattr.h abstraction > + * > + * Copyright 2011 Red Hat Inc. and/or its affiliates > + * > + * Authors: > + * Avi Kivity > + * > + * This work is licensed under the terms of the GNU GPL, version 2, or any > + * later version. See the COPYING file in the top-level directory. > + * > + */ > +#ifndef QEMU_XATTR_H > +#define QEMU_XATTR_H > + > +/* > + * Modern distributions (e.g. Fedora 15, have no libattr.so, place attr.h > + * in /usr/include/sys, and don't have ENOATTR. > + */ > + > +#include "config-host.h" > + > +#ifdef CONFIG_LIBATTR > +# include > +#else > +# define ENOATTR ENODATA > +# include > +#endif > + > +#endif -aneesh