meson: show library versions in the summary

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 <pbonzini@redhat.com>
This commit is contained in:
Paolo Bonzini 2021-06-03 11:24:56 +02:00
parent 2796032a51
commit bb647c49b8

View file

@ -2859,13 +2859,13 @@ summary_info = {}
summary_info += {'git': config_host['GIT']} summary_info += {'git': config_host['GIT']}
summary_info += {'make': config_host['MAKE']} summary_info += {'make': config_host['MAKE']}
summary_info += {'python': '@0@ (version: @1@)'.format(python.full_path(), python.language_version())} 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') if config_host.has_key('HAVE_GDB_BIN')
summary_info += {'gdb': config_host['HAVE_GDB_BIN']} summary_info += {'gdb': config_host['HAVE_GDB_BIN']}
endif endif
summary_info += {'genisoimage': config_host['GENISOIMAGE']} summary_info += {'genisoimage': config_host['GENISOIMAGE']}
if targetos == 'windows' and config_host.has_key('CONFIG_GUEST_AGENT') 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 endif
if slirp_opt != 'disabled' and 'CONFIG_SLIRP_SMBD' in config_host if slirp_opt != 'disabled' and 'CONFIG_SLIRP_SMBD' in config_host
summary_info += {'smbd': config_host['CONFIG_SMBD_COMMAND']} 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')} summary_info += {'CFI debug support': get_option('cfi_debug')}
endif endif
summary_info += {'strip binaries': get_option('strip')} 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'} summary_info += {'mingw32 support': targetos == 'windows'}
# snarf the cross-compilation information for tests # 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 += {'vvfat support': config_host.has_key('CONFIG_VVFAT')}
summary_info += {'qed support': config_host.has_key('CONFIG_QED')} summary_info += {'qed support': config_host.has_key('CONFIG_QED')}
summary_info += {'parallels support': config_host.has_key('CONFIG_PARALLELS')} summary_info += {'parallels support': config_host.has_key('CONFIG_PARALLELS')}
summary_info += {'FUSE exports': fuse.found()} summary_info += {'FUSE exports': fuse}
endif endif
summary(summary_info, bool_yn: true, section: 'Block layer support') summary(summary_info, bool_yn: true, section: 'Block layer support')
# Crypto # Crypto
summary_info = {} summary_info = {}
summary_info += {'TLS priority': config_host['CONFIG_TLS_PRIORITY']} summary_info += {'TLS priority': config_host['CONFIG_TLS_PRIORITY']}
summary_info += {'GNUTLS support': gnutls.found()} summary_info += {'GNUTLS support': gnutls}
summary_info += {'GNUTLS crypto': gnutls_crypto.found()} if gnutls.found()
# TODO: add back version summary_info += {' GNUTLS crypto': gnutls_crypto.found()}
summary_info += {'libgcrypt': gcrypt.found()} endif
# TODO: add back version summary_info += {'libgcrypt': gcrypt}
summary_info += {'nettle': nettle.found()} summary_info += {'nettle': nettle}
if nettle.found() if nettle.found()
summary_info += {' XTS': xts != 'private'} summary_info += {' XTS': xts != 'private'}
endif endif
@ -3052,76 +3052,72 @@ summary(summary_info, bool_yn: true, section: 'Crypto')
# Libraries # Libraries
summary_info = {} summary_info = {}
if targetos == 'darwin' if targetos == 'darwin'
summary_info += {'Cocoa support': cocoa.found()} summary_info += {'Cocoa support': cocoa}
endif endif
# TODO: add back version summary_info += {'SDL support': sdl}
summary_info += {'SDL support': sdl.found()} summary_info += {'SDL image support': sdl_image}
summary_info += {'SDL image support': sdl_image.found()} summary_info += {'GTK support': gtk}
# TODO: add back version summary_info += {'pixman': pixman}
summary_info += {'GTK support': gtk.found()} summary_info += {'VTE support': vte}
summary_info += {'pixman': pixman.found()} summary_info += {'slirp support': slirp_opt == 'internal' ? slirp_opt : slirp}
# TODO: add back version summary_info += {'libtasn1': tasn1}
summary_info += {'VTE support': vte.found()} summary_info += {'PAM': pam}
# TODO: add back version summary_info += {'iconv support': iconv}
summary_info += {'slirp support': slirp_opt == 'disabled' ? false : slirp_opt} summary_info += {'curses support': curses}
summary_info += {'libtasn1': tasn1.found()} summary_info += {'virgl support': virgl}
summary_info += {'PAM': pam.found()} summary_info += {'curl support': curl}
summary_info += {'iconv support': iconv.found()} summary_info += {'Multipath support': mpathpersist}
summary_info += {'curses support': curses.found()} summary_info += {'VNC support': vnc}
# 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()}
if vnc.found() if vnc.found()
summary_info += {'VNC SASL support': sasl.found()} summary_info += {'VNC SASL support': sasl}
summary_info += {'VNC JPEG support': jpeg.found()} summary_info += {'VNC JPEG support': jpeg}
summary_info += {'VNC PNG support': png.found()} summary_info += {'VNC PNG support': png}
endif endif
summary_info += {'brlapi support': brlapi.found()} summary_info += {'brlapi support': brlapi}
summary_info += {'vde support': config_host.has_key('CONFIG_VDE')} summary_info += {'vde support': config_host.has_key('CONFIG_VDE')}
summary_info += {'netmap support': config_host.has_key('CONFIG_NETMAP')} 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 AIO support': config_host.has_key('CONFIG_LINUX_AIO')}
summary_info += {'Linux io_uring support': linux_io_uring.found()} summary_info += {'Linux io_uring support': linux_io_uring}
summary_info += {'ATTR/XATTR support': libattr.found()} summary_info += {'ATTR/XATTR support': libattr}
summary_info += {'RDMA support': config_host.has_key('CONFIG_RDMA')} summary_info += {'RDMA support': config_host.has_key('CONFIG_RDMA')}
summary_info += {'PVRDMA support': config_host.has_key('CONFIG_PVRDMA')} summary_info += {'PVRDMA support': config_host.has_key('CONFIG_PVRDMA')}
summary_info += {'fdt support': fdt_opt == 'disabled' ? false : fdt_opt} summary_info += {'fdt support': fdt_opt == 'disabled' ? false : fdt_opt}
summary_info += {'libcap-ng support': libcap_ng.found()} summary_info += {'libcap-ng support': libcap_ng}
summary_info += {'bpf support': libbpf.found()} summary_info += {'bpf support': libbpf}
# TODO: add back protocol and server version # TODO: add back protocol and server version
summary_info += {'spice support': config_host.has_key('CONFIG_SPICE')} 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 += {'xfsctl support': config_host.has_key('CONFIG_XFS')}
summary_info += {'smartcard support': cacard.found()} summary_info += {'smartcard support': cacard}
summary_info += {'U2F support': u2f.found()} summary_info += {'U2F support': u2f}
summary_info += {'libusb': libusb.found()} summary_info += {'libusb': libusb}
summary_info += {'usb net redir': usbredir.found()} summary_info += {'usb net redir': usbredir}
summary_info += {'OpenGL support': config_host.has_key('CONFIG_OPENGL')} summary_info += {'OpenGL support': config_host.has_key('CONFIG_OPENGL')}
summary_info += {'GBM': gbm.found()} summary_info += {'GBM': gbm}
summary_info += {'libiscsi support': libiscsi.found()} summary_info += {'libiscsi support': libiscsi}
summary_info += {'libnfs support': libnfs.found()} summary_info += {'libnfs support': libnfs}
if targetos == 'windows' if targetos == 'windows'
if config_host.has_key('CONFIG_GUEST_AGENT') if config_host.has_key('CONFIG_GUEST_AGENT')
summary_info += {'QGA VSS support': config_host.has_key('CONFIG_QGA_VSS')} 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')} summary_info += {'QGA w32 disk info': config_host.has_key('CONFIG_QGA_NTDDSCSI')}
endif endif
endif endif
summary_info += {'seccomp support': seccomp.found()} summary_info += {'seccomp support': seccomp}
summary_info += {'GlusterFS support': glusterfs.found()} summary_info += {'GlusterFS support': glusterfs}
summary_info += {'TPM support': config_host.has_key('CONFIG_TPM')} summary_info += {'TPM support': config_host.has_key('CONFIG_TPM')}
summary_info += {'libssh support': config_host.has_key('CONFIG_LIBSSH')} summary_info += {'libssh support': config_host.has_key('CONFIG_LIBSSH')}
summary_info += {'lzo support': lzo.found()} summary_info += {'lzo support': lzo}
summary_info += {'snappy support': snappy.found()} summary_info += {'snappy support': snappy}
summary_info += {'bzip2 support': libbzip2.found()} summary_info += {'bzip2 support': libbzip2}
summary_info += {'lzfse support': liblzfse.found()} summary_info += {'lzfse support': liblzfse}
summary_info += {'zstd support': zstd.found()} summary_info += {'zstd support': zstd}
summary_info += {'NUMA host support': config_host.has_key('CONFIG_NUMA')} summary_info += {'NUMA host support': config_host.has_key('CONFIG_NUMA')}
summary_info += {'libxml2': libxml2.found()} summary_info += {'libxml2': libxml2}
summary_info += {'capstone': capstone_opt == 'disabled' ? false : capstone_opt} summary_info += {'capstone': capstone_opt == 'internal' ? capstone_opt : capstone}
summary_info += {'libpmem support': libpmem.found()} summary_info += {'libpmem support': libpmem}
summary_info += {'libdaxctl support': libdaxctl.found()} summary_info += {'libdaxctl support': libdaxctl}
summary_info += {'libudev': libudev.found()} summary_info += {'libudev': libudev}
# Dummy dependency, keep .found()
summary_info += {'FUSE lseek': fuse_lseek.found()} summary_info += {'FUSE lseek': fuse_lseek.found()}
summary(summary_info, bool_yn: true, section: 'Dependencies') summary(summary_info, bool_yn: true, section: 'Dependencies')