qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-block] [PATCH 2/5] configure: add dependency


From: Roman Kagan
Subject: Re: [Qemu-block] [PATCH 2/5] configure: add dependency
Date: Fri, 22 Dec 2017 15:38:02 +0300
User-agent: Mutt/1.9.1 (2017-09-22)

On Mon, Dec 18, 2017 at 02:09:08PM +0300, Denis V. Lunev wrote:
> From: Klim Kireev <address@hidden>
> 
> This dependency is required for adequate Parallels images support.
> Typically the disk consists of several images which are glued by
> XML disk descriptor. Also XML hides inside several important parameters
> which are not available in the image header.
> 
> The patch also adds clause to checkpatch.pl to understand libxml2 types.

Can't you get by with glib's GMarkup, to avoid extra dependencies?

https://developer.gnome.org/glib/stable/glib-Simple-XML-Subset-Parser.html

Roman.

> Signed-off-by: Denis V. Lunev <address@hidden>
> Signed-off-by: Klim Kireev <address@hidden>
> Signed-off-by: Edgar Kaziakhmedov <address@hidden>
> CC: Stefan Hajnoczi <address@hidden>
> ---
>  configure             | 27 +++++++++++++++++++++++++++
>  block/Makefile.objs   |  2 ++
>  scripts/checkpatch.pl |  1 +
>  3 files changed, 30 insertions(+)
> 
> diff --git a/configure b/configure
> index 0c6e757..e988fd0 100755
> --- a/configure
> +++ b/configure
> @@ -422,6 +422,7 @@ tcmalloc="no"
>  jemalloc="no"
>  replication="yes"
>  vxhs=""
> +libxml2=""
>  
>  supported_cpu="no"
>  supported_os="no"
> @@ -1275,6 +1276,10 @@ for opt do
>    ;;
>    --enable-numa) numa="yes"
>    ;;
> +  --disable-libxml2) libxml2="no"
> +  ;;
> +  --enable-libxml2) libxml2="yes"
> +  ;;
>    --disable-tcmalloc) tcmalloc="no"
>    ;;
>    --enable-tcmalloc) tcmalloc="yes"
> @@ -1548,6 +1553,7 @@ disabled with --disable-FEATURE, default is enabled if 
> available:
>    tpm             TPM support
>    libssh2         ssh block device support
>    numa            libnuma support
> +  libxml2         for Parallels image format
>    tcmalloc        tcmalloc support
>    jemalloc        jemalloc support
>    replication     replication support
> @@ -1592,6 +1598,20 @@ if test "$ARCH" = "unknown"; then
>      fi
>  fi
>  
> +# check for libxml2
> +if test "$libxml2" != "no" ; then
> +    if $pkg_config --exists libxml-2.0; then
> +        libxml2="yes"
> +        libxml2_cflags=$($pkg_config --cflags libxml-2.0)
> +        libxml2_libs=$($pkg_config --libs libxml-2.0)
> +    else
> +        if test "$libxml2" = "yes"; then
> +            feature_not_found "libxml2" "Install libxml2 devel"
> +        fi
> +        libxml2="no"
> +    fi
> +fi
> +
>  # Consult white-list to determine whether to enable werror
>  # by default.  Only enable by default for git builds
>  if test -z "$werror" ; then
> @@ -5549,6 +5569,7 @@ echo "lzo support       $lzo"
>  echo "snappy support    $snappy"
>  echo "bzip2 support     $bzip2"
>  echo "NUMA host support $numa"
> +echo "libxml2           $libxml2"
>  echo "tcmalloc support  $tcmalloc"
>  echo "jemalloc support  $jemalloc"
>  echo "avx2 optimization $avx2_opt"
> @@ -6208,6 +6229,12 @@ if test "$have_rtnetlink" = "yes" ; then
>    echo "CONFIG_RTNETLINK=y" >> $config_host_mak
>  fi
>  
> +if test "$libxml2" = "yes" ; then
> +  echo "CONFIG_LIBXML2=y" >> $config_host_mak
> +  echo "LIBXML2_CFLAGS=$libxml2_cflags" >> $config_host_mak
> +  echo "LIBXML2_LIBS=$libxml2_libs" >> $config_host_mak
> +fi
> +
>  if test "$replication" = "yes" ; then
>    echo "CONFIG_REPLICATION=y" >> $config_host_mak
>  fi
> diff --git a/block/Makefile.objs b/block/Makefile.objs
> index 6eaf78a..a73387f 100644
> --- a/block/Makefile.objs
> +++ b/block/Makefile.objs
> @@ -47,3 +47,5 @@ block-obj-$(if $(CONFIG_BZIP2),m,n) += dmg-bz2.o
>  dmg-bz2.o-libs     := $(BZIP2_LIBS)
>  qcow.o-libs        := -lz
>  linux-aio.o-libs   := -laio
> +parallels.o-cflags := $(LIBXML2_CFLAGS)
> +parallels.o-libs   := $(LIBXML2_LIBS)
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> index 34df753..e76cc85 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
> @@ -265,6 +265,7 @@ our @typeList = (
>       qr{${Ident}_handler_fn},
>       qr{target_(?:u)?long},
>       qr{hwaddr},
> +     qr{xml${Ident}},
>  );
>  
>  # This can be modified by sub possible.  Since it can be empty, be careful
> -- 
> 2.7.4
> 
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]