[dpdk-dev] [PATCH v2 06/16] build: reduce indentation in examples build spec

Bruce Richardson bruce.richardson at intel.com
Tue Apr 20 12:22:22 CEST 2021


As with the lib and drivers directories, we can use "continue" keyword to
reduce the indentation level of the majority of the foreach block. At the
same time, we can also replace tab indentation with spaces.

Signed-off-by: Bruce Richardson <bruce.richardson at intel.com>
---
 examples/meson.build | 177 ++++++++++++++++++++++++-------------------
 1 file changed, 99 insertions(+), 78 deletions(-)

diff --git a/examples/meson.build b/examples/meson.build
index d065a6a08b..07e682401b 100644
--- a/examples/meson.build
+++ b/examples/meson.build
@@ -3,109 +3,130 @@
 
 link_whole_libs = []
 if get_option('default_library') == 'static'
-	link_whole_libs = dpdk_static_libraries + dpdk_drivers
+    link_whole_libs = dpdk_static_libraries + dpdk_drivers
 endif
 
 # list of all example apps. Keep 1-3 per line, in alphabetical order.
 all_examples = [
-	'bbdev_app', 'bond',
-	'cmdline',
-	'distributor', 'ethtool',
-	'eventdev_pipeline',
-	'fips_validation', 'flow_classify',
-	'flow_filtering', 'helloworld',
-	'ioat',
-	'ip_fragmentation', 'ip_pipeline',
-	'ip_reassembly', 'ipsec-secgw',
-	'ipv4_multicast', 'kni',
-	'l2fwd', 'l2fwd-cat', 'l2fwd-event',
-	'l2fwd-crypto', 'l2fwd-jobstats',
-	'l2fwd-keepalive', 'l3fwd',
-	'l3fwd-acl', 'l3fwd-power', 'l3fwd-graph',
-	'link_status_interrupt',
-	'multi_process/client_server_mp/mp_client',
-	'multi_process/client_server_mp/mp_server',
-	'multi_process/hotplug_mp',
-	'multi_process/simple_mp',
-	'multi_process/symmetric_mp',
-	'ntb', 'packet_ordering',
-	'performance-thread/l3fwd-thread',
-	'performance-thread/pthread_shim',
-	'pipeline',
-	'ptpclient',
-	'qos_meter', 'qos_sched',
-	'rxtx_callbacks',
-	'server_node_efd/node',
-	'server_node_efd/server',
-	'service_cores',
-	'skeleton',
-	'timer', 'vdpa',
-	'vhost', 'vhost_crypto',
-	'vhost_blk', 'vm_power_manager',
-	'vm_power_manager/guest_cli',
-	'vmdq', 'vmdq_dcb',
+        'bbdev_app',
+        'bond',
+        'cmdline',
+        'distributor',
+        'ethtool',
+        'eventdev_pipeline',
+        'fips_validation',
+        'flow_classify',
+        'flow_filtering',
+        'helloworld',
+        'ioat',
+        'ip_fragmentation',
+        'ip_pipeline',
+        'ip_reassembly',
+        'ipsec-secgw',
+        'ipv4_multicast',
+        'kni',
+        'l2fwd',
+        'l2fwd-cat',
+        'l2fwd-crypto',
+        'l2fwd-event',
+        'l2fwd-jobstats',
+        'l2fwd-keepalive',
+        'l3fwd',
+        'l3fwd-acl',
+        'l3fwd-graph',
+        'l3fwd-power',
+        'link_status_interrupt',
+        'multi_process/client_server_mp/mp_client',
+        'multi_process/client_server_mp/mp_server',
+        'multi_process/hotplug_mp',
+        'multi_process/simple_mp',
+        'multi_process/symmetric_mp',
+        'ntb',
+        'packet_ordering',
+        'performance-thread/l3fwd-thread',
+        'performance-thread/pthread_shim',
+        'pipeline',
+        'ptpclient',
+        'qos_meter',
+        'qos_sched',
+        'rxtx_callbacks',
+        'server_node_efd/node',
+        'server_node_efd/server',
+        'service_cores',
+        'skeleton',
+        'timer',
+        'vdpa',
+        'vhost',
+        'vhost_blk',
+        'vhost_crypto',
+        'vm_power_manager',
+        'vm_power_manager/guest_cli',
+        'vmdq',
+        'vmdq_dcb',
 ]
 
 # on install, skip copying all meson.build files
 ex_file_excludes = ['meson.build']
 foreach ex:all_examples
-	ex_file_excludes += [ex + '/meson.build']
+    ex_file_excludes += [ex + '/meson.build']
 endforeach
 
 if get_option('examples') == ''
-	subdir_done()
+    subdir_done()
 endif
 
 if get_option('examples').to_lower() == 'all'
-	examples = all_examples
-	allow_skips = true # don't flag an error if we can't build an app
+    examples = all_examples
+    allow_skips = true # don't flag an error if we can't build an app
 else
-	examples = get_option('examples').split(',')
-	allow_skips = false # error out if we can't build a requested app
+    examples = get_option('examples').split(',')
+    allow_skips = false # error out if we can't build a requested app
 endif
 default_cflags = machine_args
 if cc.has_argument('-Wno-format-truncation')
-	default_cflags += '-Wno-format-truncation'
+    default_cflags += '-Wno-format-truncation'
 endif
 default_ldflags = dpdk_extra_ldflags
 if get_option('default_library') == 'static' and not is_windows
-	default_ldflags += ['-Wl,--export-dynamic']
+    default_ldflags += ['-Wl,--export-dynamic']
 endif
 
 foreach example: examples
-	name = example.split('/')[-1]
-	build = true
-	sources = []
-	allow_experimental_apis = false
-	cflags = default_cflags
-	ldflags = default_ldflags
+    name = example.split('/')[-1]
+    build = true
+    sources = []
+    allow_experimental_apis = false
+    cflags = default_cflags
+    ldflags = default_ldflags
 
-	ext_deps = []
-	includes = [include_directories(example)]
-	deps = ['eal', 'mempool', 'net', 'mbuf', 'ethdev', 'cmdline']
-	subdir(example)
+    ext_deps = []
+    includes = [include_directories(example)]
+    deps = ['eal', 'mempool', 'net', 'mbuf', 'ethdev', 'cmdline']
+    subdir(example)
 
-	if build
-		dep_objs = ext_deps
-		foreach d:deps
-			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'
-		endif
-		executable('dpdk-' + name, sources,
-			include_directories: includes,
-			link_whole: link_whole_libs,
-			link_args: ldflags,
-			c_args: cflags,
-			dependencies: dep_objs)
-	elif not allow_skips
-		error('Cannot build requested example "' + name + '"')
-	else
-		message('Skipping example "' + name + '"')
-	endif
+    if not build
+        if not allow_skips
+            error('Cannot build requested example "' + name + '"')
+        endif
+        message('Skipping example "' + name + '"')
+        continue
+    endif
+
+    dep_objs = ext_deps
+    foreach d:deps
+        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'
+    endif
+    executable('dpdk-' + name, sources,
+            include_directories: includes,
+            link_whole: link_whole_libs,
+            link_args: ldflags,
+            c_args: cflags,
+            dependencies: dep_objs)
 endforeach
-- 
2.27.0



More information about the dev mailing list