"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.

>
> 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++', ...])

> 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.


Reply via email to