* [PULL v3 00/52] Misc patches for 2020-12-21
@ 2021-01-06 14:54 Paolo Bonzini
2021-01-06 14:54 ` [PULL 42/52] lzo: convert to meson Paolo Bonzini
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Paolo Bonzini @ 2021-01-06 14:54 UTC (permalink / raw)
To: qemu-devel
The following changes since commit 41192db338588051f21501abc13743e62b0a5605:
Merge remote-tracking branch 'remotes/ehabkost-gl/tags/machine-next-pull-request' into staging (2021-01-01 22:57:15 +0000)
are available in the Git repository at:
https://gitlab.com/bonzini/qemu.git tags/for-upstream
for you to fetch changes up to c8b2b7fed9850356f5d88bc7da2f1cefe57289bf:
win32: drop fd registration to the main-loop on setting non-block (2021-01-06 10:21:20 +0100)
----------------------------------------------------------------
From Alex's pull request:
* improve cross-build KVM coverage
* new --without-default-features configure flag
* add __repr__ for ConsoleSocket for debugging
* build tcg tests with -Werror
* test 32 bit builds with fedora
* remove last traces of debian9
* hotfix for centos8 powertools repo
* Move lots of feature detection code to meson (Alex, myself)
* CFI and LTO support (Daniele)
* test-char dangling pointer (Eduardo)
* Build system and win32 fixes (Marc-André)
* Initialization fixes (myself)
* TCG include cleanup (Richard, myself)
* x86 'int N' fix (Peter)
----------------------------------------------------------------
v2->v3: removed libssh conversion, limited lzo/snappy/lzfse for user-only builds
Alex Bennée (7):
gitlab: include aarch64-softmmu and ppc64-softmmu cross-system-build
configure: move gettext detection to meson.build
configure: add --without-default-features
python: add __repr__ to ConsoleSocket to aid debugging
gitlab: move --without-default-devices build from Travis
gitlab: add --without-default-features build
tests/tcg: build tests with -Werror
Daniel P. Berrangé (1):
tests: update for rename of CentOS8 PowerTools repo
Daniele Buono (5):
configure,meson: add option to enable LTO
cfi: Initial support for cfi-icall in QEMU
check-block: enable iotests with cfi-icall
configure,meson: support Control-Flow Integrity
docs: Add CFI Documentation
Eduardo Habkost (2):
test-char: Destroy chardev correctly at char_file_test_internal()
qom: Assert that objects being destroyed have no parent
Marc-André Lureau (2):
build-sys: fix -static linking of libvhost-user
win32: drop fd registration to the main-loop on setting non-block
Paolo Bonzini (31):
configure: document --without-default-{features,devices}
vl: initialize displays _after_ exiting preconfiguration
remove TCG includes from common code
trace: do not include TCG helper tracepoints in no-TCG builds
Makefile: add dummy target for build.ninja dependencies
meson: fix detection of curses with pkgconfig
meson: use pkg-config method for libudev
meson: use dependency to gate block modules
meson: cleanup Kconfig.host handling
configure: remove useless code to check for Xen PCI passthrough
configure: remove variable bogus_os
configure: accept --enable-slirp
configure: remove CONFIG_FILEVERSION and CONFIG_PRODUCTVERSION
brlapi: convert to meson
curl: remove compatibility code, require 7.29.0
curl: convert to meson
glusterfs: convert to meson
bzip2: convert to meson
libiscsi: convert to meson
libnfs: convert to meson
rbd: convert to meson
lzo: convert to meson
snappy: convert to meson
lzfse: convert to meson
zstd: convert to meson
seccomp: convert to meson
virtfs: convert to meson
cap_ng: convert to meson
libattr: convert to meson
meson.build: convert --with-default-devices to meson
configure: move tests/qemu-iotests/common.env generation to meson
Peter Maydell (1):
target/i386: Check privilege level for protected mode 'int N' task gate
Richard Henderson (1):
util: Extract flush_icache_range to cacheflush.c
Thomas Huth (2):
gitlab-CI: Test 32-bit builds with the fedora-i386-cross container
tests/docker: Remove the remainders of debian9 containers from the Makefile
.gitlab-ci.d/crossbuilds.yml | 22 +-
.gitlab-ci.yml | 14 +
.travis.yml | 8 -
MAINTAINERS | 2 +
Makefile | 1 +
accel/Kconfig | 9 +
accel/stubs/tcg-stub.c | 1 -
accel/tcg/cpu-exec.c | 11 +
accel/tcg/cputlb.c | 2 +-
accel/tcg/translate-all.c | 2 +-
accel/tcg/user-exec.c | 2 +-
block/curl.c | 28 -
block/meson.build | 22 +-
chardev/meson.build | 2 +-
configure | 756 +++++-----------------
contrib/elf2dmp/meson.build | 2 +-
contrib/vhost-user-scsi/meson.build | 2 +-
cpu.c | 2 +-
docs/devel/control-flow-integrity.rst | 137 ++++
docs/devel/index.rst | 5 +-
docs/devel/kconfig.rst | 19 +-
hw/i386/kvmvapic.c | 1 -
{accel/tcg => include/exec}/translate-all.h | 0
include/qemu/cacheflush.h | 24 +
include/qemu/compiler.h | 11 +
meson.build | 410 +++++++++---
meson_options.txt | 47 +-
migration/meson.build | 2 +-
monitor/misc.c | 1 -
plugins/core.c | 37 ++
plugins/loader.c | 7 +
po/meson.build | 2 +-
python/qemu/console_socket.py | 7 +
qom/object.c | 1 +
softmmu/meson.build | 2 +-
softmmu/physmem.c | 4 +-
softmmu/qemu-seccomp.c | 2 -
softmmu/vl.c | 2 +-
target/i386/tcg/seg_helper.c | 35 +-
tcg/aarch64/tcg-target.h | 5 -
tcg/arm/tcg-target.h | 5 -
tcg/i386/tcg-target.h | 4 -
tcg/mips/tcg-target.h | 11 -
tcg/ppc/tcg-target.c.inc | 22 -
tcg/ppc/tcg-target.h | 1 -
tcg/riscv/tcg-target.h | 5 -
tcg/s390/tcg-target.h | 4 -
tcg/sparc/tcg-target.h | 8 -
tcg/tcg.c | 1 +
tcg/tci.c | 7 +
tcg/tci/tcg-target.h | 4 -
tests/check-block.sh | 18 +-
tests/docker/Makefile.include | 6 +-
tests/docker/dockerfiles/centos8.docker | 5 +-
tests/docker/dockerfiles/fedora-i386-cross.docker | 18 +-
tests/qemu-iotests/common.env.in | 3 +
tests/qemu-iotests/meson.build | 3 +
tests/tcg/Makefile.target | 2 +-
tests/test-char.c | 2 +-
tools/meson.build | 6 +-
trace/meson.build | 2 +-
util/cacheflush.c | 71 ++
util/main-loop.c | 11 +
util/meson.build | 2 +-
util/oslib-posix.c | 11 +
util/oslib-win32.c | 1 -
version.rc | 4 +-
67 files changed, 1012 insertions(+), 874 deletions(-)
create mode 100644 docs/devel/control-flow-integrity.rst
rename {accel/tcg => include/exec}/translate-all.h (100%)
create mode 100644 include/qemu/cacheflush.h
create mode 100644 tests/qemu-iotests/common.env.in
create mode 100644 util/cacheflush.c
--
2.29.2
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PULL 42/52] lzo: convert to meson
2021-01-06 14:54 [PULL v3 00/52] Misc patches for 2020-12-21 Paolo Bonzini
@ 2021-01-06 14:54 ` Paolo Bonzini
2021-01-06 14:54 ` [PULL 43/52] snappy: " Paolo Bonzini
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Paolo Bonzini @ 2021-01-06 14:54 UTC (permalink / raw)
To: qemu-devel
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
configure | 32 ++++----------------------------
meson.build | 21 ++++++++++++++++++---
meson_options.txt | 2 ++
3 files changed, 24 insertions(+), 31 deletions(-)
diff --git a/configure b/configure
index 1904734259..934cb098aa 100755
--- a/configure
+++ b/configure
@@ -393,7 +393,7 @@ opengl_dmabuf="no"
cpuid_h="no"
avx2_opt="$default_feature"
capstone="auto"
-lzo="$default_feature"
+lzo="auto"
snappy="$default_feature"
bzip2="auto"
lzfse="$default_feature"
@@ -1311,9 +1311,9 @@ for opt do
;;
--disable-zlib-test)
;;
- --disable-lzo) lzo="no"
+ --disable-lzo) lzo="disabled"
;;
- --enable-lzo) lzo="yes"
+ --enable-lzo) lzo="enabled"
;;
--disable-snappy) snappy="no"
;;
@@ -2457,25 +2457,6 @@ EOF
fi
fi
-##########################################
-# lzo check
-
-if test "$lzo" != "no" ; then
- cat > $TMPC << EOF
-#include <lzo/lzo1x.h>
-int main(void) { lzo_version(); return 0; }
-EOF
- if compile_prog "" "-llzo2" ; then
- lzo_libs="-llzo2"
- lzo="yes"
- else
- if test "$lzo" = "yes"; then
- feature_not_found "liblzo2" "Install liblzo2 devel"
- fi
- lzo="no"
- fi
-fi
-
##########################################
# snappy check
@@ -6157,11 +6138,6 @@ if test "$avx512f_opt" = "yes" ; then
echo "CONFIG_AVX512F_OPT=y" >> $config_host_mak
fi
-if test "$lzo" = "yes" ; then
- echo "CONFIG_LZO=y" >> $config_host_mak
- echo "LZO_LIBS=$lzo_libs" >> $config_host_mak
-fi
-
if test "$snappy" = "yes" ; then
echo "CONFIG_SNAPPY=y" >> $config_host_mak
echo "SNAPPY_LIBS=$snappy_libs" >> $config_host_mak
@@ -6741,7 +6717,7 @@ NINJA=$ninja $meson setup \
-Dcapstone=$capstone -Dslirp=$slirp -Dfdt=$fdt -Dbrlapi=$brlapi \
-Dcurl=$curl -Dglusterfs=$glusterfs -Dbzip2=$bzip2 -Dlibiscsi=$libiscsi \
-Dlibnfs=$libnfs -Diconv=$iconv -Dcurses=$curses -Dlibudev=$libudev\
- -Drbd=$rbd \
+ -Drbd=$rbd -Dlzo=$lzo \
-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 f844fc51ab..34683d5030 100644
--- a/meson.build
+++ b/meson.build
@@ -749,10 +749,24 @@ snappy = not_found
if 'CONFIG_SNAPPY' in config_host
snappy = declare_dependency(link_args: config_host['SNAPPY_LIBS'].split())
endif
+
lzo = not_found
-if 'CONFIG_LZO' in config_host
- lzo = declare_dependency(link_args: config_host['LZO_LIBS'].split())
+if not get_option('lzo').auto() or have_system
+ lzo = cc.find_library('lzo2', has_headers: ['lzo/lzo1x.h'],
+ required: get_option('lzo'),
+ static: enable_static)
+endif
+if lzo.found() and not cc.links('''
+ #include <lzo/lzo1x.h>
+ int main(void) { lzo_version(); return 0; }''', dependencies: lzo)
+ lzo = not_found
+ if get_option('lzo').enabled()
+ error('could not link liblzo2')
+ else
+ warning('could not link liblzo2, disabling')
+ endif
endif
+
rdma = not_found
if 'CONFIG_RDMA' in config_host
rdma = declare_dependency(link_args: config_host['RDMA_LIBS'].split())
@@ -937,6 +951,7 @@ config_host_data.set_quoted('CONFIG_SYSCONFDIR', get_option('prefix') / get_opti
config_host_data.set('CONFIG_BRLAPI', brlapi.found())
config_host_data.set('CONFIG_COCOA', cocoa.found())
config_host_data.set('CONFIG_LIBUDEV', libudev.found())
+config_host_data.set('CONFIG_LZO', lzo.found())
config_host_data.set('CONFIG_MPATH', mpathpersist.found())
config_host_data.set('CONFIG_MPATH_NEW_API', mpathpersist_new_api)
config_host_data.set('CONFIG_CURL', curl.found())
@@ -2336,7 +2351,7 @@ summary_info += {'TPM support': config_host.has_key('CONFIG_TPM')}
summary_info += {'libssh support': config_host.has_key('CONFIG_LIBSSH')}
summary_info += {'QOM debugging': config_host.has_key('CONFIG_QOM_CAST_DEBUG')}
summary_info += {'Live block migration': config_host.has_key('CONFIG_LIVE_BLOCK_MIGRATION')}
-summary_info += {'lzo support': config_host.has_key('CONFIG_LZO')}
+summary_info += {'lzo support': lzo.found()}
summary_info += {'snappy support': config_host.has_key('CONFIG_SNAPPY')}
summary_info += {'bzip2 support': libbzip2.found()}
summary_info += {'lzfse support': config_host.has_key('CONFIG_LZFSE')}
diff --git a/meson_options.txt b/meson_options.txt
index 7c8d70a7e2..08f0bffeaf 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -62,6 +62,8 @@ option('curses', type : 'feature', value : 'auto',
description: 'curses UI')
option('libudev', type : 'feature', value : 'auto',
description: 'Use libudev to enumerate host devices')
+option('lzo', type : 'feature', value : 'auto',
+ description: 'lzo compression support')
option('rbd', type : 'feature', value : 'auto',
description: 'Ceph block device driver')
option('sdl', type : 'feature', value : 'auto',
--
2.29.2
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PULL 43/52] snappy: convert to meson
2021-01-06 14:54 [PULL v3 00/52] Misc patches for 2020-12-21 Paolo Bonzini
2021-01-06 14:54 ` [PULL 42/52] lzo: convert to meson Paolo Bonzini
@ 2021-01-06 14:54 ` Paolo Bonzini
2021-01-06 14:54 ` [PULL 44/52] lzfse: " Paolo Bonzini
2021-01-06 17:26 ` [PULL v3 00/52] Misc patches for 2020-12-21 Peter Maydell
3 siblings, 0 replies; 5+ messages in thread
From: Paolo Bonzini @ 2021-01-06 14:54 UTC (permalink / raw)
To: qemu-devel
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
configure | 32 ++++----------------------------
meson.build | 20 +++++++++++++++++---
meson_options.txt | 2 ++
3 files changed, 23 insertions(+), 31 deletions(-)
diff --git a/configure b/configure
index 934cb098aa..63aba41f17 100755
--- a/configure
+++ b/configure
@@ -394,7 +394,7 @@ cpuid_h="no"
avx2_opt="$default_feature"
capstone="auto"
lzo="auto"
-snappy="$default_feature"
+snappy="auto"
bzip2="auto"
lzfse="$default_feature"
zstd="$default_feature"
@@ -1315,9 +1315,9 @@ for opt do
;;
--enable-lzo) lzo="enabled"
;;
- --disable-snappy) snappy="no"
+ --disable-snappy) snappy="disabled"
;;
- --enable-snappy) snappy="yes"
+ --enable-snappy) snappy="enabled"
;;
--disable-bzip2) bzip2="disabled"
;;
@@ -2457,25 +2457,6 @@ EOF
fi
fi
-##########################################
-# snappy check
-
-if test "$snappy" != "no" ; then
- cat > $TMPC << EOF
-#include <snappy-c.h>
-int main(void) { snappy_max_compressed_length(4096); return 0; }
-EOF
- if compile_prog "" "-lsnappy" ; then
- snappy_libs='-lsnappy'
- snappy="yes"
- else
- if test "$snappy" = "yes"; then
- feature_not_found "libsnappy" "Install libsnappy devel"
- fi
- snappy="no"
- fi
-fi
-
##########################################
# lzfse check
@@ -6138,11 +6119,6 @@ if test "$avx512f_opt" = "yes" ; then
echo "CONFIG_AVX512F_OPT=y" >> $config_host_mak
fi
-if test "$snappy" = "yes" ; then
- echo "CONFIG_SNAPPY=y" >> $config_host_mak
- echo "SNAPPY_LIBS=$snappy_libs" >> $config_host_mak
-fi
-
if test "$lzfse" = "yes" ; then
echo "CONFIG_LZFSE=y" >> $config_host_mak
echo "LZFSE_LIBS=-llzfse" >> $config_host_mak
@@ -6717,7 +6693,7 @@ NINJA=$ninja $meson setup \
-Dcapstone=$capstone -Dslirp=$slirp -Dfdt=$fdt -Dbrlapi=$brlapi \
-Dcurl=$curl -Dglusterfs=$glusterfs -Dbzip2=$bzip2 -Dlibiscsi=$libiscsi \
-Dlibnfs=$libnfs -Diconv=$iconv -Dcurses=$curses -Dlibudev=$libudev\
- -Drbd=$rbd -Dlzo=$lzo \
+ -Drbd=$rbd -Dlzo=$lzo -Dsnappy=$snappy \
-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 34683d5030..8861434721 100644
--- a/meson.build
+++ b/meson.build
@@ -745,9 +745,22 @@ if get_option('vnc').enabled()
compile_args: '-DSTRUCT_IOVEC_DEFINED')
endif
endif
+
snappy = not_found
-if 'CONFIG_SNAPPY' in config_host
- snappy = declare_dependency(link_args: config_host['SNAPPY_LIBS'].split())
+if not get_option('snappy').auto() or have_system
+ snappy = cc.find_library('snappy', has_headers: ['snappy-c.h'],
+ required: get_option('snappy'),
+ static: enable_static)
+endif
+if snappy.found() and not cc.links('''
+ #include <snappy-c.h>
+ int main(void) { snappy_max_compressed_length(4096); return 0; }''', dependencies: snappy)
+ snappy = not_found
+ if get_option('snappy').enabled()
+ error('could not link libsnappy')
+ else
+ warning('could not link libsnappy, disabling')
+ endif
endif
lzo = not_found
@@ -970,6 +983,7 @@ config_host_data.set('CONFIG_LIBNFS', libnfs.found())
config_host_data.set('CONFIG_RBD', rbd.found())
config_host_data.set('CONFIG_SDL', sdl.found())
config_host_data.set('CONFIG_SDL_IMAGE', sdl_image.found())
+config_host_data.set('CONFIG_SNAPPY', snappy.found())
config_host_data.set('CONFIG_VHOST_USER_BLK_SERVER', have_vhost_user_blk_server)
config_host_data.set('CONFIG_VNC', vnc.found())
config_host_data.set('CONFIG_VNC_JPEG', jpeg.found())
@@ -2352,7 +2366,7 @@ summary_info += {'libssh support': config_host.has_key('CONFIG_LIBSSH')}
summary_info += {'QOM debugging': config_host.has_key('CONFIG_QOM_CAST_DEBUG')}
summary_info += {'Live block migration': config_host.has_key('CONFIG_LIVE_BLOCK_MIGRATION')}
summary_info += {'lzo support': lzo.found()}
-summary_info += {'snappy support': config_host.has_key('CONFIG_SNAPPY')}
+summary_info += {'snappy support': snappy.found()}
summary_info += {'bzip2 support': libbzip2.found()}
summary_info += {'lzfse support': config_host.has_key('CONFIG_LZFSE')}
summary_info += {'zstd support': config_host.has_key('CONFIG_ZSTD')}
diff --git a/meson_options.txt b/meson_options.txt
index 08f0bffeaf..62f2e94f14 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -70,6 +70,8 @@ option('sdl', type : 'feature', value : 'auto',
description: 'SDL user interface')
option('sdl_image', type : 'feature', value : 'auto',
description: 'SDL Image support for icons')
+option('snappy', type : 'feature', value : 'auto',
+ description: 'snappy compression support')
option('u2f', type : 'feature', value : 'auto',
description: 'U2F emulation support')
option('vnc', type : 'feature', value : 'enabled',
--
2.29.2
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PULL 44/52] lzfse: convert to meson
2021-01-06 14:54 [PULL v3 00/52] Misc patches for 2020-12-21 Paolo Bonzini
2021-01-06 14:54 ` [PULL 42/52] lzo: convert to meson Paolo Bonzini
2021-01-06 14:54 ` [PULL 43/52] snappy: " Paolo Bonzini
@ 2021-01-06 14:54 ` Paolo Bonzini
2021-01-06 17:26 ` [PULL v3 00/52] Misc patches for 2020-12-21 Peter Maydell
3 siblings, 0 replies; 5+ messages in thread
From: Paolo Bonzini @ 2021-01-06 14:54 UTC (permalink / raw)
To: qemu-devel
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
configure | 31 ++++---------------------------
meson.build | 20 +++++++++++++++++---
meson_options.txt | 2 ++
3 files changed, 23 insertions(+), 30 deletions(-)
diff --git a/configure b/configure
index 63aba41f17..a1e1fa8b34 100755
--- a/configure
+++ b/configure
@@ -396,7 +396,7 @@ capstone="auto"
lzo="auto"
snappy="auto"
bzip2="auto"
-lzfse="$default_feature"
+lzfse="auto"
zstd="$default_feature"
guest_agent="$default_feature"
guest_agent_with_vss="no"
@@ -1323,9 +1323,9 @@ for opt do
;;
--enable-bzip2) bzip2="enabled"
;;
- --enable-lzfse) lzfse="yes"
+ --enable-lzfse) lzfse="enabled"
;;
- --disable-lzfse) lzfse="no"
+ --disable-lzfse) lzfse="disabled"
;;
--disable-zstd) zstd="no"
;;
@@ -2457,24 +2457,6 @@ EOF
fi
fi
-##########################################
-# lzfse check
-
-if test "$lzfse" != "no" ; then
- cat > $TMPC << EOF
-#include <lzfse.h>
-int main(void) { lzfse_decode_scratch_size(); return 0; }
-EOF
- if compile_prog "" "-llzfse" ; then
- lzfse="yes"
- else
- if test "$lzfse" = "yes"; then
- feature_not_found "lzfse" "Install lzfse devel"
- fi
- lzfse="no"
- fi
-fi
-
##########################################
# zstd check
@@ -6119,11 +6101,6 @@ if test "$avx512f_opt" = "yes" ; then
echo "CONFIG_AVX512F_OPT=y" >> $config_host_mak
fi
-if test "$lzfse" = "yes" ; then
- echo "CONFIG_LZFSE=y" >> $config_host_mak
- echo "LZFSE_LIBS=-llzfse" >> $config_host_mak
-fi
-
if test "$zstd" = "yes" ; then
echo "CONFIG_ZSTD=y" >> $config_host_mak
echo "ZSTD_CFLAGS=$zstd_cflags" >> $config_host_mak
@@ -6693,7 +6670,7 @@ NINJA=$ninja $meson setup \
-Dcapstone=$capstone -Dslirp=$slirp -Dfdt=$fdt -Dbrlapi=$brlapi \
-Dcurl=$curl -Dglusterfs=$glusterfs -Dbzip2=$bzip2 -Dlibiscsi=$libiscsi \
-Dlibnfs=$libnfs -Diconv=$iconv -Dcurses=$curses -Dlibudev=$libudev\
- -Drbd=$rbd -Dlzo=$lzo -Dsnappy=$snappy \
+ -Drbd=$rbd -Dlzo=$lzo -Dsnappy=$snappy -Dlzfse=$lzfse \
-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 8861434721..2a3a840103 100644
--- a/meson.build
+++ b/meson.build
@@ -691,10 +691,24 @@ if not get_option('bzip2').auto() or have_block
endif
endif
endif
+
liblzfse = not_found
-if 'CONFIG_LZFSE' in config_host
- liblzfse = declare_dependency(link_args: config_host['LZFSE_LIBS'].split())
+if not get_option('lzfse').auto() or have_block
+ liblzfse = cc.find_library('lzfse', has_headers: ['lzfse.h'],
+ required: get_option('lzfse'),
+ static: enable_static)
+endif
+if liblzfse.found() and not cc.links('''
+ #include <lzfse.h>
+ int main(void) { lzfse_decode_scratch_size(); return 0; }''', dependencies: liblzfse)
+ liblzfse = not_found
+ if get_option('lzfse').enabled()
+ error('could not link liblzfse')
+ else
+ warning('could not link liblzfse, disabling')
+ endif
endif
+
oss = not_found
if 'CONFIG_AUDIO_OSS' in config_host
oss = declare_dependency(link_args: config_host['OSS_LIBS'].split())
@@ -2368,7 +2382,7 @@ summary_info += {'Live block migration': config_host.has_key('CONFIG_LIVE_BLOCK_
summary_info += {'lzo support': lzo.found()}
summary_info += {'snappy support': snappy.found()}
summary_info += {'bzip2 support': libbzip2.found()}
-summary_info += {'lzfse support': config_host.has_key('CONFIG_LZFSE')}
+summary_info += {'lzfse support': liblzfse.found()}
summary_info += {'zstd support': config_host.has_key('CONFIG_ZSTD')}
summary_info += {'NUMA host support': config_host.has_key('CONFIG_NUMA')}
summary_info += {'libxml2': config_host.has_key('CONFIG_LIBXML2')}
diff --git a/meson_options.txt b/meson_options.txt
index 62f2e94f14..7623dffc74 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -62,6 +62,8 @@ option('curses', type : 'feature', value : 'auto',
description: 'curses UI')
option('libudev', type : 'feature', value : 'auto',
description: 'Use libudev to enumerate host devices')
+option('lzfse', type : 'feature', value : 'auto',
+ description: 'lzfse support for DMG images')
option('lzo', type : 'feature', value : 'auto',
description: 'lzo compression support')
option('rbd', type : 'feature', value : 'auto',
--
2.29.2
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PULL v3 00/52] Misc patches for 2020-12-21
2021-01-06 14:54 [PULL v3 00/52] Misc patches for 2020-12-21 Paolo Bonzini
` (2 preceding siblings ...)
2021-01-06 14:54 ` [PULL 44/52] lzfse: " Paolo Bonzini
@ 2021-01-06 17:26 ` Peter Maydell
3 siblings, 0 replies; 5+ messages in thread
From: Peter Maydell @ 2021-01-06 17:26 UTC (permalink / raw)
To: Paolo Bonzini; +Cc: QEMU Developers
On Wed, 6 Jan 2021 at 14:57, Paolo Bonzini <pbonzini@redhat.com> wrote:
>
> The following changes since commit 41192db338588051f21501abc13743e62b0a5605:
>
> Merge remote-tracking branch 'remotes/ehabkost-gl/tags/machine-next-pull-request' into staging (2021-01-01 22:57:15 +0000)
>
> are available in the Git repository at:
>
> https://gitlab.com/bonzini/qemu.git tags/for-upstream
>
> for you to fetch changes up to c8b2b7fed9850356f5d88bc7da2f1cefe57289bf:
>
> win32: drop fd registration to the main-loop on setting non-block (2021-01-06 10:21:20 +0100)
>
> ----------------------------------------------------------------
> From Alex's pull request:
> * improve cross-build KVM coverage
> * new --without-default-features configure flag
> * add __repr__ for ConsoleSocket for debugging
> * build tcg tests with -Werror
> * test 32 bit builds with fedora
> * remove last traces of debian9
> * hotfix for centos8 powertools repo
>
> * Move lots of feature detection code to meson (Alex, myself)
> * CFI and LTO support (Daniele)
> * test-char dangling pointer (Eduardo)
> * Build system and win32 fixes (Marc-André)
> * Initialization fixes (myself)
> * TCG include cleanup (Richard, myself)
> * x86 'int N' fix (Peter)
>
Applied, thanks.
Please update the changelog at https://wiki.qemu.org/ChangeLog/6.0
for any user-visible changes.
-- PMM
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2021-01-06 17:27 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-06 14:54 [PULL v3 00/52] Misc patches for 2020-12-21 Paolo Bonzini
2021-01-06 14:54 ` [PULL 42/52] lzo: convert to meson Paolo Bonzini
2021-01-06 14:54 ` [PULL 43/52] snappy: " Paolo Bonzini
2021-01-06 14:54 ` [PULL 44/52] lzfse: " Paolo Bonzini
2021-01-06 17:26 ` [PULL v3 00/52] Misc patches for 2020-12-21 Peter Maydell
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.