Message ID | 20240715221245.12435-3-yichen.wang@bytedance.com |
---|---|
State | New |
Headers | show |
Series | Implement QATzip compression method | expand |
> -----Original Message----- > From: Yichen Wang <yichen.wang@bytedance.com> > Sent: Tuesday, July 16, 2024 6:13 AM > To: Peter Xu <peterx@redhat.com>; Fabiano Rosas <farosas@suse.de>; Paolo > Bonzini <pbonzini@redhat.com>; Daniel P. Berrangé <berrange@redhat.com>; > Eduardo Habkost <eduardo@habkost.net>; Marc-André Lureau > <marcandre.lureau@redhat.com>; Thomas Huth <thuth@redhat.com>; Philippe > Mathieu-Daudé <philmd@linaro.org>; Eric Blake <eblake@redhat.com>; Markus > Armbruster <armbru@redhat.com>; Laurent Vivier <lvivier@redhat.com>; qemu- > devel@nongnu.org > Cc: Hao Xiang <hao.xiang@linux.dev>; Liu, Yuan1 <yuan1.liu@intel.com>; > Zou, Nanhai <nanhai.zou@intel.com>; Ho-Ren (Jack) Chuang > <horenchuang@bytedance.com>; Wang, Yichen <yichen.wang@bytedance.com>; > Bryan Zhang <bryan.zhang@bytedance.com> > Subject: [PATCH v6 2/5] meson: Introduce 'qatzip' feature to the build > system > > From: Bryan Zhang <bryan.zhang@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.zhang@bytedance.com> > Signed-off-by: Hao Xiang <hao.xiang@linux.dev> > Signed-off-by: Yichen Wang <yichen.wang@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
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 + 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', + 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 ;;