On 10/5/21 18:44, Paolo Bonzini wrote: > Meson 0.57 allows passing external programs and dependency objects > to summary(). Use this to show library versions and paths in the > summary. > > Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> > --- > meson.build | 112 +++++++++++++++++++++++++--------------------------- > 1 file changed, 54 insertions(+), 58 deletions(-) > > diff --git a/meson.build b/meson.build > index 17e77fe4ef..7b596fdcd9 100644 > --- a/meson.build > +++ b/meson.build > @@ -2859,13 +2859,13 @@ summary_info = {} > summary_info += {'git': config_host['GIT']} > summary_info += {'make': config_host['MAKE']} > summary_info += {'python': '@0@ (version: > @1@)'.format(python.full_path(), python.language_version())} > -summary_info += {'sphinx-build': sphinx_build.found()} > +summary_info += {'sphinx-build': sphinx_build} > if config_host.has_key('HAVE_GDB_BIN') > summary_info += {'gdb': config_host['HAVE_GDB_BIN']} > endif > summary_info += {'genisoimage': config_host['GENISOIMAGE']} > if targetos == 'windows' and config_host.has_key('CONFIG_GUEST_AGENT') > - summary_info += {'wixl': wixl.found() ? wixl.full_path() : > false} > + summary_info += {'wixl': wixl} > endif > if slirp_opt != 'disabled' and 'CONFIG_SLIRP_SMBD' in config_host > summary_info += {'smbd': config_host['CONFIG_SMBD_COMMAND']} > @@ -2956,7 +2956,7 @@ if get_option('cfi') > summary_info += {'CFI debug support': get_option('cfi_debug')} > endif > summary_info += {'strip binaries': get_option('strip')} > -summary_info += {'sparse': sparse.found() ? sparse.full_path() : > false} > +summary_info += {'sparse': sparse} > summary_info += {'mingw32 support': targetos == 'windows'} > > # snarf the cross-compilation information for tests > @@ -3028,19 +3028,19 @@ if have_block > summary_info += {'vvfat support': config_host.has_key('CONFIG_VVFAT')} > summary_info += {'qed support': config_host.has_key('CONFIG_QED')} > summary_info += {'parallels support': > config_host.has_key('CONFIG_PARALLELS')} > - summary_info += {'FUSE exports': fuse.found()} > + summary_info += {'FUSE exports': fuse} > endif > summary(summary_info, bool_yn: true, section: 'Block layer support') > > # Crypto > summary_info = {} > summary_info += {'TLS priority': config_host['CONFIG_TLS_PRIORITY']} > -summary_info += {'GNUTLS support': gnutls.found()} > -summary_info += {'GNUTLS crypto': gnutls_crypto.found()} > -# TODO: add back version > -summary_info += {'libgcrypt': gcrypt.found()} > -# TODO: add back version > -summary_info += {'nettle': nettle.found()} > +summary_info += {'GNUTLS support': gnutls} > +if gnutls.found() > + summary_info += {' GNUTLS crypto': gnutls_crypto.found()} > +endif > +summary_info += {'libgcrypt': gcrypt} > +summary_info += {'nettle': nettle} > if nettle.found() > summary_info += {' XTS': xts != 'private'} > endif > @@ -3052,76 +3052,72 @@ summary(summary_info, bool_yn: true, section: > 'Crypto') > # Libraries > summary_info = {} > if targetos == 'darwin' > - summary_info += {'Cocoa support': cocoa.found()} > + summary_info += {'Cocoa support': cocoa} > endif > -# TODO: add back version > -summary_info += {'SDL support': sdl.found()} > -summary_info += {'SDL image support': sdl_image.found()} > -# TODO: add back version > -summary_info += {'GTK support': gtk.found()} > -summary_info += {'pixman': pixman.found()} > -# TODO: add back version > -summary_info += {'VTE support': vte.found()} > -# TODO: add back version > -summary_info += {'slirp support': slirp_opt == 'disabled' ? false : > slirp_opt} > -summary_info += {'libtasn1': tasn1.found()} > -summary_info += {'PAM': pam.found()} > -summary_info += {'iconv support': iconv.found()} > -summary_info += {'curses support': curses.found()} > -# TODO: add back version > -summary_info += {'virgl support': virgl.found()} > -summary_info += {'curl support': curl.found()} > -summary_info += {'Multipath support': mpathpersist.found()} > -summary_info += {'VNC support': vnc.found()} > +summary_info += {'SDL support': sdl} > +summary_info += {'SDL image support': sdl_image} > +summary_info += {'GTK support': gtk} > +summary_info += {'pixman': pixman} > +summary_info += {'VTE support': vte} > +summary_info += {'slirp support': slirp_opt == 'internal' ? slirp_opt : > slirp} > +summary_info += {'libtasn1': tasn1} > +summary_info += {'PAM': pam} > +summary_info += {'iconv support': iconv} > +summary_info += {'curses support': curses} > +summary_info += {'virgl support': virgl} > +summary_info += {'curl support': curl} > +summary_info += {'Multipath support': mpathpersist} > +summary_info += {'VNC support': vnc} > if vnc.found() > - summary_info += {'VNC SASL support': sasl.found()} > - summary_info += {'VNC JPEG support': jpeg.found()} > - summary_info += {'VNC PNG support': png.found()} > + summary_info += {'VNC SASL support': sasl} > + summary_info += {'VNC JPEG support': jpeg} > + summary_info += {'VNC PNG support': png} > endif > -summary_info += {'brlapi support': brlapi.found()} > +summary_info += {'brlapi support': brlapi} > summary_info += {'vde support': config_host.has_key('CONFIG_VDE')} > summary_info += {'netmap support': config_host.has_key('CONFIG_NETMAP')} > summary_info += {'Linux AIO support': > config_host.has_key('CONFIG_LINUX_AIO')} > -summary_info += {'Linux io_uring support': linux_io_uring.found()} > -summary_info += {'ATTR/XATTR support': libattr.found()} > +summary_info += {'Linux io_uring support': linux_io_uring} > +summary_info += {'ATTR/XATTR support': libattr} > summary_info += {'RDMA support': config_host.has_key('CONFIG_RDMA')} > summary_info += {'PVRDMA support': config_host.has_key('CONFIG_PVRDMA')} > summary_info += {'fdt support': fdt_opt == 'disabled' ? false : > fdt_opt} > -summary_info += {'libcap-ng support': libcap_ng.found()} > -summary_info += {'bpf support': libbpf.found()} > +summary_info += {'libcap-ng support': libcap_ng} > +summary_info += {'bpf support': libbpf} > # TODO: add back protocol and server version > summary_info += {'spice support': config_host.has_key('CONFIG_SPICE')} > -summary_info += {'rbd support': rbd.found()} > +summary_info += {'rbd support': rbd} > summary_info += {'xfsctl support': config_host.has_key('CONFIG_XFS')} > -summary_info += {'smartcard support': cacard.found()} > -summary_info += {'U2F support': u2f.found()} > -summary_info += {'libusb': libusb.found()} > -summary_info += {'usb net redir': usbredir.found()} > +summary_info += {'smartcard support': cacard} > +summary_info += {'U2F support': u2f} > +summary_info += {'libusb': libusb} > +summary_info += {'usb net redir': usbredir} > summary_info += {'OpenGL support': config_host.has_key('CONFIG_OPENGL')} > -summary_info += {'GBM': gbm.found()} > -summary_info += {'libiscsi support': libiscsi.found()} > -summary_info += {'libnfs support': libnfs.found()} > +summary_info += {'GBM': gbm} > +summary_info += {'libiscsi support': libiscsi} > +summary_info += {'libnfs support': libnfs} > if targetos == 'windows' > if config_host.has_key('CONFIG_GUEST_AGENT') > summary_info += {'QGA VSS support': > config_host.has_key('CONFIG_QGA_VSS')} > summary_info += {'QGA w32 disk info': > config_host.has_key('CONFIG_QGA_NTDDSCSI')} > endif > endif > -summary_info += {'seccomp support': seccomp.found()} > -summary_info += {'GlusterFS support': glusterfs.found()} > +summary_info += {'seccomp support': seccomp} > +summary_info += {'GlusterFS support': glusterfs} > summary_info += {'TPM support': config_host.has_key('CONFIG_TPM')} > summary_info += {'libssh support': config_host.has_key('CONFIG_LIBSSH')} > -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': zstd.found()} > +summary_info += {'lzo support': lzo} > +summary_info += {'snappy support': snappy} > +summary_info += {'bzip2 support': libbzip2} > +summary_info += {'lzfse support': liblzfse} > +summary_info += {'zstd support': zstd} > summary_info += {'NUMA host support': config_host.has_key('CONFIG_NUMA')} > -summary_info += {'libxml2': libxml2.found()} > -summary_info += {'capstone': capstone_opt == 'disabled' ? false : > capstone_opt} > -summary_info += {'libpmem support': libpmem.found()} > -summary_info += {'libdaxctl support': libdaxctl.found()} > -summary_info += {'libudev': libudev.found()} > +summary_info += {'libxml2': libxml2} > +summary_info += {'capstone': capstone_opt == 'internal' ? > capstone_opt : capstone} > +summary_info += {'libpmem support': libpmem} > +summary_info += {'libdaxctl support': libdaxctl} > +summary_info += {'libudev': libudev} > +# Dummy dependency, keep .found() > summary_info += {'FUSE lseek': fuse_lseek.found()} > summary(summary_info, bool_yn: true, section: 'Dependencies')
There seems to be something wrong here: The Meson build system Version: 0.59.1 [..] rbd support : YES xfsctl support : NO smartcard support : [<mesonbuild.mlog.AnsiDecorator object at 0x7f00880538e0>, ' ', <mesonbuild.mlog.AnsiDecorator object at 0x7f0087ee6850>] U2F support : NO libusb : [<mesonbuild.mlog.AnsiDecorator object at 0x7f0087cda910>, ' ', <mesonbuild.mlog.AnsiDecorator object at 0x7f0087cdaf40>] usb net redir : [<mesonbuild.mlog.AnsiDecorator object at 0x7f0087e3d730>, ' ', <mesonbuild.mlog.AnsiDecorator object at 0x7f0087e3d700>] OpenGL support : YES GBM : [<mesonbuild.mlog.AnsiDecorator object at 0x7f0087e3d970>, ' ', <mesonbuild.mlog.AnsiDecorator object at 0x7f0087db3c70>] libiscsi support : [<mesonbuild.mlog.AnsiDecorator object at 0x7f0087db9dc0>, ' ', <mesonbuild.mlog.AnsiDecorator object at 0x7f0087db9400>] libnfs support : NO seccomp support : [<mesonbuild.mlog.AnsiDecorator object at 0x7f0087db9a60>, ' ', <mesonbuild.mlog.AnsiDecorator object at 0x7f00879eeb50>] GlusterFS support : [<mesonbuild.mlog.AnsiDecorator object at 0x7f00879eef40>, ' ', <mesonbuild.mlog.AnsiDecorator object at 0x7f00879ee850>] TPM support : YES libssh support : YES lzo support : YES snappy support : YES bzip2 support : YES lzfse support : NO zstd support : [<mesonbuild.mlog.AnsiDecorator object at 0x7f0087c914f0>, ' ', <mesonbuild.mlog.AnsiDecorator object at 0x7f0087c912e0>] NUMA host support : YES libxml2 : [<mesonbuild.mlog.AnsiDecorator object at 0x7f0087c91700>, ' ', <mesonbuild.mlog.AnsiDecorator object at 0x7f0087deaf40>] capstone : [<mesonbuild.mlog.AnsiDecorator object at 0x7f0087ffba00>, ' ', <mesonbuild.mlog.AnsiDecorator object at 0x7f0087c7cbb0>] libpmem support : [<mesonbuild.mlog.AnsiDecorator object at 0x7f0087d16100>, ' ', <mesonbuild.mlog.AnsiDecorator object at 0x7f0087d169a0>] libdaxctl support : NO libudev : [<mesonbuild.mlog.AnsiDecorator object at 0x7f0087e66a30>, ' ', <mesonbuild.mlog.AnsiDecorator object at 0x7f0087ad0670>] FUSE lseek : NO