[libvirt] [PATCH v6 1/6] add a configure option --with-fuse to prepare introduction of fuse support for libvirt lxc

Gao feng gaofeng at cn.fujitsu.com
Mon Nov 5 12:10:26 UTC 2012


于 2012年11月05日 18:30, Daniel P. Berrange 写道:
> On Mon, Nov 05, 2012 at 10:11:17AM +0000, Richard W.M. Jones wrote:
>> On Mon, Nov 05, 2012 at 01:23:51PM +0800, Gao feng wrote:
>>> +dnl libfuse
>>> +AC_ARG_WITH([fuse],
>>> +  AC_HELP_STRING([--with-fuse], [use libfuse to proivde fuse filesystem support for libvirt lxc]),
>>> +  [],
>>> +  [with_fuse=check])
>>> +dnl
>>> +dnl This check looks for 'fuse'
>>> +dnl
>>> +FUSE_CFLAGS=
>>> +FUSE_LIBS=
>>> +if test "x$with_fuse" != "xno"; then
>>> +  PKG_CHECK_MODULES([FUSE], [fuse >= $FUSE_REQUIRED],
>>> +    [with_fuse=yes], [
>>> +    if test "x$with_fuse" = "xcheck" ; then
>>> +        with_fuse=no
>>> +    else
>>> +        AC_MSG_ERROR(
>>> +          [You must install fuse Library to compile libvirt])
>>> +    fi
>>> +  ])
>>> +  if test "x$with_fuse" = "xyes" ; then
>>> +    FUSE_LIBS="-lfuse"
>>> +    FUSE_CFLAGS="-D_FILE_OFFSET_BITS=64"
> 
> As per Rich's comments, these 2 lines are bogus. The PKG_CHECK_MODULES
> macro should already be setting FUSE_LIBS and FUSE_CFLAGS to the
> correct values defined in the pkg-config file for FUSE.
> 
>>> +    AC_DEFINE_UNQUOTED([HAVE_FUSE], 1, [whether fuse is available for libvirt lxc])
>>> +  fi
>>> +fi
>>> +AM_CONDITIONAL([HAVE_FUSE], [test "x$with_fuse" = "xyes"])
>>> +AC_SUBST([FUSE_CFLAGS])
>>> +AC_SUBST([FUSE_LIBS])
>>> +
>>
>> For comparison, here is how we test for fuse in libguestfs:
>>
>> dnl FUSE is optional to build the FUSE module.
>> AC_ARG_ENABLE([fuse],
>>         AS_HELP_STRING([--disable-fuse], [disable FUSE (guestmount) support]),
>>         [],
>>         [enable_fuse=yes])
>> AS_IF([test "x$enable_fuse" != "xno"],
>>         [PKG_CHECK_MODULES([FUSE],[fuse],
>>             [AC_SUBST([FUSE_CFLAGS])
>>              AC_SUBST([FUSE_LIBS])
>>              AC_DEFINE([HAVE_FUSE],[1],[Define to 1 if you have FUSE.])
>>              old_LIBS="$LIBS"
>>              LIBS="$FUSE_LIBS $LIBS"
>>              AC_CHECK_FUNCS([fuse_opt_add_opt_escaped])
>>              LIBS="$old_LIBS"
>>             ],
>>             [enable_fuse=no
>>              AC_MSG_WARN([FUSE library and headers are missing, so optional FUSE module won't be built])
>>             ])
>>         ])
>> AM_CONDITIONAL([HAVE_FUSE],[test "x$enable_fuse" != "xno"])
>>
>> [ https://github.com/libguestfs/libguestfs/blob/master/configure.ac#L744 ]
>>
>> Is there any reason not to use PKG_CHECK_MODULES?
> 

Is this ok? I'm not familiar with this :(

dnl libfuse
AC_ARG_WITH([fuse],
  AC_HELP_STRING([--with-fuse], [use libfuse to proivde fuse filesystem support for libvirt lxc]),
  [],
  [with_fuse=check])
dnl
dnl This check looks for 'fuse'
dnl
AS_IF([test "x$with_fuse" != "xno"],
        [PKG_CHECK_MODULES([FUSE], [fuse >= $FUSE_REQUIRED],
          [with_fuse=yes
           AC_SUBST([FUSE_CFLAGS])
           AC_SUBST([FUSE_LIBS])
           AC_DEFINE([HAVE_FUSE], [1], [whether fuse is available for libvirt lxc])
          ],
          [with_fuse=no
           AC_MSG_ERROR([You must install fuse Library to compile libvirt])
          ])
        ])
AM_CONDITIONAL([HAVE_FUSE], [test "x$with_fuse" = "xyes"])

Thanks!
Gao





More information about the libvir-list mailing list