DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH 0/6] enable easier app compilation testing with meson
@ 2018-03-29 13:54 Bruce Richardson
  2018-03-29 13:54 ` [dpdk-dev] [PATCH 1/6] examples: add empty meson files for unsupported examples Bruce Richardson
                   ` (6 more replies)
  0 siblings, 7 replies; 10+ messages in thread
From: Bruce Richardson @ 2018-03-29 13:54 UTC (permalink / raw)
  To: dev; +Cc: hemant.agrawal, shreyansh.jain, Bruce Richardson

Summary:
	With this set you can test building all applicable examples by
	calling meson with "-Dexamples=all"

When building DPDK with meson, it's possible to specify a list of sample
apps to have built along with the main code. However, specifying a full
list of all apps can be unwieldy, so this set adds support for passing
"all" as the examples to be built.

With "all", meson just adds all subdirectories of "examples" to the build,
so the first few patches are ensuring that we don't get an error by
attempting to build an unsupported application. On linux, only 7 apps were
unsupported, in that they had not been given a meson.build file. On
FreeBSD, a few others had to have their meson.build files updated to report
them as unsupported.

In terms of behaviour, the meson.build file for each app will report if the
app can be built or not. If "all" is requested, then a message is printed
and the meson run can continue. If, however, the app is requested by name,
then an error is reported and the meson run halts.

The final two patches in the series are more cleanup, the former improves
error reporting, while the last patch is a performance improvement. Meson
runs quickly enough in the normal case, but with a full set of examples,
the dependency chain resolution can slow things down. Reducing the lists of
dependencies makes a noticable difference in this case. [NOTE: this
slowness and speedup only applies to the meson run; the actual build using
ninja is as fast as ever!]

Bruce Richardson (6):
  examples: add empty meson files for unsupported examples
  examples/l2fwd-cat: make build dependent on pqos library
  examples: disable unsupported examples on BSD
  examples: allow building all examples as part of meson build
  examples: improve error report for missing meson deps
  drivers/dpaa*: reduce meson dependency lists

 drivers/bus/dpaa/meson.build            |  2 +-
 drivers/bus/fslmc/meson.build           |  2 +-
 drivers/crypto/dpaa2_sec/meson.build    |  2 +-
 drivers/event/dpaa/meson.build          |  2 +-
 drivers/event/dpaa2/meson.build         |  2 +-
 drivers/mempool/dpaa2/meson.build       |  2 +-
 drivers/net/dpaa/meson.build            |  2 +-
 drivers/net/dpaa2/meson.build           |  2 +-
 examples/ethtool/meson.build            | 10 +++++++
 examples/kni/meson.build                |  3 +++
 examples/l2fwd-cat/meson.build          |  4 ++-
 examples/l3fwd-power/meson.build        |  3 +++
 examples/meson.build                    | 48 ++++++++++++++++++++++++---------
 examples/multi_process/meson.build      | 10 +++++++
 examples/netmap_compat/meson.build      | 10 +++++++
 examples/performance-thread/meson.build | 10 +++++++
 examples/quota_watermark/meson.build    | 10 +++++++
 examples/server_node_efd/meson.build    | 10 +++++++
 examples/tep_termination/meson.build    |  3 +++
 examples/vhost/meson.build              |  3 +++
 examples/vhost_scsi/meson.build         |  3 +++
 examples/vm_power_manager/meson.build   | 10 +++++++
 22 files changed, 131 insertions(+), 22 deletions(-)
 create mode 100644 examples/ethtool/meson.build
 create mode 100644 examples/multi_process/meson.build
 create mode 100644 examples/netmap_compat/meson.build
 create mode 100644 examples/performance-thread/meson.build
 create mode 100644 examples/quota_watermark/meson.build
 create mode 100644 examples/server_node_efd/meson.build
 create mode 100644 examples/vm_power_manager/meson.build

-- 
2.14.3

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

* [dpdk-dev] [PATCH 1/6] examples: add empty meson files for unsupported examples
  2018-03-29 13:54 [dpdk-dev] [PATCH 0/6] enable easier app compilation testing with meson Bruce Richardson
@ 2018-03-29 13:54 ` Bruce Richardson
  2018-03-29 13:54 ` [dpdk-dev] [PATCH 2/6] examples/l2fwd-cat: make build dependent on pqos library Bruce Richardson
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 10+ messages in thread
From: Bruce Richardson @ 2018-03-29 13:54 UTC (permalink / raw)
  To: dev; +Cc: hemant.agrawal, shreyansh.jain, Bruce Richardson

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 examples/ethtool/meson.build            | 10 ++++++++++
 examples/multi_process/meson.build      | 10 ++++++++++
 examples/netmap_compat/meson.build      | 10 ++++++++++
 examples/performance-thread/meson.build | 10 ++++++++++
 examples/quota_watermark/meson.build    | 10 ++++++++++
 examples/server_node_efd/meson.build    | 10 ++++++++++
 examples/vm_power_manager/meson.build   | 10 ++++++++++
 7 files changed, 70 insertions(+)
 create mode 100644 examples/ethtool/meson.build
 create mode 100644 examples/multi_process/meson.build
 create mode 100644 examples/netmap_compat/meson.build
 create mode 100644 examples/performance-thread/meson.build
 create mode 100644 examples/quota_watermark/meson.build
 create mode 100644 examples/server_node_efd/meson.build
 create mode 100644 examples/vm_power_manager/meson.build

diff --git a/examples/ethtool/meson.build b/examples/ethtool/meson.build
new file mode 100644
index 000000000..c370d7476
--- /dev/null
+++ b/examples/ethtool/meson.build
@@ -0,0 +1,10 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2018 Intel Corporation
+
+# meson file, for building this example as part of a main DPDK build.
+#
+# To build this example as a standalone application with an already-installed
+# DPDK instance, use 'make'
+
+# Example app currently unsupported by meson build
+build = false
diff --git a/examples/multi_process/meson.build b/examples/multi_process/meson.build
new file mode 100644
index 000000000..c370d7476
--- /dev/null
+++ b/examples/multi_process/meson.build
@@ -0,0 +1,10 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2018 Intel Corporation
+
+# meson file, for building this example as part of a main DPDK build.
+#
+# To build this example as a standalone application with an already-installed
+# DPDK instance, use 'make'
+
+# Example app currently unsupported by meson build
+build = false
diff --git a/examples/netmap_compat/meson.build b/examples/netmap_compat/meson.build
new file mode 100644
index 000000000..c370d7476
--- /dev/null
+++ b/examples/netmap_compat/meson.build
@@ -0,0 +1,10 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2018 Intel Corporation
+
+# meson file, for building this example as part of a main DPDK build.
+#
+# To build this example as a standalone application with an already-installed
+# DPDK instance, use 'make'
+
+# Example app currently unsupported by meson build
+build = false
diff --git a/examples/performance-thread/meson.build b/examples/performance-thread/meson.build
new file mode 100644
index 000000000..c370d7476
--- /dev/null
+++ b/examples/performance-thread/meson.build
@@ -0,0 +1,10 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2018 Intel Corporation
+
+# meson file, for building this example as part of a main DPDK build.
+#
+# To build this example as a standalone application with an already-installed
+# DPDK instance, use 'make'
+
+# Example app currently unsupported by meson build
+build = false
diff --git a/examples/quota_watermark/meson.build b/examples/quota_watermark/meson.build
new file mode 100644
index 000000000..c370d7476
--- /dev/null
+++ b/examples/quota_watermark/meson.build
@@ -0,0 +1,10 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2018 Intel Corporation
+
+# meson file, for building this example as part of a main DPDK build.
+#
+# To build this example as a standalone application with an already-installed
+# DPDK instance, use 'make'
+
+# Example app currently unsupported by meson build
+build = false
diff --git a/examples/server_node_efd/meson.build b/examples/server_node_efd/meson.build
new file mode 100644
index 000000000..c370d7476
--- /dev/null
+++ b/examples/server_node_efd/meson.build
@@ -0,0 +1,10 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2018 Intel Corporation
+
+# meson file, for building this example as part of a main DPDK build.
+#
+# To build this example as a standalone application with an already-installed
+# DPDK instance, use 'make'
+
+# Example app currently unsupported by meson build
+build = false
diff --git a/examples/vm_power_manager/meson.build b/examples/vm_power_manager/meson.build
new file mode 100644
index 000000000..c370d7476
--- /dev/null
+++ b/examples/vm_power_manager/meson.build
@@ -0,0 +1,10 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2018 Intel Corporation
+
+# meson file, for building this example as part of a main DPDK build.
+#
+# To build this example as a standalone application with an already-installed
+# DPDK instance, use 'make'
+
+# Example app currently unsupported by meson build
+build = false
-- 
2.14.3

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

* [dpdk-dev] [PATCH 2/6] examples/l2fwd-cat: make build dependent on pqos library
  2018-03-29 13:54 [dpdk-dev] [PATCH 0/6] enable easier app compilation testing with meson Bruce Richardson
  2018-03-29 13:54 ` [dpdk-dev] [PATCH 1/6] examples: add empty meson files for unsupported examples Bruce Richardson
@ 2018-03-29 13:54 ` Bruce Richardson
  2018-03-29 13:54 ` [dpdk-dev] [PATCH 3/6] examples: disable unsupported examples on BSD Bruce Richardson
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 10+ messages in thread
From: Bruce Richardson @ 2018-03-29 13:54 UTC (permalink / raw)
  To: dev; +Cc: hemant.agrawal, shreyansh.jain, Bruce Richardson

The l2fwd-cat example uses the pqos library to work, so make the meson
build dependent on the presence of that library

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 examples/l2fwd-cat/meson.build | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/examples/l2fwd-cat/meson.build b/examples/l2fwd-cat/meson.build
index b6deabc97..1234e7b55 100644
--- a/examples/l2fwd-cat/meson.build
+++ b/examples/l2fwd-cat/meson.build
@@ -6,7 +6,9 @@
 # To build this example as a standalone application with an already-installed
 # DPDK instance, use 'make'
 
-ext_deps += cc.find_library('pqos')
+pqos = cc.find_library('pqos', required: false)
+build = pqos.found()
+ext_deps += pqos
 cflags += '-D_GNU_SOURCE'
 cflags += '-I/usr/local/include' # assume pqos lib installed in /usr/local
 sources = files(
-- 
2.14.3

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

* [dpdk-dev] [PATCH 3/6] examples: disable unsupported examples on BSD
  2018-03-29 13:54 [dpdk-dev] [PATCH 0/6] enable easier app compilation testing with meson Bruce Richardson
  2018-03-29 13:54 ` [dpdk-dev] [PATCH 1/6] examples: add empty meson files for unsupported examples Bruce Richardson
  2018-03-29 13:54 ` [dpdk-dev] [PATCH 2/6] examples/l2fwd-cat: make build dependent on pqos library Bruce Richardson
@ 2018-03-29 13:54 ` Bruce Richardson
  2018-03-29 13:54 ` [dpdk-dev] [PATCH 4/6] examples: allow building all examples as part of meson build Bruce Richardson
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 10+ messages in thread
From: Bruce Richardson @ 2018-03-29 13:54 UTC (permalink / raw)
  To: dev; +Cc: hemant.agrawal, shreyansh.jain, Bruce Richardson

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 examples/kni/meson.build             | 3 +++
 examples/l3fwd-power/meson.build     | 3 +++
 examples/tep_termination/meson.build | 3 +++
 examples/vhost/meson.build           | 3 +++
 examples/vhost_scsi/meson.build      | 3 +++
 5 files changed, 15 insertions(+)

diff --git a/examples/kni/meson.build b/examples/kni/meson.build
index c39aead6f..0443ab99b 100644
--- a/examples/kni/meson.build
+++ b/examples/kni/meson.build
@@ -6,6 +6,9 @@
 # To build this example as a standalone application with an already-installed
 # DPDK instance, use 'make'
 
+if host_machine.system() != 'linux'
+	build = false
+endif
 deps += ['kni', 'bus_pci']
 sources = files(
 	'main.c'
diff --git a/examples/l3fwd-power/meson.build b/examples/l3fwd-power/meson.build
index 61e8daa96..f633a0f17 100644
--- a/examples/l3fwd-power/meson.build
+++ b/examples/l3fwd-power/meson.build
@@ -6,6 +6,9 @@
 # To build this example as a standalone application with an already-installed
 # DPDK instance, use 'make'
 
+if host_machine.system() != 'linux'
+	build = false
+endif
 deps += ['power', 'timer', 'lpm', 'hash']
 sources = files(
 	'main.c'
diff --git a/examples/tep_termination/meson.build b/examples/tep_termination/meson.build
index 68c940aab..618a44a67 100644
--- a/examples/tep_termination/meson.build
+++ b/examples/tep_termination/meson.build
@@ -6,6 +6,9 @@
 # To build this example as a standalone application with an already-installed
 # DPDK instance, use 'make'
 
+if host_machine.system() != 'linux'
+	build = false
+endif
 deps += ['hash', 'vhost']
 sources = files(
 	'main.c', 'vxlan.c', 'vxlan_setup.c'
diff --git a/examples/vhost/meson.build b/examples/vhost/meson.build
index 3e6e69047..853ecae7c 100644
--- a/examples/vhost/meson.build
+++ b/examples/vhost/meson.build
@@ -6,6 +6,9 @@
 # To build this example as a standalone application with an already-installed
 # DPDK instance, use 'make'
 
+if host_machine.system() != 'linux'
+	build = false
+endif
 deps += 'vhost'
 sources = files(
 	'main.c', 'virtio_net.c'
diff --git a/examples/vhost_scsi/meson.build b/examples/vhost_scsi/meson.build
index bd78e84b3..5f92370f5 100644
--- a/examples/vhost_scsi/meson.build
+++ b/examples/vhost_scsi/meson.build
@@ -6,6 +6,9 @@
 # To build this example as a standalone application with an already-installed
 # DPDK instance, use 'make'
 
+if host_machine.system() != 'linux'
+	build = false
+endif
 deps += 'vhost'
 cflags += ['-D_GNU_SOURCE','-D_FILE_OFFSET_BITS=64']
 sources = files(
-- 
2.14.3

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

* [dpdk-dev] [PATCH 4/6] examples: allow building all examples as part of meson build
  2018-03-29 13:54 [dpdk-dev] [PATCH 0/6] enable easier app compilation testing with meson Bruce Richardson
                   ` (2 preceding siblings ...)
  2018-03-29 13:54 ` [dpdk-dev] [PATCH 3/6] examples: disable unsupported examples on BSD Bruce Richardson
@ 2018-03-29 13:54 ` Bruce Richardson
  2018-03-29 13:54 ` [dpdk-dev] [PATCH 5/6] examples: improve error report for missing meson deps Bruce Richardson
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 10+ messages in thread
From: Bruce Richardson @ 2018-03-29 13:54 UTC (permalink / raw)
  To: dev; +Cc: hemant.agrawal, shreyansh.jain, Bruce Richardson

To test building all relevant example applications as part of a build, we
add support for the "all" keyword to be passed to the "examples" build
option. Since not all examples can actually be built on all systems,
we also add support for the "build" option inside the sub-dirs. However,
in case where "all" is not used, and a particular example is requested
to be built, we will error out if building the requested app is not
possible.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 examples/meson.build | 45 ++++++++++++++++++++++++++++++++-------------
 1 file changed, 32 insertions(+), 13 deletions(-)

diff --git a/examples/meson.build b/examples/meson.build
index 2c6b3f889..16c3ab005 100644
--- a/examples/meson.build
+++ b/examples/meson.build
@@ -7,8 +7,20 @@ if get_option('default_library') == 'static'
 endif
 
 execinfo = cc.find_library('execinfo', required: false)
-foreach example: get_option('examples').split(',')
+
+allow_skips = true # don't flag an error if we can't build an app
+
+if get_option('examples').to_lower() == 'all'
+	dirs = run_command('sh', '-c',
+		'cd $MESON_SOURCE_ROOT/$MESON_SUBDIR && for d in * ; do if [ -d $d ] ; then echo $d ; fi ; done')
+	examples = dirs.stdout().split()
+else
+	examples = get_option('examples').split(',')
+	allow_skips = false # error out if we can't build a requested app
+endif
+foreach example: examples
 	name = example
+	build = true
 	sources = []
 	allow_experimental_apis = false
 	cflags = machine_args
@@ -17,17 +29,24 @@ foreach example: get_option('examples').split(',')
 	deps = ['eal', 'mempool', 'net', 'mbuf', 'ethdev', 'cmdline']
 	subdir(example)
 
-	dep_objs = ext_deps
-	foreach d:deps
-		dep_objs += [get_variable(get_option('default_library') + '_rte_' + d)]
-	endforeach
-	if allow_experimental_apis
-		cflags += '-DALLOW_EXPERIMENTAL_API'
+	if build
+		dep_objs = ext_deps
+		foreach d:deps
+			dep_objs += [get_variable(
+				get_option('default_library') + '_rte_' + d)]
+		endforeach
+		if allow_experimental_apis
+			cflags += '-DALLOW_EXPERIMENTAL_API'
+		endif
+		executable('dpdk-' + name, sources,
+			include_directories: includes,
+			link_whole: driver_libs,
+			link_args: dpdk_extra_ldflags,
+			c_args: cflags,
+			dependencies: dep_objs)
+	elif not allow_skips
+		error('Cannot build requested example "' + name + '"')
+	else
+		message('Skipping example "' + name + '"')
 	endif
-	executable('dpdk-' + name, sources,
-		include_directories: includes,
-		link_whole: driver_libs,
-		link_args: dpdk_extra_ldflags,
-		c_args: cflags,
-		dependencies: dep_objs)
 endforeach
-- 
2.14.3

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

* [dpdk-dev] [PATCH 5/6] examples: improve error report for missing meson deps
  2018-03-29 13:54 [dpdk-dev] [PATCH 0/6] enable easier app compilation testing with meson Bruce Richardson
                   ` (3 preceding siblings ...)
  2018-03-29 13:54 ` [dpdk-dev] [PATCH 4/6] examples: allow building all examples as part of meson build Bruce Richardson
@ 2018-03-29 13:54 ` Bruce Richardson
  2018-03-29 13:54 ` [dpdk-dev] [PATCH 6/6] drivers/dpaa*: reduce meson dependency lists Bruce Richardson
  2018-04-06 12:10 ` [dpdk-dev] [PATCH 0/6] enable easier app compilation testing with meson Van Haaren, Harry
  6 siblings, 0 replies; 10+ messages in thread
From: Bruce Richardson @ 2018-03-29 13:54 UTC (permalink / raw)
  To: dev; +Cc: hemant.agrawal, shreyansh.jain, Bruce Richardson

When a required library is missing on a platform, rather than having
meson report an error about the missing variable, catch the problem
earlier and provide a more readable message.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 examples/meson.build | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/examples/meson.build b/examples/meson.build
index 16c3ab005..3d1568497 100644
--- a/examples/meson.build
+++ b/examples/meson.build
@@ -32,8 +32,11 @@ foreach example: examples
 	if build
 		dep_objs = ext_deps
 		foreach d:deps
-			dep_objs += [get_variable(
-				get_option('default_library') + '_rte_' + d)]
+			var_name = get_option('default_library') + '_rte_' + d
+			if not is_variable(var_name)
+				error('Missing dependency "@0@" for example "@1@"'.format(d, name))
+			endif
+			dep_objs += [get_variable(var_name)]
 		endforeach
 		if allow_experimental_apis
 			cflags += '-DALLOW_EXPERIMENTAL_API'
-- 
2.14.3

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

* [dpdk-dev] [PATCH 6/6] drivers/dpaa*: reduce meson dependency lists
  2018-03-29 13:54 [dpdk-dev] [PATCH 0/6] enable easier app compilation testing with meson Bruce Richardson
                   ` (4 preceding siblings ...)
  2018-03-29 13:54 ` [dpdk-dev] [PATCH 5/6] examples: improve error report for missing meson deps Bruce Richardson
@ 2018-03-29 13:54 ` Bruce Richardson
  2018-04-02 10:02   ` Hemant Agrawal
  2018-04-06 12:10 ` [dpdk-dev] [PATCH 0/6] enable easier app compilation testing with meson Van Haaren, Harry
  6 siblings, 1 reply; 10+ messages in thread
From: Bruce Richardson @ 2018-03-29 13:54 UTC (permalink / raw)
  To: dev; +Cc: hemant.agrawal, shreyansh.jain, Bruce Richardson

Meson build currently tracks the dependencies between libraries, which
can often make things easier, but has the side-effect of slowing down
the initial meson run if too many duplicated dependencies are provided.
Therefore, we remove dependencies from the dpaa items where other
dependencies already depend on those. This provides a noticable speed-up
in meson configuration runs when lots of sample apps are included in the
build.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/bus/dpaa/meson.build         | 2 +-
 drivers/bus/fslmc/meson.build        | 2 +-
 drivers/crypto/dpaa2_sec/meson.build | 2 +-
 drivers/event/dpaa/meson.build       | 2 +-
 drivers/event/dpaa2/meson.build      | 2 +-
 drivers/mempool/dpaa2/meson.build    | 2 +-
 drivers/net/dpaa/meson.build         | 2 +-
 drivers/net/dpaa2/meson.build        | 2 +-
 8 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/bus/dpaa/meson.build b/drivers/bus/dpaa/meson.build
index f5c6d7bb6..d10b62c03 100644
--- a/drivers/bus/dpaa/meson.build
+++ b/drivers/bus/dpaa/meson.build
@@ -5,7 +5,7 @@ if host_machine.system() != 'linux'
         build = false
 endif
 
-deps += ['ethdev', 'eventdev']
+deps += ['eventdev']
 sources = files('base/fman/fman.c',
 		'base/fman/fman_hw.c',
 		'base/fman/netcfg_layer.c',
diff --git a/drivers/bus/fslmc/meson.build b/drivers/bus/fslmc/meson.build
index e94340eae..d743f710b 100644
--- a/drivers/bus/fslmc/meson.build
+++ b/drivers/bus/fslmc/meson.build
@@ -5,7 +5,7 @@ if host_machine.system() != 'linux'
         build = false
 endif
 
-deps += ['ethdev', 'eventdev', 'kvargs']
+deps += ['eventdev', 'kvargs']
 sources = files('fslmc_bus.c',
 		'fslmc_vfio.c',
 		'mc/dpbp.c',
diff --git a/drivers/crypto/dpaa2_sec/meson.build b/drivers/crypto/dpaa2_sec/meson.build
index 0fb4d961e..01afc5877 100644
--- a/drivers/crypto/dpaa2_sec/meson.build
+++ b/drivers/crypto/dpaa2_sec/meson.build
@@ -5,7 +5,7 @@ if host_machine.system() != 'linux'
         build = false
 endif
 
-deps += ['bus_fslmc', 'security', 'mempool_dpaa2']
+deps += ['security', 'mempool_dpaa2']
 sources = files('dpaa2_sec_dpseci.c',
 		'mc/dpseci.c')
 
diff --git a/drivers/event/dpaa/meson.build b/drivers/event/dpaa/meson.build
index 9bbd6c2a1..0914f858e 100644
--- a/drivers/event/dpaa/meson.build
+++ b/drivers/event/dpaa/meson.build
@@ -4,7 +4,7 @@
 if host_machine.system() != 'linux'
 	build = false
 endif
-deps += ['mempool_dpaa', 'bus_dpaa', 'pmd_dpaa']
+deps += ['pmd_dpaa']
 sources = files('dpaa_eventdev.c')
 
 allow_experimental_apis = true
diff --git a/drivers/event/dpaa2/meson.build b/drivers/event/dpaa2/meson.build
index 835460c5d..de7a46155 100644
--- a/drivers/event/dpaa2/meson.build
+++ b/drivers/event/dpaa2/meson.build
@@ -4,7 +4,7 @@
 if host_machine.system() != 'linux'
 	build = false
 endif
-deps += ['mempool_dpaa2', 'bus_fslmc', 'bus_vdev', 'pmd_dpaa2']
+deps += ['bus_vdev', 'pmd_dpaa2']
 sources = files('dpaa2_hw_dpcon.c',
 		'dpaa2_eventdev.c')
 
diff --git a/drivers/mempool/dpaa2/meson.build b/drivers/mempool/dpaa2/meson.build
index dee3a88ab..08e753060 100644
--- a/drivers/mempool/dpaa2/meson.build
+++ b/drivers/mempool/dpaa2/meson.build
@@ -5,5 +5,5 @@ if host_machine.system() != 'linux'
         build = false
 endif
 
-deps += ['mbuf', 'bus_fslmc']
+deps += ['bus_fslmc']
 sources = files('dpaa2_hw_mempool.c')
diff --git a/drivers/net/dpaa/meson.build b/drivers/net/dpaa/meson.build
index a4c40a680..62dec7b04 100644
--- a/drivers/net/dpaa/meson.build
+++ b/drivers/net/dpaa/meson.build
@@ -4,7 +4,7 @@
 if host_machine.system() != 'linux'
 	build = false
 endif
-deps += ['bus_dpaa', 'mempool_dpaa']
+deps += ['mempool_dpaa']
 
 sources = files('dpaa_ethdev.c',
 		'dpaa_rxtx.c')
diff --git a/drivers/net/dpaa2/meson.build b/drivers/net/dpaa2/meson.build
index ad1724d44..c9bd97a69 100644
--- a/drivers/net/dpaa2/meson.build
+++ b/drivers/net/dpaa2/meson.build
@@ -5,7 +5,7 @@ if host_machine.system() != 'linux'
         build = false
 endif
 
-deps += ['bus_fslmc', 'mempool_dpaa2']
+deps += ['mempool_dpaa2']
 sources = files('base/dpaa2_hw_dpni.c',
 		'dpaa2_ethdev.c',
 		'dpaa2_rxtx.c',
-- 
2.14.3

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

* Re: [dpdk-dev] [PATCH 6/6] drivers/dpaa*: reduce meson dependency lists
  2018-03-29 13:54 ` [dpdk-dev] [PATCH 6/6] drivers/dpaa*: reduce meson dependency lists Bruce Richardson
@ 2018-04-02 10:02   ` Hemant Agrawal
  0 siblings, 0 replies; 10+ messages in thread
From: Hemant Agrawal @ 2018-04-02 10:02 UTC (permalink / raw)
  To: Bruce Richardson, dev; +Cc: hemant.agrawal, shreyansh.jain

Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>

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

* Re: [dpdk-dev] [PATCH 0/6] enable easier app compilation testing with meson
  2018-03-29 13:54 [dpdk-dev] [PATCH 0/6] enable easier app compilation testing with meson Bruce Richardson
                   ` (5 preceding siblings ...)
  2018-03-29 13:54 ` [dpdk-dev] [PATCH 6/6] drivers/dpaa*: reduce meson dependency lists Bruce Richardson
@ 2018-04-06 12:10 ` Van Haaren, Harry
  2018-04-09 13:50   ` Bruce Richardson
  6 siblings, 1 reply; 10+ messages in thread
From: Van Haaren, Harry @ 2018-04-06 12:10 UTC (permalink / raw)
  To: Richardson, Bruce, dev; +Cc: hemant.agrawal, shreyansh.jain, Richardson, Bruce

> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Bruce Richardson
> Sent: Thursday, March 29, 2018 2:55 PM
> To: dev@dpdk.org
> Cc: hemant.agrawal@nxp.com; shreyansh.jain@nxp.com; Richardson, Bruce
> <bruce.richardson@intel.com>
> Subject: [dpdk-dev] [PATCH 0/6] enable easier app compilation testing with
> meson
> 
> Summary:
> 	With this set you can test building all applicable examples by
> 	calling meson with "-Dexamples=all"
> 
> When building DPDK with meson, it's possible to specify a list of sample
> apps to have built along with the main code. However, specifying a full
> list of all apps can be unwieldy, so this set adds support for passing
> "all" as the examples to be built.
> 
> With "all", meson just adds all subdirectories of "examples" to the build,
> so the first few patches are ensuring that we don't get an error by
> attempting to build an unsupported application. On linux, only 7 apps were
> unsupported, in that they had not been given a meson.build file. On
> FreeBSD, a few others had to have their meson.build files updated to report
> them as unsupported.
> 
> In terms of behaviour, the meson.build file for each app will report if the
> app can be built or not. If "all" is requested, then a message is printed
> and the meson run can continue. If, however, the app is requested by name,
> then an error is reported and the meson run halts.
> 
> The final two patches in the series are more cleanup, the former improves
> error reporting, while the last patch is a performance improvement. Meson
> runs quickly enough in the normal case, but with a full set of examples,
> the dependency chain resolution can slow things down. Reducing the lists of
> dependencies makes a noticable difference in this case. [NOTE: this
> slowness and speedup only applies to the meson run; the actual build using
> ninja is as fast as ever!]
> 
> Bruce Richardson (6):
>   examples: add empty meson files for unsupported examples
>   examples/l2fwd-cat: make build dependent on pqos library
>   examples: disable unsupported examples on BSD
>   examples: allow building all examples as part of meson build
>   examples: improve error report for missing meson deps
>   drivers/dpaa*: reduce meson dependency lists

Working fine for me here!

Series-Tested-by: Harry van Haaren <harry.van.haaren@intel.com>

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

* Re: [dpdk-dev] [PATCH 0/6] enable easier app compilation testing with meson
  2018-04-06 12:10 ` [dpdk-dev] [PATCH 0/6] enable easier app compilation testing with meson Van Haaren, Harry
@ 2018-04-09 13:50   ` Bruce Richardson
  0 siblings, 0 replies; 10+ messages in thread
From: Bruce Richardson @ 2018-04-09 13:50 UTC (permalink / raw)
  To: Van Haaren, Harry; +Cc: dev, hemant.agrawal, shreyansh.jain

On Fri, Apr 06, 2018 at 01:10:54PM +0100, Van Haaren, Harry wrote:
> > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Bruce Richardson
> > Sent: Thursday, March 29, 2018 2:55 PM
> > To: dev@dpdk.org
> > Cc: hemant.agrawal@nxp.com; shreyansh.jain@nxp.com; Richardson, Bruce
> > <bruce.richardson@intel.com>
> > Subject: [dpdk-dev] [PATCH 0/6] enable easier app compilation testing with
> > meson
> > 
> > Summary:
> > 	With this set you can test building all applicable examples by
> > 	calling meson with "-Dexamples=all"
> > 
> > When building DPDK with meson, it's possible to specify a list of sample
> > apps to have built along with the main code. However, specifying a full
> > list of all apps can be unwieldy, so this set adds support for passing
> > "all" as the examples to be built.
> > 
> > With "all", meson just adds all subdirectories of "examples" to the build,
> > so the first few patches are ensuring that we don't get an error by
> > attempting to build an unsupported application. On linux, only 7 apps were
> > unsupported, in that they had not been given a meson.build file. On
> > FreeBSD, a few others had to have their meson.build files updated to report
> > them as unsupported.
> > 
> > In terms of behaviour, the meson.build file for each app will report if the
> > app can be built or not. If "all" is requested, then a message is printed
> > and the meson run can continue. If, however, the app is requested by name,
> > then an error is reported and the meson run halts.
> > 
> > The final two patches in the series are more cleanup, the former improves
> > error reporting, while the last patch is a performance improvement. Meson
> > runs quickly enough in the normal case, but with a full set of examples,
> > the dependency chain resolution can slow things down. Reducing the lists of
> > dependencies makes a noticable difference in this case. [NOTE: this
> > slowness and speedup only applies to the meson run; the actual build using
> > ninja is as fast as ever!]
> > 
> > Bruce Richardson (6):
> >   examples: add empty meson files for unsupported examples
> >   examples/l2fwd-cat: make build dependent on pqos library
> >   examples: disable unsupported examples on BSD
> >   examples: allow building all examples as part of meson build
> >   examples: improve error report for missing meson deps
> >   drivers/dpaa*: reduce meson dependency lists
> 
> Working fine for me here!
> 
> Series-Tested-by: Harry van Haaren <harry.van.haaren@intel.com>
> 
Series applied to dpdk-next-build.

>From testing, there appears to be an issue with building ip_pipeline sample
app for a generic armv8 platform, but not for the thunderx one. Ideally, if
someone from the arm community can help fix this in the C code , it would
be great, otherwise I'll try and do up a patch to selectively disable
ip_pipeline for platforms where it can't compile.

/Bruce

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

end of thread, other threads:[~2018-04-09 13:50 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-03-29 13:54 [dpdk-dev] [PATCH 0/6] enable easier app compilation testing with meson Bruce Richardson
2018-03-29 13:54 ` [dpdk-dev] [PATCH 1/6] examples: add empty meson files for unsupported examples Bruce Richardson
2018-03-29 13:54 ` [dpdk-dev] [PATCH 2/6] examples/l2fwd-cat: make build dependent on pqos library Bruce Richardson
2018-03-29 13:54 ` [dpdk-dev] [PATCH 3/6] examples: disable unsupported examples on BSD Bruce Richardson
2018-03-29 13:54 ` [dpdk-dev] [PATCH 4/6] examples: allow building all examples as part of meson build Bruce Richardson
2018-03-29 13:54 ` [dpdk-dev] [PATCH 5/6] examples: improve error report for missing meson deps Bruce Richardson
2018-03-29 13:54 ` [dpdk-dev] [PATCH 6/6] drivers/dpaa*: reduce meson dependency lists Bruce Richardson
2018-04-02 10:02   ` Hemant Agrawal
2018-04-06 12:10 ` [dpdk-dev] [PATCH 0/6] enable easier app compilation testing with meson Van Haaren, Harry
2018-04-09 13:50   ` Bruce Richardson

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