From patchwork Thu Apr 1 11:50:02 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 90364 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 D2AB9A0548; Thu, 1 Apr 2021 13:51:17 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 29B301410D8; Thu, 1 Apr 2021 13:50:37 +0200 (CEST) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mails.dpdk.org (Postfix) with ESMTP id 1BEE91410ED for ; Thu, 1 Apr 2021 13:50:34 +0200 (CEST) IronPort-SDR: g44gJzYZJVlELcPzQIYrcuU9jYMxhNY2j6HK/p2Q08mOo0kGI187stzJ+a8l2Cb6qzHs44KuxF 93tzD54V0APQ== X-IronPort-AV: E=McAfee;i="6000,8403,9940"; a="179760788" X-IronPort-AV: E=Sophos;i="5.81,296,1610438400"; d="scan'208";a="179760788" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Apr 2021 04:50:34 -0700 IronPort-SDR: tmH+AKlTgxLkP4gi+wMPyVawyl7vmPwh9p9uX0DhBJEFJTa7bfVeM6WxSaDKLdXq1pDsy4d4F8 k/gn4VfTn4rw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,296,1610438400"; d="scan'208";a="446062660" Received: from silpixa00399126.ir.intel.com ([10.237.223.116]) by FMSMGA003.fm.intel.com with ESMTP; 01 Apr 2021 04:50:33 -0700 From: Bruce Richardson To: dev@dpdk.org Cc: thomas@monjalon.net, david.marchand@redhat.com, bluca@debian.org, Bruce Richardson Date: Thu, 1 Apr 2021 12:50:02 +0100 Message-Id: <20210401115009.1063844-8-bruce.richardson@intel.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20210401115009.1063844-1-bruce.richardson@intel.com> References: <20210401115009.1063844-1-bruce.richardson@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [RFC PATCH 07/14] 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 | 158 ++++++++++++++++++++++--------------------- 1 file changed, 80 insertions(+), 78 deletions(-) diff --git a/examples/meson.build b/examples/meson.build index d065a6a08b..b9518d687c 100644 --- a/examples/meson.build +++ b/examples/meson.build @@ -3,109 +3,111 @@ 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-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', ] # 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