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

Reply via email to