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
+
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 ;;
--
Yichen Wang
> -----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
© 2016 - 2024 Red Hat, Inc.