examples: stop processing meson file if build impossible
authorBruce Richardson <bruce.richardson@intel.com>
Thu, 12 Nov 2020 09:41:41 +0000 (09:41 +0000)
committerThomas Monjalon <thomas@monjalon.net>
Thu, 12 Nov 2020 18:33:36 +0000 (19:33 +0100)
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 <bruce.richardson@intel.com>
14 files changed:
examples/distributor/meson.build
examples/ethtool/meson.build
examples/ioat/meson.build
examples/ip_pipeline/meson.build
examples/kni/meson.build
examples/l2fwd-cat/meson.build
examples/ntb/meson.build
examples/performance-thread/l3fwd-thread/meson.build
examples/performance-thread/pthread_shim/meson.build
examples/pipeline/meson.build
examples/vdpa/meson.build
examples/vhost/meson.build
examples/vhost_blk/meson.build
examples/vhost_crypto/meson.build

index 5244cd4..d8dbc23 100644 (file)
@@ -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']
index cc8edac..4d08bc4 100644 (file)
@@ -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')
index 6afbaa6..e348196 100644 (file)
@@ -8,6 +8,9 @@
 
 allow_experimental_apis = true
 build = dpdk_conf.has('RTE_RAW_IOAT')
+if not build
+       subdir_done()
+endif
 
 deps += ['raw_ioat']
 
index 664223c..945e28b 100644 (file)
@@ -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(
index 58639b1..e119eeb 100644 (file)
@@ -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'
index 2bed18e..60169bc 100644 (file)
@@ -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
index b0201f6..02be9fc 100644 (file)
@@ -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(
index 99de24b..4858b20 100644 (file)
@@ -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
 
index 26ef786..d499799 100644 (file)
@@ -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
 
index e47d483..4f5925d 100644 (file)
@@ -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(
index 73f129c..26f6089 100644 (file)
@@ -8,7 +8,9 @@
 
 if not is_linux
        build = false
+       subdir_done()
 endif
+
 deps += 'vhost'
 allow_experimental_apis = true
 sources = files(
index 24f1f71..7e5b9d9 100644 (file)
@@ -8,7 +8,9 @@
 
 if not is_linux
        build = false
+       subdir_done()
 endif
+
 deps += 'vhost'
 allow_experimental_apis = true
 sources = files(
index 8573671..354ba05 100644 (file)
@@ -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'
index b2c125e..403f210 100644 (file)
@@ -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(