qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Philippe Mathieu-Daudé" <philmd@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>, qemu-devel@nongnu.org
Subject: Re: [PULL 12/12] meson: show library versions in the summary
Date: Wed, 6 Oct 2021 18:22:05 +0200	[thread overview]
Message-ID: <2fe71843-bcbe-cbc7-dfed-d9beb60e9f2b@redhat.com> (raw)
In-Reply-To: <20211005164408.288128-13-pbonzini@redhat.com>

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



  reply	other threads:[~2021-10-06 16:37 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-05 16:43 [PULL 00/12] Misc changes for 2021-10-05 Paolo Bonzini
2021-10-05 16:43 ` [PULL 01/12] i386: docs: Briefly describe KVM PV features Paolo Bonzini
2021-10-05 16:43 ` [PULL 02/12] sev/i386: Introduce sev_add_kernel_loader_hashes for measured linux boot Paolo Bonzini
2021-10-05 16:43 ` [PULL 03/12] x86/sev: generate SEV kernel loader hashes in x86_load_linux Paolo Bonzini
2021-10-05 16:44 ` [PULL 04/12] hw/misc: applesmc: use host osk as default on macs Paolo Bonzini
2021-10-05 16:44 ` [PULL 05/12] configure, meson: move CPU_CFLAGS out of QEMU_CFLAGS Paolo Bonzini
2021-10-05 16:44 ` [PULL 06/12] migration: block-dirty-bitmap: add missing qemu_mutex_lock_iothread Paolo Bonzini
2021-10-05 16:44 ` [PULL 07/12] migration: add missing qemu_mutex_lock_iothread in migration_completion Paolo Bonzini
2021-10-05 16:44 ` [PULL 08/12] meson: bump submodule to 0.59.2 Paolo Bonzini
2021-10-05 16:44 ` [PULL 09/12] meson: switch minimum meson version to 0.58.2, minimum recommended " Paolo Bonzini
2021-10-05 16:44 ` [PULL 10/12] hexagon: use env keyword argument to pass PYTHONPATH Paolo Bonzini
2021-10-05 16:44 ` [PULL 11/12] target/xtensa: list cores in a text file Paolo Bonzini
2021-10-05 16:44 ` [PULL 12/12] meson: show library versions in the summary Paolo Bonzini
2021-10-06 16:22   ` Philippe Mathieu-Daudé [this message]
2021-10-06 16:52     ` Richard Henderson
2021-10-06 16:55       ` Philippe Mathieu-Daudé
2021-10-06 17:16         ` Paolo Bonzini
2021-10-06 17:56           ` Philippe Mathieu-Daudé
2021-10-07  9:42             ` Paolo Bonzini
2021-10-05 21:34 ` [PULL 00/12] Misc changes for 2021-10-05 Richard Henderson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2fe71843-bcbe-cbc7-dfed-d9beb60e9f2b@redhat.com \
    --to=philmd@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).