> -----Original Message----- > From: Fabiano Rosas <faro...@suse.de> > Sent: Saturday, December 2, 2023 1:45 AM > To: Liu, Yuan1 <yuan1....@intel.com>; quint...@redhat.com; > pet...@redhat.com; leob...@redhat.com > Cc: qemu-devel@nongnu.org; Liu, Yuan1 <yuan1....@intel.com>; Zou, Nanhai > <nanhai....@intel.com> > Subject: Re: [PATCH v2 3/4] configure: add qpl option > > Yuan Liu <yuan1....@intel.com> writes: > > > the Query Processing Library (QPL) is an open-source library that > > supports data compression and decompression features. > > > > add --enable-qpl and --disable-qpl options to enable and disable the > > QPL compression accelerator. The QPL compression accelerator can > > accelerate the Zlib compression algorithm during the live migration. > > > > Signed-off-by: Yuan Liu <yuan1....@intel.com> > > Reviewed-by: Nanhai Zou <nanhai....@intel.com> > > --- > > meson.build | 7 +++++++ > > meson_options.txt | 2 ++ > > scripts/meson-buildoptions.sh | 3 +++ > > 3 files changed, 12 insertions(+) > > > > diff --git a/meson.build b/meson.build index 259dc5f308..b4ba30b4fa > > 100644 > > --- a/meson.build > > +++ b/meson.build > > @@ -1032,6 +1032,11 @@ if not get_option('zstd').auto() or have_block > > required: get_option('zstd'), > > method: 'pkg-config') endif > > +qpl = not_found > > +if not get_option('qpl').auto() > > + qpl = dependency('libqpl', required: get_option('qpl'), > > + method: 'pkg-config') endif > > Hm.. I'm not having success with pkg-config: > > ../meson.build:1043:10: ERROR: Dependency "libqpl" not found, tried > pkgconfig > > It seems it doesn't find the static library. I had to use this instead: > > qpl = declare_dependency(dependencies: cc.find_library('qpl', > required: get_option('qpl'))) > > What am I missing here? Sorry about this, the QPL repo(https://github.com/intel/qpl) does not yet support libqpl pkg-config file, we are in the process of adding this functionality and we hope to resolve libqpl's dependencies through pkg-config file. I will explicitly address this issue and provide relevant documentation in the next version.
For the pkg-config test, 1. create /usr/lib64/pkgconfig/libqpl.pc 2. add below lines prefix=/usr/local exec_prefix=${prefix} libdir=${exec_prefix}/lib includedir=${prefix}/include Name: libqpl Description: Intel Query Processing Library Version: 1.3.0 Libs: -L${libdir} -lqpl -lpthread -laccel-config -ldl -lstdc++ Cflags: -I${includedir} 3. Install the header files to /usr/local/include/qpl and static library to /usr/local/lib64/libqpl.a > > virgl = not_found > > > > have_vhost_user_gpu = have_tools and targetos == 'linux' and > > pixman.found() @@ -2165,6 +2170,7 @@ > > config_host_data.set('CONFIG_MALLOC_TRIM', has_malloc_trim) > > config_host_data.set('CONFIG_STATX', has_statx) > > 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_FUSE', fuse.found()) > > config_host_data.set('CONFIG_FUSE_LSEEK', fuse_lseek.found()) > > config_host_data.set('CONFIG_SPICE_PROTOCOL', spice_protocol.found()) > > @@ -4325,6 +4331,7 @@ summary_info += {'snappy support': snappy} > > summary_info += {'bzip2 support': libbzip2} > > summary_info += {'lzfse support': liblzfse} > > summary_info += {'zstd support': zstd} > > +summary_info += {'Query Processing Library support': qpl} > > 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 > > 3c7398f3c6..71cd533985 100644 > > --- a/meson_options.txt > > +++ b/meson_options.txt > > @@ -255,6 +255,8 @@ option('xkbcommon', type : 'feature', value : > 'auto', > > description: 'xkbcommon support') option('zstd', type : > > 'feature', value : 'auto', > > description: 'zstd compression support') > > +option('qpl', type : 'feature', value : 'auto', > > + description: 'Query Processing Library 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 > > 7ca4b77eae..0909d1d517 100644 > > --- a/scripts/meson-buildoptions.sh > > +++ b/scripts/meson-buildoptions.sh > > @@ -220,6 +220,7 @@ meson_options_help() { > > printf "%s\n" ' Xen PCI passthrough support' > > printf "%s\n" ' xkbcommon xkbcommon support' > > printf "%s\n" ' zstd zstd compression support' > > + printf "%s\n" ' qpl Query Processing Library support' > > } > > _meson_option_parse() { > > case $1 in > > @@ -556,6 +557,8 @@ _meson_option_parse() { > > --disable-xkbcommon) printf "%s" -Dxkbcommon=disabled ;; > > --enable-zstd) printf "%s" -Dzstd=enabled ;; > > --disable-zstd) printf "%s" -Dzstd=disabled ;; > > + --enable-qpl) printf "%s" -Dqpl=enabled ;; > > + --disable-qpl) printf "%s" -Dqpl=disabled ;; > > *) return 1 ;; > > esac > > } > > -- > > 2.39.3