[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
>
>
- [Qemu-block] [PATCH 0/5] preparation for Parallels Disk xml driver, Denis V. Lunev, 2017/12/18
- [Qemu-block] [PATCH 5/5] block/parallels: add backing support to readv/writev, Denis V. Lunev, 2017/12/18
- [Qemu-block] [PATCH 4/5] block/parallels: replace some magic numbers, Denis V. Lunev, 2017/12/18
- [Qemu-block] [PATCH 1/5] docs/interop/prl-xml: description of Parallels Disk format, Denis V. Lunev, 2017/12/18
- [Qemu-block] [PATCH 2/5] configure: add dependency, Denis V. Lunev, 2017/12/18
- Re: [Qemu-block] [PATCH 2/5] configure: add dependency,
Roman Kagan <=
- [Qemu-block] [PATCH 3/5] block/parallels: move some structures into header, Denis V. Lunev, 2017/12/18