From patchwork Tue Apr 20 10:22:22 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 91849 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id AA901A0548; Tue, 20 Apr 2021 12:23:23 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B3AD641712; Tue, 20 Apr 2021 12:22:55 +0200 (CEST) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by mails.dpdk.org (Postfix) with ESMTP id 4C8E2411A5 for ; Tue, 20 Apr 2021 12:22:48 +0200 (CEST) IronPort-SDR: ROjO2vAxAoA3/D6RKMFoI2XTdL+eym6ixZu2YUOV0gGCbJ7NxvKP6kXZ9En7u/no+i/+bugMTR 5DcyyHODctXg== X-IronPort-AV: E=McAfee;i="6200,9189,9959"; a="175588782" X-IronPort-AV: E=Sophos;i="5.82,236,1613462400"; d="scan'208";a="175588782" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Apr 2021 03:22:47 -0700 IronPort-SDR: RT5LbXQPJaPt+yC5lGPtwvw3iFs1YQy8WUVUfHtGWZhp7aDVrT17EK1sp9dy77LVtFL0DiXO8I 8DDpJsX++mEQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.82,236,1613462400"; d="scan'208";a="616862582" Received: from silpixa00399126.ir.intel.com ([10.237.223.116]) by fmsmga005.fm.intel.com with ESMTP; 20 Apr 2021 03:22:47 -0700 From: Bruce Richardson To: dev@dpdk.org Cc: Bruce Richardson Date: Tue, 20 Apr 2021 11:22:22 +0100 Message-Id: <20210420102232.314452-7-bruce.richardson@intel.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20210420102232.314452-1-bruce.richardson@intel.com> References: <20210401115009.1063844-1-bruce.richardson@intel.com> <20210420102232.314452-1-bruce.richardson@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v2 06/16] build: reduce indentation in examples build spec X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 --- 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