On Thu, Dec 17, 2020 at 5:31 PM Marc-André Lureau < marcandre.lureau@redhat.com> wrote: > > > On Thu, Dec 17, 2020 at 1:41 PM Paolo Bonzini wrote: > >> Signed-off-by: Paolo Bonzini >> --- >> configure | 30 ++++-------------------------- >> meson.build | 10 ++++++---- >> meson_options.txt | 2 ++ >> migration/meson.build | 2 +- >> 4 files changed, 13 insertions(+), 31 deletions(-) >> >> diff --git a/configure b/configure >> index ea5650acca..649da881a2 100755 >> --- a/configure >> +++ b/configure >> @@ -398,7 +398,7 @@ lzo="auto" >> snappy="auto" >> bzip2="auto" >> lzfse="auto" >> -zstd="$default_feature" >> +zstd="auto" >> guest_agent="$default_feature" >> guest_agent_with_vss="no" >> guest_agent_ntddscsi="no" >> @@ -1328,9 +1328,9 @@ for opt do >> ;; >> --disable-lzfse) lzfse="disabled" >> ;; >> - --disable-zstd) zstd="no" >> + --disable-zstd) zstd="disabled" >> ;; >> - --enable-zstd) zstd="yes" >> + --enable-zstd) zstd="enabled" >> ;; >> --enable-guest-agent) guest_agent="yes" >> ;; >> @@ -2458,23 +2458,6 @@ EOF >> fi >> fi >> >> -########################################## >> -# zstd check >> - >> -if test "$zstd" != "no" ; then >> - libzstd_minver="1.4.0" >> - if $pkg_config --atleast-version=$libzstd_minver libzstd ; then >> - zstd_cflags="$($pkg_config --cflags libzstd)" >> - zstd_libs="$($pkg_config --libs libzstd)" >> - zstd="yes" >> - else >> - if test "$zstd" = "yes" ; then >> - feature_not_found "libzstd" "Install libzstd devel" >> - fi >> - zstd="no" >> - fi >> -fi >> - >> ########################################## >> # libseccomp check >> >> @@ -6070,12 +6053,6 @@ if test "$avx512f_opt" = "yes" ; then >> echo "CONFIG_AVX512F_OPT=y" >> $config_host_mak >> fi >> >> -if test "$zstd" = "yes" ; then >> - echo "CONFIG_ZSTD=y" >> $config_host_mak >> - echo "ZSTD_CFLAGS=$zstd_cflags" >> $config_host_mak >> - echo "ZSTD_LIBS=$zstd_libs" >> $config_host_mak >> -fi >> - >> if test "$seccomp" = "yes"; then >> echo "CONFIG_SECCOMP=y" >> $config_host_mak >> echo "SECCOMP_CFLAGS=$seccomp_cflags" >> $config_host_mak >> @@ -6629,6 +6606,7 @@ NINJA=$ninja $meson setup \ >> -Dcurl=$curl -Dglusterfs=$glusterfs -Dbzip2=$bzip2 >> -Dlibiscsi=$libiscsi \ >> -Dlibnfs=$libnfs -Diconv=$iconv -Dcurses=$curses >> -Dlibudev=$libudev\ >> -Dlibssh=$libssh -Drbd=$rbd -Dlzo=$lzo -Dsnappy=$snappy >> -Dlzfse=$lzfse \ >> + -Dzstd=$zstd \ >> -Ddocs=$docs -Dsphinx_build=$sphinx_build -Dinstall_blobs=$blobs >> \ >> -Dvhost_user_blk_server=$vhost_user_blk_server \ >> -Dfuse=$fuse -Dfuse_lseek=$fuse_lseek \ >> diff --git a/meson.build b/meson.build >> index c02d9c3e1a..93a95d7a7f 100644 >> --- a/meson.build >> +++ b/meson.build >> @@ -380,9 +380,10 @@ if not get_option('libiscsi').auto() or have_block >> method: 'pkg-config', static: enable_static) >> endif >> zstd = not_found >> -if 'CONFIG_ZSTD' in config_host >> - zstd = declare_dependency(compile_args: >> config_host['ZSTD_CFLAGS'].split(), >> - link_args: config_host['ZSTD_LIBS'].split()) >> +if not get_option('zstd').auto() or have_block >> + zstd = dependency('zstd', version: '>=1.4.0', >> > > -> libzstd > > Interestingly, meson didn't seem to overwrite config-host.h correctly > (that's how I noticed failed to link). I removed it and now it regenerates > it correctly.. weird. > > with that fix, Reviewed-by: Marc-André Lureau + required: get_option('zstd'), >> + method: 'pkg-config', static: enable_static) >> endif >> gbm = not_found >> if 'CONFIG_GBM' in config_host >> @@ -1003,6 +1004,7 @@ config_host_data.set('CONFIG_KEYUTILS', >> keyutils.found()) >> config_host_data.set('CONFIG_GETTID', has_gettid) >> config_host_data.set('CONFIG_MALLOC_TRIM', has_malloc_trim) >> config_host_data.set('CONFIG_STATX', has_statx) >> +config_host_data.set('CONFIG_ZSTD', zstd.found()) >> config_host_data.set('CONFIG_FUSE', fuse.found()) >> config_host_data.set('CONFIG_FUSE_LSEEK', fuse_lseek.found()) >> config_host_data.set('CONFIG_CFI', get_option('cfi')) >> @@ -2377,7 +2379,7 @@ summary_info += {'lzo support': lzo.found()} >> summary_info += {'snappy support': snappy.found()} >> summary_info += {'bzip2 support': libbzip2.found()} >> summary_info += {'lzfse support': liblzfse.found()} >> -summary_info += {'zstd support': config_host.has_key('CONFIG_ZSTD')} >> +summary_info += {'zstd support': zstd.found()} >> summary_info += {'NUMA host support': config_host.has_key('CONFIG_NUMA')} >> summary_info += {'libxml2': >> config_host.has_key('CONFIG_LIBXML2')} >> summary_info += {'memory allocator': get_option('malloc')} >> diff --git a/meson_options.txt b/meson_options.txt >> index f74a3d78c4..5a1de9b1fe 100644 >> --- a/meson_options.txt >> +++ b/meson_options.txt >> @@ -92,6 +92,8 @@ option('virtiofsd', type: 'feature', value: 'auto', >> description: 'build virtiofs daemon (virtiofsd)') >> option('vhost_user_blk_server', type: 'feature', value: 'auto', >> description: 'build vhost-user-blk server') >> +option('zstd', type : 'feature', value : 'auto', >> + description: 'zstd compression support') >> option('fuse', type: 'feature', value: 'auto', >> description: 'FUSE block device export') >> option('fuse_lseek', type : 'feature', value : 'auto', >> diff --git a/migration/meson.build b/migration/meson.build >> index 980e37865c..c783f2f2ae 100644 >> --- a/migration/meson.build >> +++ b/migration/meson.build >> @@ -29,6 +29,6 @@ softmmu_ss.add(files( >> >> softmmu_ss.add(when: ['CONFIG_RDMA', rdma], if_true: files('rdma.c')) >> softmmu_ss.add(when: 'CONFIG_LIVE_BLOCK_MIGRATION', if_true: >> files('block.c')) >> -softmmu_ss.add(when: 'CONFIG_ZSTD', if_true: [files('multifd-zstd.c'), >> zstd]) >> +softmmu_ss.add(when: zstd, if_true: files('multifd-zstd.c')) >> >> specific_ss.add(when: 'CONFIG_SOFTMMU', if_true: files('dirtyrate.c', >> 'ram.c')) >> -- >> 2.29.2 >> >> >>