> -----Original Message----- > From: Fabiano Rosas <faro...@suse.de> > Sent: Monday, December 4, 2023 8:30 PM > To: Liu, Yuan1 <yuan1....@intel.com>; quint...@redhat.com; > pet...@redhat.com; leob...@redhat.com > Cc: qemu-devel@nongnu.org; Zou, Nanhai <nanhai....@intel.com> > Subject: RE: [PATCH v2 3/4] configure: add qpl option > > "Liu, Yuan1" <yuan1....@intel.com> writes: > > >> -----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. > > Ok, just remember to test with a clean setup next time. Sure
> > 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++ > > We could probably do this with meson directly instead of requiring a pkg- > config preliminary setup. My meson-fu is not the best, but something > like: > > qpl = declare_dependency(dependencies: [ > cc.find_library('qpl', required: get_option('qpl')), > cc.find_library('accel-config', required: get_option('qpl')), > ... > ], link_args: ['-lstdc++', ...]) I will fix this, thank you for the sample code > > Cflags: -I${includedir} > > > > 3. Install the header files to /usr/local/include/qpl and static > > library to /usr/local/lib64/libqpl.a > > For this part is ok to just point to the official docs. Yes, good idea