DPDK-dev Archive on lore.kernel.org
 help / color / Atom feed
* [dpdk-dev] [PATCH 00/10] enhance meson summary - list disabled components
@ 2019-06-05 20:22 Bruce Richardson
  2019-06-05 20:22 ` [dpdk-dev] [PATCH 01/10] build: print list of disabled components for meson build Bruce Richardson
                   ` (10 more replies)
  0 siblings, 11 replies; 14+ messages in thread
From: Bruce Richardson @ 2019-06-05 20:22 UTC (permalink / raw)
  To: bluca, thomas; +Cc: dev, john.mcnamara, Bruce Richardson

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(-)

-- 
2.21.0


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [dpdk-dev] [PATCH 01/10] build: print list of disabled components for meson build
  2019-06-05 20:22 [dpdk-dev] [PATCH 00/10] enhance meson summary - list disabled components Bruce Richardson
@ 2019-06-05 20:22 ` Bruce Richardson
  2019-06-05 20:22 ` [dpdk-dev] [PATCH 02/10] lib: add reasons for components being disabled Bruce Richardson
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Bruce Richardson @ 2019-06-05 20:22 UTC (permalink / raw)
  To: bluca, thomas; +Cc: dev, john.mcnamara, Bruce Richardson

When configuring with meson we print out a list of enabled components, but
it is also useful to list out the disabled components and the reasons why.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 doc/guides/contributing/coding_style.rst | 15 ++++++++++++++-
 drivers/meson.build                      | 12 +++++++++++-
 lib/meson.build                          |  6 +++++-
 meson.build                              | 15 +++++++++++++++
 4 files changed, 45 insertions(+), 3 deletions(-)

diff --git a/doc/guides/contributing/coding_style.rst b/doc/guides/contributing/coding_style.rst
index a5d5897f3..449b33494 100644
--- a/doc/guides/contributing/coding_style.rst
+++ b/doc/guides/contributing/coding_style.rst
@@ -852,12 +852,15 @@ allow_experimental_apis
 build
 	**Default Value = true**
 	Used to optionally compile a library, based on its dependencies or
-	environment. A simple example of use would be:
+	environment. When set to "false" the ``reason`` value, explained below, should
+	also be set to explain to the user why the component is not being built.
+	A simple example of use would be:
 
 .. code-block:: python
 
 	if not is_linux
 	        build = false
+	        reason = 'only supported on Linux'
 	endif
 
 
@@ -938,6 +941,13 @@ objs
 	objects that were compiled up as part of another target given in the
 	included library ``meson.build`` file.
 
+reason
+	**Default Value = '<unknown reason>'**.
+	This variable should be used when a library is not to be built i.e. when
+	``build`` is set to "false", to specify the reason why a library will not be
+	built. For missing dependencies this should be of the form
+	``'missing dependency, "libname"'``.
+
 version
 	**Default Value = 1**.
 	Specifies the ABI version of the library, and is used as the major
@@ -991,6 +1001,9 @@ pkgconfig_extra_libs
 	using static libraries. Anything added here will be appended to the end
 	of the ``pkgconfig --libs`` output.
 
+reason
+	As above.
+
 sources [mandatory]
 	As above
 
diff --git a/drivers/meson.build b/drivers/meson.build
index 4c444f495..94e6c829e 100644
--- a/drivers/meson.build
+++ b/drivers/meson.build
@@ -40,6 +40,7 @@ foreach class:dpdk_driver_classes
 
 		# set up empty variables used for build
 		build = true # set to false to disable, e.g. missing deps
+		reason = '<unknown reason>' # set if build == false to explain
 		name = drv
 		version = 1
 		allow_experimental_apis = false
@@ -61,7 +62,16 @@ foreach class:dpdk_driver_classes
 		# pull in driver directory which should assign to each of the above
 		subdir(drv_path)
 
-		if build
+		if not build
+			# some driver directories are placeholders which
+			# are never built, so we allow suppression of the
+			# component disable printout in those cases
+			if reason != ''
+				dpdk_drvs_disabled += drv_path
+				set_variable(drv_path.underscorify() +
+						'_disable_reason', reason)
+			endif
+		else
 			class_drivers += name
 
 			dpdk_conf.set(config_flag_fmt.format(name.to_upper()),1)
diff --git a/lib/meson.build b/lib/meson.build
index e067ce5ea..76c13b7da 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -46,6 +46,7 @@ default_cflags += '-D_GNU_SOURCE'
 
 foreach l:libraries
 	build = true
+	reason = '<unknown reason>' # set if build == false to explain why
 	name = l
 	version = 1
 	allow_experimental_apis = false
@@ -68,7 +69,10 @@ foreach l:libraries
 	dir_name = 'librte_' + l
 	subdir(dir_name)
 
-	if build
+	if not build
+		dpdk_libs_disabled += name
+		set_variable(name.underscorify() + '_disable_reason', reason)
+	else
 		enabled_libs += name
 		dpdk_conf.set('RTE_LIBRTE_' + name.to_upper(), 1)
 		install_headers(headers)
diff --git a/meson.build b/meson.build
index 9cad43481..63a1ce25b 100644
--- a/meson.build
+++ b/meson.build
@@ -20,6 +20,8 @@ dpdk_driver_classes = []
 dpdk_drivers = []
 dpdk_extra_ldflags = []
 dpdk_app_link_libraries = []
+dpdk_libs_disabled = []
+dpdk_drvs_disabled = []
 
 # configure the build, and make sure configs here and in config folder are
 # able to be included in any file. We also store a global array of include dirs
@@ -108,3 +110,16 @@ foreach class:dpdk_driver_classes
 	endforeach
 endforeach
 message(output_message + '\n')
+
+output_message = '\n=================\nContent Skipped\n=================\n'
+output_message += '\nlibs:\n\t'
+foreach lib:dpdk_libs_disabled
+	reason = get_variable(lib.underscorify() + '_disable_reason')
+	output_message += lib + ':\t' + reason + '\n\t'
+endforeach
+output_message += '\ndrivers:\n\t'
+foreach drv:dpdk_drvs_disabled
+	reason = get_variable(drv.underscorify() + '_disable_reason')
+	output_message += drv + ':\t' + reason + '\n\t'
+endforeach
+message(output_message + '\n')
-- 
2.21.0


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [dpdk-dev] [PATCH 02/10] lib: add reasons for components being disabled
  2019-06-05 20:22 [dpdk-dev] [PATCH 00/10] enhance meson summary - list disabled components Bruce Richardson
  2019-06-05 20:22 ` [dpdk-dev] [PATCH 01/10] build: print list of disabled components for meson build Bruce Richardson
@ 2019-06-05 20:22 ` Bruce Richardson
  2019-06-05 20:22 ` [dpdk-dev] [PATCH 03/10] drivers/bus: " Bruce Richardson
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Bruce Richardson @ 2019-06-05 20:22 UTC (permalink / raw)
  To: bluca, thomas; +Cc: dev, john.mcnamara, Bruce Richardson

For each library where we optionally disable it, add in the reason why it's
being disabled, so the user knows how to fix it.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 lib/librte_kni/meson.build       | 1 +
 lib/librte_power/meson.build     | 1 +
 lib/librte_telemetry/meson.build | 1 +
 lib/librte_vhost/meson.build     | 1 +
 4 files changed, 4 insertions(+)

diff --git a/lib/librte_kni/meson.build b/lib/librte_kni/meson.build
index 400af9a4d..41fa2e39b 100644
--- a/lib/librte_kni/meson.build
+++ b/lib/librte_kni/meson.build
@@ -3,6 +3,7 @@
 
 if not is_linux or not dpdk_conf.get('RTE_ARCH_64')
 	build = false
+	reason = 'only supported on 64-bit linux'
 endif
 version = 2
 sources = files('rte_kni.c')
diff --git a/lib/librte_power/meson.build b/lib/librte_power/meson.build
index cc6c30075..cdf08f6df 100644
--- a/lib/librte_power/meson.build
+++ b/lib/librte_power/meson.build
@@ -3,6 +3,7 @@
 
 if not is_linux
 	build = false
+	reason = 'only supported on linux'
 endif
 sources = files('rte_power.c', 'power_acpi_cpufreq.c',
 		'power_kvm_vm.c', 'guest_channel.c',
diff --git a/lib/librte_telemetry/meson.build b/lib/librte_telemetry/meson.build
index cafb26f08..3e7db4f19 100644
--- a/lib/librte_telemetry/meson.build
+++ b/lib/librte_telemetry/meson.build
@@ -12,4 +12,5 @@ if jansson.found()
 	dpdk_app_link_libraries += ['telemetry']
 else
 	build = false
+	reason = 'missing dependency "jansson"'
 endif
diff --git a/lib/librte_vhost/meson.build b/lib/librte_vhost/meson.build
index 3090bbe08..cb1123ae3 100644
--- a/lib/librte_vhost/meson.build
+++ b/lib/librte_vhost/meson.build
@@ -3,6 +3,7 @@
 
 if not is_linux
 	build = false
+	reason = 'only supported on linux'
 endif
 if has_libnuma == 1
 	dpdk_conf.set10('RTE_LIBRTE_VHOST_NUMA', true)
-- 
2.21.0


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [dpdk-dev] [PATCH 03/10] drivers/bus: add reasons for components being disabled
  2019-06-05 20:22 [dpdk-dev] [PATCH 00/10] enhance meson summary - list disabled components Bruce Richardson
  2019-06-05 20:22 ` [dpdk-dev] [PATCH 01/10] build: print list of disabled components for meson build Bruce Richardson
  2019-06-05 20:22 ` [dpdk-dev] [PATCH 02/10] lib: add reasons for components being disabled Bruce Richardson
@ 2019-06-05 20:22 ` " Bruce Richardson
  2019-06-05 20:22 ` [dpdk-dev] [PATCH 04/10] drivers/common: " Bruce Richardson
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Bruce Richardson @ 2019-06-05 20:22 UTC (permalink / raw)
  To: bluca, thomas; +Cc: dev, john.mcnamara, Bruce Richardson

For each driver where we optionally disable it, add in the reason why it's
being disabled, so the user knows how to fix it.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/bus/dpaa/meson.build  | 3 ++-
 drivers/bus/fslmc/meson.build | 3 ++-
 drivers/bus/vmbus/meson.build | 1 +
 3 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/bus/dpaa/meson.build b/drivers/bus/dpaa/meson.build
index 1c8ca8c9a..19daaa5b5 100644
--- a/drivers/bus/dpaa/meson.build
+++ b/drivers/bus/dpaa/meson.build
@@ -4,7 +4,8 @@
 version = 2
 
 if not is_linux
-        build = false
+	build = false
+	reason = 'only supported on linux'
 endif
 
 deps += ['common_dpaax', 'eventdev']
diff --git a/drivers/bus/fslmc/meson.build b/drivers/bus/fslmc/meson.build
index 04624c363..faebc4327 100644
--- a/drivers/bus/fslmc/meson.build
+++ b/drivers/bus/fslmc/meson.build
@@ -4,7 +4,8 @@
 version = 2
 
 if not is_linux
-        build = false
+	build = false
+	reason = 'only supported on linux'
 endif
 
 deps += ['common_dpaax', 'eventdev', 'kvargs']
diff --git a/drivers/bus/vmbus/meson.build b/drivers/bus/vmbus/meson.build
index 9fd430dae..79d4c685e 100644
--- a/drivers/bus/vmbus/meson.build
+++ b/drivers/bus/vmbus/meson.build
@@ -17,4 +17,5 @@ if is_linux
 	includes += include_directories('linux')
 else
 	build = false
+	reason = 'only supported on linux'
 endif
-- 
2.21.0


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [dpdk-dev] [PATCH 04/10] drivers/common: add reasons for components being disabled
  2019-06-05 20:22 [dpdk-dev] [PATCH 00/10] enhance meson summary - list disabled components Bruce Richardson
                   ` (2 preceding siblings ...)
  2019-06-05 20:22 ` [dpdk-dev] [PATCH 03/10] drivers/bus: " Bruce Richardson
@ 2019-06-05 20:22 ` " Bruce Richardson
  2019-06-05 20:22 ` [dpdk-dev] [PATCH 05/10] drivers/compress: " Bruce Richardson
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Bruce Richardson @ 2019-06-05 20:22 UTC (permalink / raw)
  To: bluca, thomas; +Cc: dev, john.mcnamara, Bruce Richardson

For each driver where we optionally disable it, add in the reason why it's
being disabled, so the user knows how to fix it.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/common/dpaax/meson.build | 3 ++-
 drivers/common/mvep/meson.build  | 1 +
 drivers/common/qat/meson.build   | 1 +
 3 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/common/dpaax/meson.build b/drivers/common/dpaax/meson.build
index 78378e2a6..a315e7786 100644
--- a/drivers/common/dpaax/meson.build
+++ b/drivers/common/dpaax/meson.build
@@ -4,7 +4,8 @@
 allow_experimental_apis = true
 
 if not is_linux
-        build = false
+	build = false
+	reason = 'only supported on linux'
 endif
 
 sources = files('dpaax_iova_table.c')
diff --git a/drivers/common/mvep/meson.build b/drivers/common/mvep/meson.build
index 8ccfacb3f..8df4bc6e0 100644
--- a/drivers/common/mvep/meson.build
+++ b/drivers/common/mvep/meson.build
@@ -10,6 +10,7 @@ inc_dir = path + '/include'
 lib = cc.find_library('libmusdk', dirs: [lib_dir], required: false)
 if not lib.found()
 	build = false
+	reason = 'missing dependency, "libmusdk"'
 else
 	ext_deps += lib
 	includes += include_directories(inc_dir)
diff --git a/drivers/common/qat/meson.build b/drivers/common/qat/meson.build
index 80b6b25a8..8de249289 100644
--- a/drivers/common/qat/meson.build
+++ b/drivers/common/qat/meson.build
@@ -4,6 +4,7 @@
 # This does not build a driver, but instead holds common files for
 # the crypto and compression drivers.
 build = false
+reason = '' # sentinal value to suppress printout
 qat_deps = ['bus_pci']
 qat_sources = files('qat_common.c',
 		'qat_qp.c',
-- 
2.21.0


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [dpdk-dev] [PATCH 05/10] drivers/compress: add reasons for components being disabled
  2019-06-05 20:22 [dpdk-dev] [PATCH 00/10] enhance meson summary - list disabled components Bruce Richardson
                   ` (3 preceding siblings ...)
  2019-06-05 20:22 ` [dpdk-dev] [PATCH 04/10] drivers/common: " Bruce Richardson
@ 2019-06-05 20:22 ` " Bruce Richardson
  2019-06-05 20:22 ` [dpdk-dev] [PATCH 06/10] drivers/crypto: " Bruce Richardson
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Bruce Richardson @ 2019-06-05 20:22 UTC (permalink / raw)
  To: bluca, thomas; +Cc: dev, john.mcnamara, Bruce Richardson

For each driver where we optionally disable it, add in the reason why it's
being disabled, so the user knows how to fix it.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/compress/isal/meson.build | 3 ++-
 drivers/compress/zlib/meson.build | 1 +
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/compress/isal/meson.build b/drivers/compress/isal/meson.build
index 94c10fd60..67b5c4aae 100644
--- a/drivers/compress/isal/meson.build
+++ b/drivers/compress/isal/meson.build
@@ -3,7 +3,8 @@
 
 dep = dependency('libisal', required: false)
 if not dep.found()
-       build =false
+	build = false
+	reason = 'missing dependency, "libisal"'
 endif
 
 deps += 'bus_vdev'
diff --git a/drivers/compress/zlib/meson.build b/drivers/compress/zlib/meson.build
index b036703c7..b1328c535 100644
--- a/drivers/compress/zlib/meson.build
+++ b/drivers/compress/zlib/meson.build
@@ -4,6 +4,7 @@
 dep = dependency('zlib', required: false)
 if not dep.found()
 	build = false
+	reason = 'missing dependency, "zlib"'
 endif
 
 deps += 'bus_vdev'
-- 
2.21.0


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [dpdk-dev] [PATCH 06/10] drivers/crypto: add reasons for components being disabled
  2019-06-05 20:22 [dpdk-dev] [PATCH 00/10] enhance meson summary - list disabled components Bruce Richardson
                   ` (4 preceding siblings ...)
  2019-06-05 20:22 ` [dpdk-dev] [PATCH 05/10] drivers/compress: " Bruce Richardson
@ 2019-06-05 20:22 ` " Bruce Richardson
  2019-06-05 20:22 ` [dpdk-dev] [PATCH 07/10] drivers/event: " Bruce Richardson
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Bruce Richardson @ 2019-06-05 20:22 UTC (permalink / raw)
  To: bluca, thomas; +Cc: dev, john.mcnamara, Bruce Richardson

For each driver where we optionally disable it, add in the reason why it's
being disabled, so the user knows how to fix it.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 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 +
 13 files changed, 22 insertions(+), 8 deletions(-)

diff --git a/drivers/crypto/aesni_gcm/meson.build b/drivers/crypto/aesni_gcm/meson.build
index 7183cfcba..3a6e332dc 100644
--- a/drivers/crypto/aesni_gcm/meson.build
+++ b/drivers/crypto/aesni_gcm/meson.build
@@ -5,6 +5,7 @@ IMB_required_ver = '0.52.0'
 lib = cc.find_library('IPSec_MB', required: false)
 if not lib.found()
 	build = false
+	reason = 'missing dependency, "libIPSec_MB"'
 else
 	ext_deps += lib
 
@@ -13,8 +14,8 @@ else
 		prefix : '#include<intel-ipsec-mb.h>').split('"')[1]
 
 	if (imb_ver == '') or (imb_ver.version_compare('<' + IMB_required_ver))
-		message('IPSec_MB version >= @0@ is required, found version @1@'.format(
-				IMB_required_ver, imb_ver))
+		reason = 'IPSec_MB version >= @0@ is required, found version @1@'.format(
+				IMB_required_ver, imb_ver)
 		build = false
 	endif
 endif
diff --git a/drivers/crypto/aesni_mb/meson.build b/drivers/crypto/aesni_mb/meson.build
index 7c1eb3f86..3e1687416 100644
--- a/drivers/crypto/aesni_mb/meson.build
+++ b/drivers/crypto/aesni_mb/meson.build
@@ -5,6 +5,7 @@ IMB_required_ver = '0.52.0'
 lib = cc.find_library('IPSec_MB', required: false)
 if not lib.found()
 	build = false
+	reason = 'missing dependency, "libIPSec_MB"'
 else
 	ext_deps += lib
 
@@ -13,8 +14,8 @@ else
 		prefix : '#include<intel-ipsec-mb.h>').split('"')[1]
 
 	if (imb_ver == '') or (imb_ver.version_compare('<' + IMB_required_ver))
-		message('IPSec_MB version >= @0@ is required, found version @1@'.format(
-				IMB_required_ver, imb_ver))
+		reason = 'IPSec_MB version >= @0@ is required, found version @1@'.format(
+				IMB_required_ver, imb_ver)
 		build = false
 	endif
 
diff --git a/drivers/crypto/caam_jr/meson.build b/drivers/crypto/caam_jr/meson.build
index e61a13c25..4c66dd844 100644
--- a/drivers/crypto/caam_jr/meson.build
+++ b/drivers/crypto/caam_jr/meson.build
@@ -2,7 +2,8 @@
 # Copyright 2018 NXP
 
 if not is_linux
-        build = false
+	build = false
+	reason = 'only supported on linux'
 endif
 
 deps += ['bus_vdev', 'bus_dpaa', 'security']
diff --git a/drivers/crypto/ccp/meson.build b/drivers/crypto/ccp/meson.build
index 071ccc5e7..6f7217adb 100644
--- a/drivers/crypto/ccp/meson.build
+++ b/drivers/crypto/ccp/meson.build
@@ -2,11 +2,13 @@
 # Copyright(c) 2018 Advanced Micro Devices, Inc. All rights reserved.
 
 if not is_linux
-        build = false
+	build = false
+	reason = 'only supported on linux'
 endif
 dep = dependency('libcrypto', required: false)
 if not dep.found()
 	build = false
+	reason = 'missing dependency, "libcrypto"'
 endif
 deps += 'bus_vdev'
 deps += 'bus_pci'
diff --git a/drivers/crypto/dpaa2_sec/meson.build b/drivers/crypto/dpaa2_sec/meson.build
index d197cda1a..23affa8a6 100644
--- a/drivers/crypto/dpaa2_sec/meson.build
+++ b/drivers/crypto/dpaa2_sec/meson.build
@@ -4,7 +4,8 @@
 version = 2
 
 if not is_linux
-        build = false
+	build = false
+	reason = 'only supported on linux'
 endif
 
 deps += ['security', 'mempool_dpaa2']
diff --git a/drivers/crypto/dpaa_sec/meson.build b/drivers/crypto/dpaa_sec/meson.build
index 134af88da..7b9a019b9 100644
--- a/drivers/crypto/dpaa_sec/meson.build
+++ b/drivers/crypto/dpaa_sec/meson.build
@@ -2,7 +2,8 @@
 # Copyright 2018 NXP
 
 if not is_linux
-        build = false
+	build = false
+	reason = 'only supported on linux'
 endif
 
 deps += ['bus_dpaa', 'security']
diff --git a/drivers/crypto/kasumi/meson.build b/drivers/crypto/kasumi/meson.build
index 0fa301740..90a3c4fe6 100644
--- a/drivers/crypto/kasumi/meson.build
+++ b/drivers/crypto/kasumi/meson.build
@@ -4,6 +4,7 @@
 lib = cc.find_library('sso_kasumi', required: false)
 if not lib.found() or not cc.has_header('sso_kasumi.h')
 	build = false
+	reason = 'missing dependency, "libsso_kasumi"'
 	subdir_done()
 endif
 
diff --git a/drivers/crypto/mvsam/meson.build b/drivers/crypto/mvsam/meson.build
index f1c879663..6d97dc8a2 100644
--- a/drivers/crypto/mvsam/meson.build
+++ b/drivers/crypto/mvsam/meson.build
@@ -10,6 +10,7 @@ inc_dir = path + '/include'
 lib = cc.find_library('libmusdk', dirs: [lib_dir], required: false)
 if not lib.found()
 	build = false
+	reason = 'missing dependency, "libmusdk"'
 else
 	ext_deps += lib
 	includes += include_directories(inc_dir)
diff --git a/drivers/crypto/octeontx/meson.build b/drivers/crypto/octeontx/meson.build
index a9f2d3157..63a59c51a 100644
--- a/drivers/crypto/octeontx/meson.build
+++ b/drivers/crypto/octeontx/meson.build
@@ -2,6 +2,7 @@
 # Copyright(c) 2018 Cavium, Inc
 if not is_linux
 	build = false
+	reason = 'only supported on linux'
 endif
 
 deps += ['bus_pci']
diff --git a/drivers/crypto/openssl/meson.build b/drivers/crypto/openssl/meson.build
index d56a32366..394e74c9e 100644
--- a/drivers/crypto/openssl/meson.build
+++ b/drivers/crypto/openssl/meson.build
@@ -4,6 +4,7 @@
 dep = dependency('libcrypto', required: false)
 if not dep.found()
 	build = false
+	reason = 'missing dependency, "libcrypto"'
 endif
 allow_experimental_apis = true
 deps += 'bus_vdev'
diff --git a/drivers/crypto/qat/meson.build b/drivers/crypto/qat/meson.build
index 710b081ff..fc65923a7 100644
--- a/drivers/crypto/qat/meson.build
+++ b/drivers/crypto/qat/meson.build
@@ -4,6 +4,7 @@
 # this does not build the QAT driver, instead that is done in the compression
 # driver which comes later. Here we just add our sources files to the list
 build = false
+reason = '' # sentinal value to suppress printout
 dep = dependency('libcrypto', required: false)
 qat_includes += include_directories('.')
 qat_deps += 'cryptodev'
diff --git a/drivers/crypto/snow3g/meson.build b/drivers/crypto/snow3g/meson.build
index c566a5f67..0e8742ab9 100644
--- a/drivers/crypto/snow3g/meson.build
+++ b/drivers/crypto/snow3g/meson.build
@@ -4,6 +4,7 @@
 lib = cc.find_library('sso_snow3g', required: false)
 if not lib.found() or not cc.has_header('sso_snow3g.h')
 	build = false
+	reason = 'missing dependency, "libsso_snow3g"'
 	subdir_done()
 endif
 
diff --git a/drivers/crypto/zuc/meson.build b/drivers/crypto/zuc/meson.build
index fc2900244..b231de0ba 100644
--- a/drivers/crypto/zuc/meson.build
+++ b/drivers/crypto/zuc/meson.build
@@ -4,6 +4,7 @@
 lib = cc.find_library('sso_zuc', required: false)
 if not lib.found() or not cc.has_header('sso_zuc.h')
 	build = false
+	reason = 'missing dependency, "libsso_zuc"'
 	subdir_done()
 endif
 
-- 
2.21.0


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [dpdk-dev] [PATCH 07/10] drivers/event: add reasons for components being disabled
  2019-06-05 20:22 [dpdk-dev] [PATCH 00/10] enhance meson summary - list disabled components Bruce Richardson
                   ` (5 preceding siblings ...)
  2019-06-05 20:22 ` [dpdk-dev] [PATCH 06/10] drivers/crypto: " Bruce Richardson
@ 2019-06-05 20:22 ` " Bruce Richardson
  2019-06-05 20:22 ` [dpdk-dev] [PATCH 08/10] drivers/mempool: " Bruce Richardson
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Bruce Richardson @ 2019-06-05 20:22 UTC (permalink / raw)
  To: bluca, thomas; +Cc: dev, john.mcnamara, Bruce Richardson

For each driver where we optionally disable it, add in the reason why it's
being disabled, so the user knows how to fix it.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/event/dpaa/meson.build  | 1 +
 drivers/event/dpaa2/meson.build | 1 +
 2 files changed, 2 insertions(+)

diff --git a/drivers/event/dpaa/meson.build b/drivers/event/dpaa/meson.build
index 11b1fe669..c1e725475 100644
--- a/drivers/event/dpaa/meson.build
+++ b/drivers/event/dpaa/meson.build
@@ -3,6 +3,7 @@
 
 if not is_linux
 	build = false
+	reason = 'only supported on linux'
 endif
 deps += ['pmd_dpaa']
 sources = files('dpaa_eventdev.c')
diff --git a/drivers/event/dpaa2/meson.build b/drivers/event/dpaa2/meson.build
index a94bc5643..f7da7fad5 100644
--- a/drivers/event/dpaa2/meson.build
+++ b/drivers/event/dpaa2/meson.build
@@ -5,6 +5,7 @@ version = 2
 
 if not is_linux
 	build = false
+	reason = 'only supported on linux'
 endif
 deps += ['bus_vdev', 'pmd_dpaa2', 'pmd_dpaa2_sec']
 sources = files('dpaa2_hw_dpcon.c',
-- 
2.21.0


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [dpdk-dev] [PATCH 08/10] drivers/mempool: add reasons for components being disabled
  2019-06-05 20:22 [dpdk-dev] [PATCH 00/10] enhance meson summary - list disabled components Bruce Richardson
                   ` (6 preceding siblings ...)
  2019-06-05 20:22 ` [dpdk-dev] [PATCH 07/10] drivers/event: " Bruce Richardson
@ 2019-06-05 20:22 ` " Bruce Richardson
  2019-06-05 20:22 ` [dpdk-dev] [PATCH 09/10] drivers/net: " Bruce Richardson
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: Bruce Richardson @ 2019-06-05 20:22 UTC (permalink / raw)
  To: bluca, thomas; +Cc: dev, john.mcnamara, Bruce Richardson

For each driver where we optionally disable it, add in the reason why it's
being disabled, so the user knows how to fix it.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/mempool/dpaa/meson.build  | 3 ++-
 drivers/mempool/dpaa2/meson.build | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/mempool/dpaa/meson.build b/drivers/mempool/dpaa/meson.build
index c4c8ebc09..b7446f174 100644
--- a/drivers/mempool/dpaa/meson.build
+++ b/drivers/mempool/dpaa/meson.build
@@ -2,7 +2,8 @@
 # Copyright 2018 NXP
 
 if not is_linux
-        build = false
+	build = false
+	reason = 'only supported on linux'
 endif
 
 deps += ['bus_dpaa']
diff --git a/drivers/mempool/dpaa2/meson.build b/drivers/mempool/dpaa2/meson.build
index 9a8b28d7c..3d25ba06d 100644
--- a/drivers/mempool/dpaa2/meson.build
+++ b/drivers/mempool/dpaa2/meson.build
@@ -4,7 +4,8 @@
 version = 2
 
 if not is_linux
-        build = false
+	build = false
+	reason = 'only supported on linux'
 endif
 
 deps += ['bus_fslmc']
-- 
2.21.0


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [dpdk-dev] [PATCH 09/10] drivers/net: add reasons for components being disabled
  2019-06-05 20:22 [dpdk-dev] [PATCH 00/10] enhance meson summary - list disabled components Bruce Richardson
                   ` (7 preceding siblings ...)
  2019-06-05 20:22 ` [dpdk-dev] [PATCH 08/10] drivers/mempool: " Bruce Richardson
@ 2019-06-05 20:22 ` " Bruce Richardson
  2019-06-05 20:22 ` [dpdk-dev] [PATCH 10/10] drivers/raw: " Bruce Richardson
  2019-06-05 20:39 ` [dpdk-dev] [PATCH 00/10] enhance meson summary - list disabled components Luca Boccassi
  10 siblings, 0 replies; 14+ messages in thread
From: Bruce Richardson @ 2019-06-05 20:22 UTC (permalink / raw)
  To: bluca, thomas; +Cc: dev, john.mcnamara, Bruce Richardson

For each driver where we optionally disable it, add in the reason why it's
being disabled, so the user knows how to fix it.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 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 +
 24 files changed, 30 insertions(+), 6 deletions(-)

diff --git a/drivers/net/af_packet/meson.build b/drivers/net/af_packet/meson.build
index 92c306c73..a7f392ea1 100644
--- a/drivers/net/af_packet/meson.build
+++ b/drivers/net/af_packet/meson.build
@@ -3,5 +3,6 @@
 
 if not is_linux
 	build = false
+	reason = 'only supported on linux'
 endif
 sources = files('rte_eth_af_packet.c')
diff --git a/drivers/net/af_xdp/meson.build b/drivers/net/af_xdp/meson.build
index 7904840f0..ac679b92b 100644
--- a/drivers/net/af_xdp/meson.build
+++ b/drivers/net/af_xdp/meson.build
@@ -13,4 +13,5 @@ if bpf_dep.found() and cc.has_header('bpf/xsk.h') and cc.has_header('linux/if_xd
 	pkgconfig_extra_libs += '-lbpf'
 else
 	build = false
+	reason = 'missing dependency, "libbpf"'
 endif
diff --git a/drivers/net/avp/meson.build b/drivers/net/avp/meson.build
index 8138cb22d..a5f63cdef 100644
--- a/drivers/net/avp/meson.build
+++ b/drivers/net/avp/meson.build
@@ -2,7 +2,8 @@
 # Copyright(c) 2018 Intel Corporation
 
 if not is_linux
-        build = false
+	build = false
+	reason = 'only supported on linux'
 endif
 sources = files('avp_ethdev.c')
 install_headers('rte_avp_common.h', 'rte_avp_fifo.h')
diff --git a/drivers/net/axgbe/meson.build b/drivers/net/axgbe/meson.build
index 6decb25d4..86873b7ef 100644
--- a/drivers/net/axgbe/meson.build
+++ b/drivers/net/axgbe/meson.build
@@ -3,6 +3,7 @@
 
 if not is_linux
 	build = false
+	reason = 'only supported on linux'
 endif
 
 sources = files('axgbe_ethdev.c',
diff --git a/drivers/net/bnx2x/meson.build b/drivers/net/bnx2x/meson.build
index dd189ffc4..4892bb234 100644
--- a/drivers/net/bnx2x/meson.build
+++ b/drivers/net/bnx2x/meson.build
@@ -3,6 +3,7 @@
 
 dep = dependency('zlib', required: false)
 build = dep.found()
+reason = 'missing dependency, "zlib"'
 ext_deps += dep
 cflags += '-DZLIB_CONST'
 sources = files('bnx2x.c',
diff --git a/drivers/net/dpaa/meson.build b/drivers/net/dpaa/meson.build
index 8e5418bd6..94c0e22c5 100644
--- a/drivers/net/dpaa/meson.build
+++ b/drivers/net/dpaa/meson.build
@@ -3,6 +3,7 @@
 
 if not is_linux
 	build = false
+	reason = 'only supported on linux'
 endif
 deps += ['mempool_dpaa']
 
diff --git a/drivers/net/dpaa2/meson.build b/drivers/net/dpaa2/meson.build
index a0ea99238..7e74c656a 100644
--- a/drivers/net/dpaa2/meson.build
+++ b/drivers/net/dpaa2/meson.build
@@ -4,7 +4,8 @@
 version = 2
 
 if not is_linux
-        build = false
+	build = false
+	reason = 'only supported on linux'
 endif
 
 deps += ['mempool_dpaa2']
diff --git a/drivers/net/enetc/meson.build b/drivers/net/enetc/meson.build
index 7d0c2ffe7..3bc069844 100644
--- a/drivers/net/enetc/meson.build
+++ b/drivers/net/enetc/meson.build
@@ -3,6 +3,7 @@
 
 if not is_linux
 	build = false
+	reason = 'only supported on linux'
 endif
 
 sources = files('enetc_ethdev.c',
diff --git a/drivers/net/ifc/meson.build b/drivers/net/ifc/meson.build
index 72df070ac..adc9ed9ff 100644
--- a/drivers/net/ifc/meson.build
+++ b/drivers/net/ifc/meson.build
@@ -2,6 +2,7 @@
 # Copyright(c) 2018 Intel Corporation
 
 build = dpdk_conf.has('RTE_LIBRTE_VHOST')
+reason = 'missing dependency, DPDK vhost library'
 allow_experimental_apis = true
 sources = files('ifcvf_vdpa.c', 'base/ifcvf.c')
 includes += include_directories('base')
diff --git a/drivers/net/kni/meson.build b/drivers/net/kni/meson.build
index e3b2d83b5..0539b4768 100644
--- a/drivers/net/kni/meson.build
+++ b/drivers/net/kni/meson.build
@@ -3,5 +3,6 @@
 
 # this driver can be built if-and-only-if KNI library is buildable
 build = dpdk_conf.has('RTE_LIBRTE_KNI')
+reason = 'missing dependency, DPDK KNI library'
 sources = files('rte_eth_kni.c')
 deps += 'kni'
diff --git a/drivers/net/mlx4/meson.build b/drivers/net/mlx4/meson.build
index 2540489bb..5de04b70b 100644
--- a/drivers/net/mlx4/meson.build
+++ b/drivers/net/mlx4/meson.build
@@ -25,6 +25,7 @@ foreach libname:libnames
 		libs += [ lib ]
 	else
 		build = false
+		reason = 'missing dependency, "' + libname + '"'
 	endif
 endforeach
 # Compile PMD
diff --git a/drivers/net/mlx5/meson.build b/drivers/net/mlx5/meson.build
index ac3b529d1..22ddd54c2 100644
--- a/drivers/net/mlx5/meson.build
+++ b/drivers/net/mlx5/meson.build
@@ -25,6 +25,7 @@ foreach libname:libnames
 		libs += [ lib ]
 	else
 		build = false
+		reason = 'missing dependency, "' + libname + '"'
 	endif
 endforeach
 if build
diff --git a/drivers/net/mvneta/meson.build b/drivers/net/mvneta/meson.build
index c0b1bce01..8d7202788 100644
--- a/drivers/net/mvneta/meson.build
+++ b/drivers/net/mvneta/meson.build
@@ -10,6 +10,7 @@ inc_dir = path + '/include'
 lib = cc.find_library('libmusdk', dirs : [lib_dir], required: false)
 if not lib.found()
 	build = false
+	reason = 'missing dependency, "libmusdk"'
 else
 	ext_deps += lib
 	includes += include_directories(inc_dir)
diff --git a/drivers/net/mvpp2/meson.build b/drivers/net/mvpp2/meson.build
index 70ef2d642..e06eddaac 100644
--- a/drivers/net/mvpp2/meson.build
+++ b/drivers/net/mvpp2/meson.build
@@ -10,6 +10,7 @@ inc_dir = path + '/include'
 lib = cc.find_library('libmusdk', dirs : [lib_dir], required: false)
 if not lib.found()
 	build = false
+	reason = 'missing dependency, "libmusdk"'
 else
 	ext_deps += lib
 	includes += include_directories(inc_dir)
diff --git a/drivers/net/netvsc/meson.build b/drivers/net/netvsc/meson.build
index c84269716..e9fe35344 100644
--- a/drivers/net/netvsc/meson.build
+++ b/drivers/net/netvsc/meson.build
@@ -2,6 +2,7 @@
 # Copyright(c) 2018 Microsoft Corporation
 
 build = dpdk_conf.has('RTE_LIBRTE_VMBUS_BUS')
+reason = 'missing dependency, DPDK VMBus driver'
 version = 2
 sources = files('hn_ethdev.c', 'hn_rxtx.c', 'hn_rndis.c', 'hn_nvs.c', 'hn_vf.c')
 
diff --git a/drivers/net/nfb/meson.build b/drivers/net/nfb/meson.build
index 457955d72..4502c3f76 100644
--- a/drivers/net/nfb/meson.build
+++ b/drivers/net/nfb/meson.build
@@ -4,6 +4,7 @@
 # All rights reserved.
 
 dep = cc.find_library('nfb', required: false)
+reason = 'missing dependency, "libnfb"'
 
 build = dep.found() and cc.has_header('nfb/nfb.h', dependencies: dep)
 
diff --git a/drivers/net/nfp/meson.build b/drivers/net/nfp/meson.build
index 8c87c5b0b..b487cdffd 100644
--- a/drivers/net/nfp/meson.build
+++ b/drivers/net/nfp/meson.build
@@ -2,7 +2,8 @@
 # Copyright(c) 2018 Intel Corporation
 
 if not is_linux or not dpdk_conf.get('RTE_ARCH_64')
-        build = false
+	build = false
+	reason = 'only supported on 64-bit linux'
 endif
 sources = files('nfpcore/nfp_cpp_pcie_ops.c',
 	'nfpcore/nfp_nsp.c',
diff --git a/drivers/net/pcap/meson.build b/drivers/net/pcap/meson.build
index 2c2fd11e4..910dfab9b 100644
--- a/drivers/net/pcap/meson.build
+++ b/drivers/net/pcap/meson.build
@@ -14,6 +14,7 @@ else
 		pkgconfig_extra_libs += '-lpcap'
 	else
 		build = false
+		reason = 'missing dependency, "libpcap"'
 	endif
 endif
 sources = files('rte_eth_pcap.c')
diff --git a/drivers/net/sfc/meson.build b/drivers/net/sfc/meson.build
index e67560991..4fb0d0ac1 100644
--- a/drivers/net/sfc/meson.build
+++ b/drivers/net/sfc/meson.build
@@ -8,6 +8,7 @@
 
 if arch_subdir != 'x86' or not dpdk_conf.get('RTE_ARCH_64')
 	build = false
+	reason = 'only supported on x86_64'
 endif
 
 allow_experimental_apis = true
diff --git a/drivers/net/softnic/meson.build b/drivers/net/softnic/meson.build
index dd1d610ea..9c10c2ec8 100644
--- a/drivers/net/softnic/meson.build
+++ b/drivers/net/softnic/meson.build
@@ -2,7 +2,8 @@
 # Copyright(c) 2018 Intel Corporation
 
 if not is_linux
-        build = false
+	build = false
+	reason = 'only supported on linux'
 endif
 allow_experimental_apis = true
 install_headers('rte_eth_softnic.h')
diff --git a/drivers/net/szedata2/meson.build b/drivers/net/szedata2/meson.build
index da3733743..032b42518 100644
--- a/drivers/net/szedata2/meson.build
+++ b/drivers/net/szedata2/meson.build
@@ -3,5 +3,6 @@
 
 dep = cc.find_library('sze2', required: false)
 build = dep.found()
+reason = 'missing dependency, "libsze2"'
 ext_deps += dep
 sources = files('rte_eth_szedata2.c')
diff --git a/drivers/net/tap/meson.build b/drivers/net/tap/meson.build
index c407a1f35..baa70f756 100644
--- a/drivers/net/tap/meson.build
+++ b/drivers/net/tap/meson.build
@@ -2,7 +2,8 @@
 # Copyright 2018 Luca Boccassi <bluca@debian.org>
 
 if not is_linux
-        build = false
+	build = false
+	reason = 'only supported on linux'
 endif
 sources = files(
 	'rte_eth_tap.c',
diff --git a/drivers/net/vdev_netvsc/meson.build b/drivers/net/vdev_netvsc/meson.build
index 6655859f8..c82c5476c 100644
--- a/drivers/net/vdev_netvsc/meson.build
+++ b/drivers/net/vdev_netvsc/meson.build
@@ -2,7 +2,8 @@
 # Copyright(c) 2018 Luca Boccassi <bluca@debian.org>
 
 if not is_linux
-        build = false
+	build = false
+	reason = 'only supported on linux'
 endif
 sources = files('vdev_netvsc.c')
 
diff --git a/drivers/net/vhost/meson.build b/drivers/net/vhost/meson.build
index 9b067c35e..9532a7605 100644
--- a/drivers/net/vhost/meson.build
+++ b/drivers/net/vhost/meson.build
@@ -2,6 +2,7 @@
 # Copyright(c) 2018 Intel Corporation
 
 build = dpdk_conf.has('RTE_LIBRTE_VHOST')
+reason = 'missing dependency, DPDK vhost library'
 version = 2
 sources = files('rte_eth_vhost.c')
 install_headers('rte_eth_vhost.h')
-- 
2.21.0


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [dpdk-dev] [PATCH 10/10] drivers/raw: add reasons for components being disabled
  2019-06-05 20:22 [dpdk-dev] [PATCH 00/10] enhance meson summary - list disabled components Bruce Richardson
                   ` (8 preceding siblings ...)
  2019-06-05 20:22 ` [dpdk-dev] [PATCH 09/10] drivers/net: " Bruce Richardson
@ 2019-06-05 20:22 ` " Bruce Richardson
  2019-06-05 20:39 ` [dpdk-dev] [PATCH 00/10] enhance meson summary - list disabled components Luca Boccassi
  10 siblings, 0 replies; 14+ messages in thread
From: Bruce Richardson @ 2019-06-05 20:22 UTC (permalink / raw)
  To: bluca, thomas; +Cc: dev, john.mcnamara, Bruce Richardson

For each driver where we optionally disable it, add in the reason why it's
being disabled, so the user knows how to fix it.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/raw/dpaa2_cmdif/meson.build  | 1 +
 drivers/raw/dpaa2_qdma/meson.build   | 1 +
 drivers/raw/ifpga_rawdev/meson.build | 1 +
 3 files changed, 3 insertions(+)

diff --git a/drivers/raw/dpaa2_cmdif/meson.build b/drivers/raw/dpaa2_cmdif/meson.build
index 37bb24a1b..9ba1ae2de 100644
--- a/drivers/raw/dpaa2_cmdif/meson.build
+++ b/drivers/raw/dpaa2_cmdif/meson.build
@@ -4,6 +4,7 @@
 version = 2
 
 build = dpdk_conf.has('RTE_LIBRTE_DPAA2_MEMPOOL')
+reason = 'missing dependency, DPDK DPAA2 mempool driver'
 deps += ['rawdev', 'mempool_dpaa2', 'bus_vdev']
 sources = files('dpaa2_cmdif.c')
 
diff --git a/drivers/raw/dpaa2_qdma/meson.build b/drivers/raw/dpaa2_qdma/meson.build
index 1577946fa..f70ade3b4 100644
--- a/drivers/raw/dpaa2_qdma/meson.build
+++ b/drivers/raw/dpaa2_qdma/meson.build
@@ -4,6 +4,7 @@
 version = 2
 
 build = dpdk_conf.has('RTE_LIBRTE_DPAA2_MEMPOOL')
+reason = 'missing dependency, DPDK DPAA2 mempool driver'
 deps += ['rawdev', 'mempool_dpaa2', 'ring', 'kvargs']
 sources = files('dpaa2_qdma.c')
 
diff --git a/drivers/raw/ifpga_rawdev/meson.build b/drivers/raw/ifpga_rawdev/meson.build
index 132b77793..0ab6fd711 100644
--- a/drivers/raw/ifpga_rawdev/meson.build
+++ b/drivers/raw/ifpga_rawdev/meson.build
@@ -9,6 +9,7 @@ objs = [base_objs]
 dep = dependency('libfdt', required: false)
 if not dep.found()
 	build = false
+	reason = 'missing dependency, "libfdt"'
 endif
 deps += ['rawdev', 'pci', 'bus_pci', 'kvargs',
 	'bus_vdev', 'bus_ifpga', 'net']
-- 
2.21.0


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [dpdk-dev] [PATCH 00/10] enhance meson summary - list disabled components
  2019-06-05 20:22 [dpdk-dev] [PATCH 00/10] enhance meson summary - list disabled components Bruce Richardson
                   ` (9 preceding siblings ...)
  2019-06-05 20:22 ` [dpdk-dev] [PATCH 10/10] drivers/raw: " Bruce Richardson
@ 2019-06-05 20:39 ` Luca Boccassi
  2019-06-18 13:18   ` Bruce Richardson
  2019-07-02 21:21   ` Thomas Monjalon
  10 siblings, 2 replies; 14+ messages in thread
From: Luca Boccassi @ 2019-06-05 20:39 UTC (permalink / raw)
  To: Bruce Richardson, thomas; +Cc: dev, john.mcnamara

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>

-- 
Kind regards,
Luca Boccassi

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [dpdk-dev] [PATCH 00/10] enhance meson summary - list disabled components
  2019-06-05 20:39 ` [dpdk-dev] [PATCH 00/10] enhance meson summary - list disabled components Luca Boccassi
@ 2019-06-18 13:18   ` Bruce Richardson
  2019-07-02 21:21   ` Thomas Monjalon
  1 sibling, 0 replies; 14+ messages in thread
From: Bruce Richardson @ 2019-06-18 13:18 UTC (permalink / raw)
  To: Luca Boccassi; +Cc: thomas, dev, john.mcnamara

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

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [dpdk-dev] [PATCH 00/10] enhance meson summary - list disabled components
  2019-06-05 20:39 ` [dpdk-dev] [PATCH 00/10] enhance meson summary - list disabled components Luca Boccassi
  2019-06-18 13:18   ` Bruce Richardson
@ 2019-07-02 21:21   ` Thomas Monjalon
  1 sibling, 0 replies; 14+ messages in thread
From: Thomas Monjalon @ 2019-07-02 21:21 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: dev, Luca Boccassi, john.mcnamara

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




^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, back to index

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-06-05 20:22 [dpdk-dev] [PATCH 00/10] enhance meson summary - list disabled components Bruce Richardson
2019-06-05 20:22 ` [dpdk-dev] [PATCH 01/10] build: print list of disabled components for meson build Bruce Richardson
2019-06-05 20:22 ` [dpdk-dev] [PATCH 02/10] lib: add reasons for components being disabled Bruce Richardson
2019-06-05 20:22 ` [dpdk-dev] [PATCH 03/10] drivers/bus: " Bruce Richardson
2019-06-05 20:22 ` [dpdk-dev] [PATCH 04/10] drivers/common: " Bruce Richardson
2019-06-05 20:22 ` [dpdk-dev] [PATCH 05/10] drivers/compress: " Bruce Richardson
2019-06-05 20:22 ` [dpdk-dev] [PATCH 06/10] drivers/crypto: " Bruce Richardson
2019-06-05 20:22 ` [dpdk-dev] [PATCH 07/10] drivers/event: " Bruce Richardson
2019-06-05 20:22 ` [dpdk-dev] [PATCH 08/10] drivers/mempool: " Bruce Richardson
2019-06-05 20:22 ` [dpdk-dev] [PATCH 09/10] drivers/net: " Bruce Richardson
2019-06-05 20:22 ` [dpdk-dev] [PATCH 10/10] drivers/raw: " Bruce Richardson
2019-06-05 20:39 ` [dpdk-dev] [PATCH 00/10] enhance meson summary - list disabled components Luca Boccassi
2019-06-18 13:18   ` Bruce Richardson
2019-07-02 21:21   ` Thomas Monjalon

DPDK-dev Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/dpdk-dev/0 dpdk-dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dpdk-dev dpdk-dev/ https://lore.kernel.org/dpdk-dev \
		dev@dpdk.org dpdk-dev@archiver.kernel.org
	public-inbox-index dpdk-dev


Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/ public-inbox