> -----Original Message-----
> From: Yichen Wang <yichen.w...@bytedance.com>
> Sent: Tuesday, July 16, 2024 6:13 AM
> To: Peter Xu <pet...@redhat.com>; Fabiano Rosas <faro...@suse.de>; Paolo
> Bonzini <pbonz...@redhat.com>; Daniel P. Berrangé <berra...@redhat.com>;
> Eduardo Habkost <edua...@habkost.net>; Marc-André Lureau
> <marcandre.lur...@redhat.com>; Thomas Huth <th...@redhat.com>; Philippe
> Mathieu-Daudé <phi...@linaro.org>; Eric Blake <ebl...@redhat.com>; Markus
> Armbruster <arm...@redhat.com>; Laurent Vivier <lviv...@redhat.com>; qemu-
> de...@nongnu.org
> Cc: Hao Xiang <hao.xi...@linux.dev>; Liu, Yuan1 <yuan1....@intel.com>;
> Zou, Nanhai <nanhai....@intel.com>; Ho-Ren (Jack) Chuang
> <horenchu...@bytedance.com>; Wang, Yichen <yichen.w...@bytedance.com>;
> Bryan Zhang <bryan.zh...@bytedance.com>
> Subject: [PATCH v6 2/5] meson: Introduce 'qatzip' feature to the build
> system
> 
> From: Bryan Zhang <bryan.zh...@bytedance.com>
> 
> Add a 'qatzip' feature, which is automatically disabled, and which
> depends on the QATzip library if enabled.
> 
> Signed-off-by: Bryan Zhang <bryan.zh...@bytedance.com>
> Signed-off-by: Hao Xiang <hao.xi...@linux.dev>
> Signed-off-by: Yichen Wang <yichen.w...@bytedance.com>
> ---
>  meson.build                   | 10 ++++++++++
>  meson_options.txt             |  2 ++
>  scripts/meson-buildoptions.sh |  3 +++
>  3 files changed, 15 insertions(+)
> 
> diff --git a/meson.build b/meson.build
> index 6a93da48e1..ea977c6cbf 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -1244,6 +1244,14 @@ if not get_option('uadk').auto() or have_system
>       uadk = declare_dependency(dependencies: [libwd, libwd_comp])
>    endif
>  endif
> +
> +qatzip = not_found
> +if get_option('qatzip').enabled()
> +  qatzip = dependency('qatzip', version: '>=1.1.2',
> +                      required: get_option('qatzip'),
> +                      method: 'pkg-config')
> +endif
> +

How about changing to the following code 
if not get_option('qatzip').auto() or have_system
  qatzip = dependency('qatzip', version: '>=1.1.2',
                      required: get_option('qatzip'),
                      method: 'pkg-config')
endif

This means that on all Qemu emulation targets, always use 
--enable-qatzip and --disable-qatzip to determine whether
qatzip is required.

I think your previous code can remove if get_option('qatzip').enabled()
And it also can work

>  virgl = not_found
> 
>  have_vhost_user_gpu = have_tools and host_os == 'linux' and
> pixman.found()
> @@ -2378,6 +2386,7 @@ config_host_data.set('CONFIG_STATX_MNT_ID',
> has_statx_mnt_id)
>  config_host_data.set('CONFIG_ZSTD', zstd.found())
>  config_host_data.set('CONFIG_QPL', qpl.found())
>  config_host_data.set('CONFIG_UADK', uadk.found())
> +config_host_data.set('CONFIG_QATZIP', qatzip.found())
>  config_host_data.set('CONFIG_FUSE', fuse.found())
>  config_host_data.set('CONFIG_FUSE_LSEEK', fuse_lseek.found())
>  config_host_data.set('CONFIG_SPICE_PROTOCOL', spice_protocol.found())
> @@ -4484,6 +4493,7 @@ summary_info += {'lzfse support':     liblzfse}
>  summary_info += {'zstd support':      zstd}
>  summary_info += {'Query Processing Library support': qpl}
>  summary_info += {'UADK Library support': uadk}
> +summary_info += {'qatzip support':    qatzip}
>  summary_info += {'NUMA host support': numa}
>  summary_info += {'capstone':          capstone}
>  summary_info += {'libpmem support':   libpmem}
> diff --git a/meson_options.txt b/meson_options.txt
> index 0269fa0f16..35a69f6697 100644
> --- a/meson_options.txt
> +++ b/meson_options.txt
> @@ -261,6 +261,8 @@ option('qpl', type : 'feature', value : 'auto',
>         description: 'Query Processing Library support')
>  option('uadk', type : 'feature', value : 'auto',
>         description: 'UADK Library support')
> +option('qatzip', type: 'feature', value: 'disabled',

If you agree with the above changes, set the qatzip value to auto
option('qatzip', type: 'feature', value: 'auto'

> +       description: 'QATzip compression support')
>  option('fuse', type: 'feature', value: 'auto',
>         description: 'FUSE block device export')
>  option('fuse_lseek', type : 'feature', value : 'auto',
> diff --git a/scripts/meson-buildoptions.sh b/scripts/meson-buildoptions.sh
> index cfadb5ea86..1ce467e9cc 100644
> --- a/scripts/meson-buildoptions.sh
> +++ b/scripts/meson-buildoptions.sh
> @@ -163,6 +163,7 @@ meson_options_help() {
>    printf "%s\n" '  pixman          pixman support'
>    printf "%s\n" '  plugins         TCG plugins via shared library
> loading'
>    printf "%s\n" '  png             PNG support with libpng'
> +  printf "%s\n" '  qatzip          QATzip compression support'
>    printf "%s\n" '  qcow1           qcow1 image format support'
>    printf "%s\n" '  qed             qed image format support'
>    printf "%s\n" '  qga-vss         build QGA VSS support (broken with
> MinGW)'
> @@ -427,6 +428,8 @@ _meson_option_parse() {
>      --enable-png) printf "%s" -Dpng=enabled ;;
>      --disable-png) printf "%s" -Dpng=disabled ;;
>      --prefix=*) quote_sh "-Dprefix=$2" ;;
> +    --enable-qatzip) printf "%s" -Dqatzip=enabled ;;
> +    --disable-qatzip) printf "%s" -Dqatzip=disabled ;;
>      --enable-qcow1) printf "%s" -Dqcow1=enabled ;;
>      --disable-qcow1) printf "%s" -Dqcow1=disabled ;;
>      --enable-qed) printf "%s" -Dqed=enabled ;;
> --
> Yichen Wang


Reply via email to