[00/10] enhance meson summary - list disabled components
mbox series

Message ID 20190605202248.394-1-bruce.richardson@intel.com
Headers show
Series
  • enhance meson summary - list disabled components
Related show

Message

Bruce Richardson June 5, 2019, 8:22 p.m. UTC
After using meson to configure a build, we output a brief list of all
components that are enabled. However, of more use to most users is a
list of what is not being enabled, so that they can look for gaps and
see about fixing those gaps, e.g. by installing driver dependencies.

This patchset adds such a printout at the end, but to make things
easier, it also adds support for drivers adding a reason why they not
being built, e.g. unsupported platform, or missing software dependency.

Example output from a FreeBSD platform, for which many drivers do not
compile:

=================
Content Skipped
=================

libs:
        kni:    only supported on 64-bit linux
        power:  only supported on linux
        vhost:  only supported on linux
        telemetry:      missing dependency "jansson"

drivers:
        common/dpaax:   only supported on linux
        common/mvep:    missing dependency, "libmusdk"
        bus/dpaa:       only supported on linux
        bus/fslmc:      only supported on linux
        bus/vmbus:      only supported on linux
        mempool/dpaa:   only supported on linux
        mempool/dpaa2:  only supported on linux
        net/af_packet:  only supported on linux
        net/af_xdp:     missing dependency, "libbpf"
        net/avp:        only supported on linux
        net/axgbe:      only supported on linux
        net/dpaa:       only supported on linux
        net/dpaa2:      only supported on linux
        net/enetc:      only supported on linux
        net/ifc:        missing dependency, DPDK vhost library
        net/kni:        missing dependency, DPDK KNI library
        net/mlx4:       missing dependency, "ibverbs"
        net/mlx5:       missing dependency, "ibverbs"
        net/mvneta:     missing dependency, "libmusdk"
        net/mvpp2:      missing dependency, "libmusdk"
        net/netvsc:     missing dependency, DPDK VMBus driver
        net/nfb:        missing dependency, "libnfb"
        net/nfp:        only supported on 64-bit linux
        net/softnic:    only supported on linux
        net/szedata2:   missing dependency, "libsze2"
        net/tap:        only supported on linux
        net/vdev_netvsc:        only supported on linux
        net/vhost:      missing dependency, DPDK vhost library
        crypto/aesni_gcm:       missing dependency, "libIPSec_MB"
        crypto/aesni_mb:        missing dependency, "libIPSec_MB"
        crypto/caam_jr: only supported on linux
        crypto/ccp:     missing dependency, "libcrypto"
        crypto/dpaa_sec:        only supported on linux
        crypto/dpaa2_sec:       only supported on linux
        crypto/kasumi:  missing dependency, "libsso_kasumi"
        crypto/mvsam:   missing dependency, "libmusdk"
        crypto/octeontx:        only supported on linux
        crypto/openssl: missing dependency, "libcrypto"
        crypto/snow3g:  missing dependency, "libsso_snow3g"
        crypto/zuc:     missing dependency, "libsso_zuc"
        compress/isal:  missing dependency, "libisal"
        event/dpaa:     only supported on linux
        event/dpaa2:    only supported on linux
        raw/dpaa2_cmdif:        missing dependency, DPDK DPAA2 mempool driver
        raw/dpaa2_qdma: missing dependency, DPDK DPAA2 mempool driver
        raw/ifpga_rawdev:       missing dependency, "libfdt"


Bruce Richardson (10):
  build: print list of disabled components for meson build
  lib: add reasons for components being disabled
  drivers/bus: add reasons for components being disabled
  drivers/common: add reasons for components being disabled
  drivers/compress: add reasons for components being disabled
  drivers/crypto: add reasons for components being disabled
  drivers/event: add reasons for components being disabled
  drivers/mempool: add reasons for components being disabled
  drivers/net: add reasons for components being disabled
  drivers/raw: add reasons for components being disabled

 doc/guides/contributing/coding_style.rst | 15 ++++++++++++++-
 drivers/bus/dpaa/meson.build             |  3 ++-
 drivers/bus/fslmc/meson.build            |  3 ++-
 drivers/bus/vmbus/meson.build            |  1 +
 drivers/common/dpaax/meson.build         |  3 ++-
 drivers/common/mvep/meson.build          |  1 +
 drivers/common/qat/meson.build           |  1 +
 drivers/compress/isal/meson.build        |  3 ++-
 drivers/compress/zlib/meson.build        |  1 +
 drivers/crypto/aesni_gcm/meson.build     |  5 +++--
 drivers/crypto/aesni_mb/meson.build      |  5 +++--
 drivers/crypto/caam_jr/meson.build       |  3 ++-
 drivers/crypto/ccp/meson.build           |  4 +++-
 drivers/crypto/dpaa2_sec/meson.build     |  3 ++-
 drivers/crypto/dpaa_sec/meson.build      |  3 ++-
 drivers/crypto/kasumi/meson.build        |  1 +
 drivers/crypto/mvsam/meson.build         |  1 +
 drivers/crypto/octeontx/meson.build      |  1 +
 drivers/crypto/openssl/meson.build       |  1 +
 drivers/crypto/qat/meson.build           |  1 +
 drivers/crypto/snow3g/meson.build        |  1 +
 drivers/crypto/zuc/meson.build           |  1 +
 drivers/event/dpaa/meson.build           |  1 +
 drivers/event/dpaa2/meson.build          |  1 +
 drivers/mempool/dpaa/meson.build         |  3 ++-
 drivers/mempool/dpaa2/meson.build        |  3 ++-
 drivers/meson.build                      | 12 +++++++++++-
 drivers/net/af_packet/meson.build        |  1 +
 drivers/net/af_xdp/meson.build           |  1 +
 drivers/net/avp/meson.build              |  3 ++-
 drivers/net/axgbe/meson.build            |  1 +
 drivers/net/bnx2x/meson.build            |  1 +
 drivers/net/dpaa/meson.build             |  1 +
 drivers/net/dpaa2/meson.build            |  3 ++-
 drivers/net/enetc/meson.build            |  1 +
 drivers/net/ifc/meson.build              |  1 +
 drivers/net/kni/meson.build              |  1 +
 drivers/net/mlx4/meson.build             |  1 +
 drivers/net/mlx5/meson.build             |  1 +
 drivers/net/mvneta/meson.build           |  1 +
 drivers/net/mvpp2/meson.build            |  1 +
 drivers/net/netvsc/meson.build           |  1 +
 drivers/net/nfb/meson.build              |  1 +
 drivers/net/nfp/meson.build              |  3 ++-
 drivers/net/pcap/meson.build             |  1 +
 drivers/net/sfc/meson.build              |  1 +
 drivers/net/softnic/meson.build          |  3 ++-
 drivers/net/szedata2/meson.build         |  1 +
 drivers/net/tap/meson.build              |  3 ++-
 drivers/net/vdev_netvsc/meson.build      |  3 ++-
 drivers/net/vhost/meson.build            |  1 +
 drivers/raw/dpaa2_cmdif/meson.build      |  1 +
 drivers/raw/dpaa2_qdma/meson.build       |  1 +
 drivers/raw/ifpga_rawdev/meson.build     |  1 +
 lib/librte_kni/meson.build               |  1 +
 lib/librte_power/meson.build             |  1 +
 lib/librte_telemetry/meson.build         |  1 +
 lib/librte_vhost/meson.build             |  1 +
 lib/meson.build                          |  6 +++++-
 meson.build                              | 15 +++++++++++++++
 60 files changed, 122 insertions(+), 23 deletions(-)

Comments

Luca Boccassi June 5, 2019, 8:39 p.m. UTC | #1
On Wed, 2019-06-05 at 21:22 +0100, Bruce Richardson wrote:
> After using meson to configure a build, we output a brief list of all
> components that are enabled. However, of more use to most users is a
> list of what is not being enabled, so that they can look for gaps and
> see about fixing those gaps, e.g. by installing driver dependencies.
> 
> This patchset adds such a printout at the end, but to make things
> easier, it also adds support for drivers adding a reason why they not
> being built, e.g. unsupported platform, or missing software
> dependency.

Series-acked-by: Luca Boccassi <bluca@debian.org>
Bruce Richardson June 18, 2019, 1:18 p.m. UTC | #2
On Wed, Jun 05, 2019 at 09:39:07PM +0100, Luca Boccassi wrote:
> On Wed, 2019-06-05 at 21:22 +0100, Bruce Richardson wrote:
> > After using meson to configure a build, we output a brief list of all
> > components that are enabled. However, of more use to most users is a
> > list of what is not being enabled, so that they can look for gaps and
> > see about fixing those gaps, e.g. by installing driver dependencies.
> > 
> > This patchset adds such a printout at the end, but to make things
> > easier, it also adds support for drivers adding a reason why they not
> > being built, e.g. unsupported platform, or missing software
> > dependency.
> 
> Series-acked-by: Luca Boccassi <bluca@debian.org>
> 
Ping on this patchset. It's acked almost 2 weeks now, so can it be merged?
[to get it off my "list-of-stuff-to-track"]

/Bruce
Thomas Monjalon July 2, 2019, 9:21 p.m. UTC | #3
05/06/2019 22:39, Luca Boccassi:
> On Wed, 2019-06-05 at 21:22 +0100, Bruce Richardson wrote:
> > After using meson to configure a build, we output a brief list of all
> > components that are enabled. However, of more use to most users is a
> > list of what is not being enabled, so that they can look for gaps and
> > see about fixing those gaps, e.g. by installing driver dependencies.
> > 
> > This patchset adds such a printout at the end, but to make things
> > easier, it also adds support for drivers adding a reason why they not
> > being built, e.g. unsupported platform, or missing software
> > dependency.
> 
> Series-acked-by: Luca Boccassi <bluca@debian.org>

Applied, thanks