From 3495a68f2a5491b417ff080d57cbf7e39abc1f44 Mon Sep 17 00:00:00 2001 From: Bruce Richardson Date: Thu, 12 Nov 2020 09:41:41 +0000 Subject: [PATCH] examples: stop processing meson file if build impossible Once it has been determined that an example cannot be built, there is little point in continuing to process the meson.build file for that example, so we can use subdir_done() to return to the calling file. This can potentially prevent problems where later statement in the file may cause an error on systems where the app cannot be built, e.g. on Windows or FreeBSD. Signed-off-by: Bruce Richardson --- examples/distributor/meson.build | 3 +++ examples/ethtool/meson.build | 4 ++++ examples/ioat/meson.build | 3 +++ examples/ip_pipeline/meson.build | 4 ++++ examples/kni/meson.build | 4 ++++ examples/l2fwd-cat/meson.build | 4 ++++ examples/ntb/meson.build | 2 ++ examples/performance-thread/l3fwd-thread/meson.build | 4 ++++ examples/performance-thread/pthread_shim/meson.build | 4 ++++ examples/pipeline/meson.build | 4 ++++ examples/vdpa/meson.build | 2 ++ examples/vhost/meson.build | 2 ++ examples/vhost_blk/meson.build | 2 ++ examples/vhost_crypto/meson.build | 4 ++++ 14 files changed, 46 insertions(+) diff --git a/examples/distributor/meson.build b/examples/distributor/meson.build index 5244cd4ffc..d8dbc235fb 100644 --- a/examples/distributor/meson.build +++ b/examples/distributor/meson.build @@ -8,6 +8,9 @@ # require the power library build = dpdk_conf.has('RTE_LIB_POWER') +if not build + subdir_done() +endif allow_experimental_apis = true deps += ['distributor', 'power'] diff --git a/examples/ethtool/meson.build b/examples/ethtool/meson.build index cc8edac3df..4d08bc4c57 100644 --- a/examples/ethtool/meson.build +++ b/examples/ethtool/meson.build @@ -7,6 +7,10 @@ # DPDK instance, use 'make' build = is_linux +if not build + subdir_done() +endif + sources = files('lib/rte_ethtool.c', 'ethtool-app/ethapp.c', 'ethtool-app/main.c') diff --git a/examples/ioat/meson.build b/examples/ioat/meson.build index 6afbaa6803..e348196ba3 100644 --- a/examples/ioat/meson.build +++ b/examples/ioat/meson.build @@ -8,6 +8,9 @@ allow_experimental_apis = true build = dpdk_conf.has('RTE_RAW_IOAT') +if not build + subdir_done() +endif deps += ['raw_ioat'] diff --git a/examples/ip_pipeline/meson.build b/examples/ip_pipeline/meson.build index 664223c97f..945e28b58b 100644 --- a/examples/ip_pipeline/meson.build +++ b/examples/ip_pipeline/meson.build @@ -7,6 +7,10 @@ # DPDK instance, use 'make' build = cc.has_header('sys/epoll.h') +if not build + subdir_done() +endif + deps += ['pipeline', 'bus_pci'] allow_experimental_apis = true sources = files( diff --git a/examples/kni/meson.build b/examples/kni/meson.build index 58639b1392..e119eebabb 100644 --- a/examples/kni/meson.build +++ b/examples/kni/meson.build @@ -8,6 +8,10 @@ # this app can be built if-and-only-if KNI library is buildable build = dpdk_conf.has('RTE_LIB_KNI') +if not build + subdir_done() +endif + deps += ['kni', 'bus_pci'] sources = files( 'main.c' diff --git a/examples/l2fwd-cat/meson.build b/examples/l2fwd-cat/meson.build index 2bed18e749..60169bcbda 100644 --- a/examples/l2fwd-cat/meson.build +++ b/examples/l2fwd-cat/meson.build @@ -8,6 +8,10 @@ pqos = cc.find_library('pqos', required: false) build = pqos.found() +if not build + subdir_done() +endif + ext_deps += pqos allow_experimental_apis = true cflags += '-I/usr/local/include' # assume pqos lib installed in /usr/local diff --git a/examples/ntb/meson.build b/examples/ntb/meson.build index b0201f68b1..02be9fc80d 100644 --- a/examples/ntb/meson.build +++ b/examples/ntb/meson.build @@ -9,7 +9,9 @@ allow_experimental_apis = true if not is_linux build = false + subdir_done() endif + deps += 'rawdev' cflags += ['-D_FILE_OFFSET_BITS=64'] sources = files( diff --git a/examples/performance-thread/l3fwd-thread/meson.build b/examples/performance-thread/l3fwd-thread/meson.build index 99de24be7d..4858b201e4 100644 --- a/examples/performance-thread/l3fwd-thread/meson.build +++ b/examples/performance-thread/l3fwd-thread/meson.build @@ -7,6 +7,10 @@ # DPDK instance, use 'make' build = dpdk_conf.has('RTE_ARCH_X86_64') +if not build + subdir_done() +endif + deps += ['timer', 'lpm'] allow_experimental_apis = true diff --git a/examples/performance-thread/pthread_shim/meson.build b/examples/performance-thread/pthread_shim/meson.build index 26ef78635a..d499799307 100644 --- a/examples/performance-thread/pthread_shim/meson.build +++ b/examples/performance-thread/pthread_shim/meson.build @@ -7,6 +7,10 @@ # DPDK instance, use 'make' build = dpdk_conf.has('RTE_ARCH_X86_64') or dpdk_conf.has('RTE_ARCH_ARM64') +if not build + subdir_done() +endif + deps += ['timer'] allow_experimental_apis = true diff --git a/examples/pipeline/meson.build b/examples/pipeline/meson.build index e47d483de1..4f5925d7cf 100644 --- a/examples/pipeline/meson.build +++ b/examples/pipeline/meson.build @@ -7,6 +7,10 @@ # DPDK instance, use 'make' build = cc.has_header('sys/epoll.h') +if not build + subdir_done() +endif + deps += ['pipeline', 'bus_pci'] allow_experimental_apis = true sources = files( diff --git a/examples/vdpa/meson.build b/examples/vdpa/meson.build index 73f129cd91..26f6089c92 100644 --- a/examples/vdpa/meson.build +++ b/examples/vdpa/meson.build @@ -8,7 +8,9 @@ if not is_linux build = false + subdir_done() endif + deps += 'vhost' allow_experimental_apis = true sources = files( diff --git a/examples/vhost/meson.build b/examples/vhost/meson.build index 24f1f71313..7e5b9d938f 100644 --- a/examples/vhost/meson.build +++ b/examples/vhost/meson.build @@ -8,7 +8,9 @@ if not is_linux build = false + subdir_done() endif + deps += 'vhost' allow_experimental_apis = true sources = files( diff --git a/examples/vhost_blk/meson.build b/examples/vhost_blk/meson.build index 857367192c..354ba05848 100644 --- a/examples/vhost_blk/meson.build +++ b/examples/vhost_blk/meson.build @@ -8,10 +8,12 @@ if not is_linux build = false + subdir_done() endif if not cc.has_header('linux/virtio_blk.h') build = false + subdir_done() endif deps += 'vhost' diff --git a/examples/vhost_crypto/meson.build b/examples/vhost_crypto/meson.build index b2c125e2fa..403f210983 100644 --- a/examples/vhost_crypto/meson.build +++ b/examples/vhost_crypto/meson.build @@ -7,6 +7,10 @@ # DPDK instance, use 'make' build = dpdk_conf.has('RTE_LIB_VHOST') +if not build + subdir_done() +endif + allow_experimental_apis = true deps += ['vhost', 'cryptodev'] sources = files( -- 2.20.1