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.richard...@intel.com> --- examples/meson.build | 177 ++++++++++++++++++++++++------------------- 1 file changed, 99 insertions(+), 78 deletions(-) diff --git a/examples/meson.build b/examples/meson.build index d065a6a08..07e682401 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