All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Xu, Rosen" <rosen.xu@intel.com>
To: Thomas Monjalon <thomas@monjalon.net>, "dev@dpdk.org" <dev@dpdk.org>
Cc: "Richardson, Bruce" <bruce.richardson@intel.com>,
	Matan Azrad <matan@mellanox.com>,
	Shahaf Shuler <shahafs@mellanox.com>,
	"Viacheslav Ovsiienko" <viacheslavo@mellanox.com>,
	"Zhang, Tianfei" <tianfei.zhang@intel.com>
Subject: Re: [dpdk-dev] [PATCH v5 1/6] drivers: cleanup meson build variable
Date: Thu, 13 Feb 2020 00:25:51 +0000	[thread overview]
Message-ID: <0E78D399C70DA940A335608C6ED296D73AD57487@SHSMSX104.ccr.corp.intel.com> (raw)
In-Reply-To: <20200212220708.492297-2-thomas@monjalon.net>

Hi,

> -----Original Message-----
> From: Thomas Monjalon <thomas@monjalon.net>
> Sent: Thursday, February 13, 2020 6:07
> To: dev@dpdk.org
> Cc: Richardson, Bruce <bruce.richardson@intel.com>; Matan Azrad
> <matan@mellanox.com>; Shahaf Shuler <shahafs@mellanox.com>;
> Viacheslav Ovsiienko <viacheslavo@mellanox.com>; Xu, Rosen
> <rosen.xu@intel.com>; Zhang, Tianfei <tianfei.zhang@intel.com>
> Subject: [PATCH v5 1/6] drivers: cleanup meson build variable
> 
> The variable build is already initialized as true in drivers/meson.build.
> Duplicate initializations can be removed from mlx.
> 
> When the variable build is set to false, it is easier to call
> subdir_done() than branch the rest of the code on build condition.
> 
> Suggested-by: Bruce Richardson <bruce.richardson@intel.com>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> ---
>  drivers/common/mlx5/meson.build | 293 ++++++++++++++++----------------
> drivers/net/ipn3ke/meson.build  |  17 +-
>  drivers/net/mlx4/meson.build    | 131 +++++++-------
>  drivers/raw/ifpga/meson.build   |  23 ++-
>  4 files changed, 230 insertions(+), 234 deletions(-)
> 
> diff --git a/drivers/common/mlx5/meson.build
> b/drivers/common/mlx5/meson.build index 2b704107cd..be57558267 100644
> --- a/drivers/common/mlx5/meson.build
> +++ b/drivers/common/mlx5/meson.build
> @@ -6,7 +6,6 @@ if not is_linux
>  	reason = 'only supported on Linux'
>  	subdir_done()
>  endif
> -build = true
> 
>  pmd_dlopen = (get_option('ibverbs_link') == 'dlopen')  LIB_GLUE_BASE =
> 'librte_pmd_mlx5_glue.so'
> @@ -32,158 +31,158 @@ foreach libname:libnames
>  	else
>  		build = false
>  		reason = 'missing dependency, "' + libname + '"'
> +		subdir_done()
>  	endif
>  endforeach
> 
> -if build
> -	allow_experimental_apis = true
> -	deps += ['hash', 'pci', 'net', 'eal', 'kvargs']
> -	ext_deps += libs
> -	sources = files(
> -		'mlx5_devx_cmds.c',
> -		'mlx5_common.c',
> -		'mlx5_nl.c',
> -	)
> -	if not pmd_dlopen
> -		sources += files('mlx5_glue.c')
> -	endif
> -	cflags_options = [
> -		'-std=c11',
> -		'-Wno-strict-prototypes',
> -		'-D_BSD_SOURCE',
> -		'-D_DEFAULT_SOURCE',
> -		'-D_XOPEN_SOURCE=600'
> -	]
> -	foreach option:cflags_options
> -		if cc.has_argument(option)
> -			cflags += option
> -		endif
> -	endforeach
> -	if get_option('buildtype').contains('debug')
> -		cflags += [ '-pedantic', '-DPEDANTIC' ]
> -	else
> -		cflags += [ '-UPEDANTIC' ]
> +allow_experimental_apis = true
> +deps += ['hash', 'pci', 'net', 'eal', 'kvargs'] ext_deps += libs
> +sources = files(
> +	'mlx5_devx_cmds.c',
> +	'mlx5_common.c',
> +	'mlx5_nl.c',
> +)
> +if not pmd_dlopen
> +	sources += files('mlx5_glue.c')
> +endif
> +cflags_options = [
> +	'-std=c11',
> +	'-Wno-strict-prototypes',
> +	'-D_BSD_SOURCE',
> +	'-D_DEFAULT_SOURCE',
> +	'-D_XOPEN_SOURCE=600'
> +]
> +foreach option:cflags_options
> +	if cc.has_argument(option)
> +		cflags += option
>  	endif
> -	# To maintain the compatibility with the make build system
> -	# mlx5_autoconf.h file is still generated.
> -	# input array for meson member search:
> -	# [ "MACRO to define if found", "header for the search",
> -	#   "symbol to search", "struct member to search" ]
> -	has_member_args = [
> -		[ 'HAVE_IBV_MLX5_MOD_SWP', 'infiniband/mlx5dv.h',
> -		'struct mlx5dv_sw_parsing_caps', 'sw_parsing_offloads' ],
> -		[ 'HAVE_IBV_DEVICE_COUNTERS_SET_V42',
> 'infiniband/verbs.h',
> -		'struct ibv_counter_set_init_attr', 'counter_set_id' ],
> -		[ 'HAVE_IBV_DEVICE_COUNTERS_SET_V45',
> 'infiniband/verbs.h',
> -		'struct ibv_counters_init_attr', 'comp_mask' ],
> -	]
> -	# input array for meson symbol search:
> -	# [ "MACRO to define if found", "header for the search",
> -	#   "symbol to search" ]
> -	has_sym_args = [
> -		[ 'HAVE_IBV_DEVICE_STRIDING_RQ_SUPPORT',
> 'infiniband/mlx5dv.h',
> -		'MLX5DV_CQE_RES_FORMAT_CSUM_STRIDX' ],
> -		[ 'HAVE_IBV_DEVICE_TUNNEL_SUPPORT',
> 'infiniband/mlx5dv.h',
> -		'MLX5DV_CONTEXT_MASK_TUNNEL_OFFLOADS' ],
> -		[ 'HAVE_IBV_MLX5_MOD_MPW', 'infiniband/mlx5dv.h',
> -		'MLX5DV_CONTEXT_FLAGS_MPW_ALLOWED' ],
> -		[ 'HAVE_IBV_MLX5_MOD_CQE_128B_COMP',
> 'infiniband/mlx5dv.h',
> -		'MLX5DV_CONTEXT_FLAGS_CQE_128B_COMP' ],
> -		[ 'HAVE_IBV_MLX5_MOD_CQE_128B_PAD',
> 'infiniband/mlx5dv.h',
> -		'MLX5DV_CQ_INIT_ATTR_FLAGS_CQE_PAD' ],
> -		[ 'HAVE_IBV_FLOW_DV_SUPPORT', 'infiniband/mlx5dv.h',
> -		'mlx5dv_create_flow_action_packet_reformat' ],
> -		[ 'HAVE_IBV_DEVICE_MPLS_SUPPORT', 'infiniband/verbs.h',
> -		'IBV_FLOW_SPEC_MPLS' ],
> -		[ 'HAVE_IBV_WQ_FLAGS_PCI_WRITE_END_PADDING',
> 'infiniband/verbs.h',
> -		'IBV_WQ_FLAGS_PCI_WRITE_END_PADDING' ],
> -		[ 'HAVE_IBV_WQ_FLAG_RX_END_PADDING',
> 'infiniband/verbs.h',
> -		'IBV_WQ_FLAG_RX_END_PADDING' ],
> -		[ 'HAVE_MLX5DV_DR_DEVX_PORT', 'infiniband/mlx5dv.h',
> -		'mlx5dv_query_devx_port' ],
> -		[ 'HAVE_IBV_DEVX_OBJ', 'infiniband/mlx5dv.h',
> -		'mlx5dv_devx_obj_create' ],
> -		[ 'HAVE_IBV_FLOW_DEVX_COUNTERS', 'infiniband/mlx5dv.h',
> -		'MLX5DV_FLOW_ACTION_COUNTERS_DEVX' ],
> -		[ 'HAVE_IBV_DEVX_ASYNC', 'infiniband/mlx5dv.h',
> -		'mlx5dv_devx_obj_query_async' ],
> -		[ 'HAVE_MLX5DV_DR_ACTION_DEST_DEVX_TIR',
> 'infiniband/mlx5dv.h',
> -		'mlx5dv_dr_action_create_dest_devx_tir' ],
> -		[ 'HAVE_IBV_DEVX_EVENT', 'infiniband/mlx5dv.h',
> -		'mlx5dv_devx_get_event' ],
> -		[ 'HAVE_MLX5_DR_CREATE_ACTION_FLOW_METER',
> 'infiniband/mlx5dv.h',
> -		'mlx5dv_dr_action_create_flow_meter' ],
> -		[ 'HAVE_MLX5DV_MMAP_GET_NC_PAGES_CMD',
> 'infiniband/mlx5dv.h',
> -		'MLX5_MMAP_GET_NC_PAGES_CMD' ],
> -		[ 'HAVE_MLX5DV_DR', 'infiniband/mlx5dv.h',
> -		'MLX5DV_DR_DOMAIN_TYPE_NIC_RX' ],
> -		[ 'HAVE_MLX5DV_DR_ESWITCH', 'infiniband/mlx5dv.h',
> -		'MLX5DV_DR_DOMAIN_TYPE_FDB' ],
> -		[ 'HAVE_MLX5DV_DR_VLAN', 'infiniband/mlx5dv.h',
> -		'mlx5dv_dr_action_create_push_vlan' ],
> -		[ 'HAVE_IBV_VAR', 'infiniband/mlx5dv.h', 'mlx5dv_alloc_var' ],
> -		[ 'HAVE_SUPPORTED_40000baseKR4_Full', 'linux/ethtool.h',
> -		'SUPPORTED_40000baseKR4_Full' ],
> -		[ 'HAVE_SUPPORTED_40000baseCR4_Full', 'linux/ethtool.h',
> -		'SUPPORTED_40000baseCR4_Full' ],
> -		[ 'HAVE_SUPPORTED_40000baseSR4_Full', 'linux/ethtool.h',
> -		'SUPPORTED_40000baseSR4_Full' ],
> -		[ 'HAVE_SUPPORTED_40000baseLR4_Full', 'linux/ethtool.h',
> -		'SUPPORTED_40000baseLR4_Full' ],
> -		[ 'HAVE_SUPPORTED_56000baseKR4_Full', 'linux/ethtool.h',
> -		'SUPPORTED_56000baseKR4_Full' ],
> -		[ 'HAVE_SUPPORTED_56000baseCR4_Full', 'linux/ethtool.h',
> -		'SUPPORTED_56000baseCR4_Full' ],
> -		[ 'HAVE_SUPPORTED_56000baseSR4_Full', 'linux/ethtool.h',
> -		'SUPPORTED_56000baseSR4_Full' ],
> -		[ 'HAVE_SUPPORTED_56000baseLR4_Full', 'linux/ethtool.h',
> -		'SUPPORTED_56000baseLR4_Full' ],
> -		[ 'HAVE_ETHTOOL_LINK_MODE_25G', 'linux/ethtool.h',
> -		'ETHTOOL_LINK_MODE_25000baseCR_Full_BIT' ],
> -		[ 'HAVE_ETHTOOL_LINK_MODE_50G', 'linux/ethtool.h',
> -		'ETHTOOL_LINK_MODE_50000baseCR2_Full_BIT' ],
> -		[ 'HAVE_ETHTOOL_LINK_MODE_100G', 'linux/ethtool.h',
> -		'ETHTOOL_LINK_MODE_100000baseKR4_Full_BIT' ],
> -		[ 'HAVE_IFLA_NUM_VF', 'linux/if_link.h',
> -		'IFLA_NUM_VF' ],
> -		[ 'HAVE_IFLA_EXT_MASK', 'linux/if_link.h',
> -		'IFLA_EXT_MASK' ],
> -		[ 'HAVE_IFLA_PHYS_SWITCH_ID', 'linux/if_link.h',
> -		'IFLA_PHYS_SWITCH_ID' ],
> -		[ 'HAVE_IFLA_PHYS_PORT_NAME', 'linux/if_link.h',
> -		'IFLA_PHYS_PORT_NAME' ],
> -		[ 'HAVE_RDMA_NL_NLDEV', 'rdma/rdma_netlink.h',
> -		'RDMA_NL_NLDEV' ],
> -		[ 'HAVE_RDMA_NLDEV_CMD_GET', 'rdma/rdma_netlink.h',
> -		'RDMA_NLDEV_CMD_GET' ],
> -		[ 'HAVE_RDMA_NLDEV_CMD_PORT_GET',
> 'rdma/rdma_netlink.h',
> -		'RDMA_NLDEV_CMD_PORT_GET' ],
> -		[ 'HAVE_RDMA_NLDEV_ATTR_DEV_INDEX',
> 'rdma/rdma_netlink.h',
> -		'RDMA_NLDEV_ATTR_DEV_INDEX' ],
> -		[ 'HAVE_RDMA_NLDEV_ATTR_DEV_NAME',
> 'rdma/rdma_netlink.h',
> -		'RDMA_NLDEV_ATTR_DEV_NAME' ],
> -		[ 'HAVE_RDMA_NLDEV_ATTR_PORT_INDEX',
> 'rdma/rdma_netlink.h',
> -		'RDMA_NLDEV_ATTR_PORT_INDEX' ],
> -		[ 'HAVE_RDMA_NLDEV_ATTR_NDEV_INDEX',
> 'rdma/rdma_netlink.h',
> -		'RDMA_NLDEV_ATTR_NDEV_INDEX' ],
> -		[ 'HAVE_MLX5_DR_FLOW_DUMP', 'infiniband/mlx5dv.h',
> -		'mlx5dv_dump_dr_domain'],
> -		[ 'HAVE_DEVLINK', 'linux/devlink.h',
> 'DEVLINK_GENL_NAME' ],
> -	]
> -	config = configuration_data()
> -	foreach arg:has_sym_args
> -		config.set(arg[0], cc.has_header_symbol(arg[1], arg[2],
> -			dependencies: libs))
> -	endforeach
> -	foreach arg:has_member_args
> -		file_prefix = '#include <' + arg[1] + '>'
> -		config.set(arg[0], cc.has_member(arg[2], arg[3],
> -			prefix : file_prefix, dependencies: libs))
> -	endforeach
> -	configure_file(output : 'mlx5_autoconf.h', configuration : config)
> +endforeach
> +if get_option('buildtype').contains('debug')
> +	cflags += [ '-pedantic', '-DPEDANTIC' ] else
> +	cflags += [ '-UPEDANTIC' ]
>  endif
> +# To maintain the compatibility with the make build system #
> +mlx5_autoconf.h file is still generated.
> +# input array for meson member search:
> +# [ "MACRO to define if found", "header for the search",
> +#   "symbol to search", "struct member to search" ]
> +has_member_args = [
> +	[ 'HAVE_IBV_MLX5_MOD_SWP', 'infiniband/mlx5dv.h',
> +	'struct mlx5dv_sw_parsing_caps', 'sw_parsing_offloads' ],
> +	[ 'HAVE_IBV_DEVICE_COUNTERS_SET_V42', 'infiniband/verbs.h',
> +	'struct ibv_counter_set_init_attr', 'counter_set_id' ],
> +	[ 'HAVE_IBV_DEVICE_COUNTERS_SET_V45', 'infiniband/verbs.h',
> +	'struct ibv_counters_init_attr', 'comp_mask' ], ] # input array for
> +meson symbol search:
> +# [ "MACRO to define if found", "header for the search",
> +#   "symbol to search" ]
> +has_sym_args = [
> +	[ 'HAVE_IBV_DEVICE_STRIDING_RQ_SUPPORT',
> 'infiniband/mlx5dv.h',
> +	'MLX5DV_CQE_RES_FORMAT_CSUM_STRIDX' ],
> +	[ 'HAVE_IBV_DEVICE_TUNNEL_SUPPORT', 'infiniband/mlx5dv.h',
> +	'MLX5DV_CONTEXT_MASK_TUNNEL_OFFLOADS' ],
> +	[ 'HAVE_IBV_MLX5_MOD_MPW', 'infiniband/mlx5dv.h',
> +	'MLX5DV_CONTEXT_FLAGS_MPW_ALLOWED' ],
> +	[ 'HAVE_IBV_MLX5_MOD_CQE_128B_COMP', 'infiniband/mlx5dv.h',
> +	'MLX5DV_CONTEXT_FLAGS_CQE_128B_COMP' ],
> +	[ 'HAVE_IBV_MLX5_MOD_CQE_128B_PAD', 'infiniband/mlx5dv.h',
> +	'MLX5DV_CQ_INIT_ATTR_FLAGS_CQE_PAD' ],
> +	[ 'HAVE_IBV_FLOW_DV_SUPPORT', 'infiniband/mlx5dv.h',
> +	'mlx5dv_create_flow_action_packet_reformat' ],
> +	[ 'HAVE_IBV_DEVICE_MPLS_SUPPORT', 'infiniband/verbs.h',
> +	'IBV_FLOW_SPEC_MPLS' ],
> +	[ 'HAVE_IBV_WQ_FLAGS_PCI_WRITE_END_PADDING',
> 'infiniband/verbs.h',
> +	'IBV_WQ_FLAGS_PCI_WRITE_END_PADDING' ],
> +	[ 'HAVE_IBV_WQ_FLAG_RX_END_PADDING', 'infiniband/verbs.h',
> +	'IBV_WQ_FLAG_RX_END_PADDING' ],
> +	[ 'HAVE_MLX5DV_DR_DEVX_PORT', 'infiniband/mlx5dv.h',
> +	'mlx5dv_query_devx_port' ],
> +	[ 'HAVE_IBV_DEVX_OBJ', 'infiniband/mlx5dv.h',
> +	'mlx5dv_devx_obj_create' ],
> +	[ 'HAVE_IBV_FLOW_DEVX_COUNTERS', 'infiniband/mlx5dv.h',
> +	'MLX5DV_FLOW_ACTION_COUNTERS_DEVX' ],
> +	[ 'HAVE_IBV_DEVX_ASYNC', 'infiniband/mlx5dv.h',
> +	'mlx5dv_devx_obj_query_async' ],
> +	[ 'HAVE_MLX5DV_DR_ACTION_DEST_DEVX_TIR',
> 'infiniband/mlx5dv.h',
> +	'mlx5dv_dr_action_create_dest_devx_tir' ],
> +	[ 'HAVE_IBV_DEVX_EVENT', 'infiniband/mlx5dv.h',
> +	'mlx5dv_devx_get_event' ],
> +	[ 'HAVE_MLX5_DR_CREATE_ACTION_FLOW_METER',
> 'infiniband/mlx5dv.h',
> +	'mlx5dv_dr_action_create_flow_meter' ],
> +	[ 'HAVE_MLX5DV_MMAP_GET_NC_PAGES_CMD',
> 'infiniband/mlx5dv.h',
> +	'MLX5_MMAP_GET_NC_PAGES_CMD' ],
> +	[ 'HAVE_MLX5DV_DR', 'infiniband/mlx5dv.h',
> +	'MLX5DV_DR_DOMAIN_TYPE_NIC_RX' ],
> +	[ 'HAVE_MLX5DV_DR_ESWITCH', 'infiniband/mlx5dv.h',
> +	'MLX5DV_DR_DOMAIN_TYPE_FDB' ],
> +	[ 'HAVE_MLX5DV_DR_VLAN', 'infiniband/mlx5dv.h',
> +	'mlx5dv_dr_action_create_push_vlan' ],
> +	[ 'HAVE_IBV_VAR', 'infiniband/mlx5dv.h', 'mlx5dv_alloc_var' ],
> +	[ 'HAVE_SUPPORTED_40000baseKR4_Full', 'linux/ethtool.h',
> +	'SUPPORTED_40000baseKR4_Full' ],
> +	[ 'HAVE_SUPPORTED_40000baseCR4_Full', 'linux/ethtool.h',
> +	'SUPPORTED_40000baseCR4_Full' ],
> +	[ 'HAVE_SUPPORTED_40000baseSR4_Full', 'linux/ethtool.h',
> +	'SUPPORTED_40000baseSR4_Full' ],
> +	[ 'HAVE_SUPPORTED_40000baseLR4_Full', 'linux/ethtool.h',
> +	'SUPPORTED_40000baseLR4_Full' ],
> +	[ 'HAVE_SUPPORTED_56000baseKR4_Full', 'linux/ethtool.h',
> +	'SUPPORTED_56000baseKR4_Full' ],
> +	[ 'HAVE_SUPPORTED_56000baseCR4_Full', 'linux/ethtool.h',
> +	'SUPPORTED_56000baseCR4_Full' ],
> +	[ 'HAVE_SUPPORTED_56000baseSR4_Full', 'linux/ethtool.h',
> +	'SUPPORTED_56000baseSR4_Full' ],
> +	[ 'HAVE_SUPPORTED_56000baseLR4_Full', 'linux/ethtool.h',
> +	'SUPPORTED_56000baseLR4_Full' ],
> +	[ 'HAVE_ETHTOOL_LINK_MODE_25G', 'linux/ethtool.h',
> +	'ETHTOOL_LINK_MODE_25000baseCR_Full_BIT' ],
> +	[ 'HAVE_ETHTOOL_LINK_MODE_50G', 'linux/ethtool.h',
> +	'ETHTOOL_LINK_MODE_50000baseCR2_Full_BIT' ],
> +	[ 'HAVE_ETHTOOL_LINK_MODE_100G', 'linux/ethtool.h',
> +	'ETHTOOL_LINK_MODE_100000baseKR4_Full_BIT' ],
> +	[ 'HAVE_IFLA_NUM_VF', 'linux/if_link.h',
> +	'IFLA_NUM_VF' ],
> +	[ 'HAVE_IFLA_EXT_MASK', 'linux/if_link.h',
> +	'IFLA_EXT_MASK' ],
> +	[ 'HAVE_IFLA_PHYS_SWITCH_ID', 'linux/if_link.h',
> +	'IFLA_PHYS_SWITCH_ID' ],
> +	[ 'HAVE_IFLA_PHYS_PORT_NAME', 'linux/if_link.h',
> +	'IFLA_PHYS_PORT_NAME' ],
> +	[ 'HAVE_RDMA_NL_NLDEV', 'rdma/rdma_netlink.h',
> +	'RDMA_NL_NLDEV' ],
> +	[ 'HAVE_RDMA_NLDEV_CMD_GET', 'rdma/rdma_netlink.h',
> +	'RDMA_NLDEV_CMD_GET' ],
> +	[ 'HAVE_RDMA_NLDEV_CMD_PORT_GET', 'rdma/rdma_netlink.h',
> +	'RDMA_NLDEV_CMD_PORT_GET' ],
> +	[ 'HAVE_RDMA_NLDEV_ATTR_DEV_INDEX', 'rdma/rdma_netlink.h',
> +	'RDMA_NLDEV_ATTR_DEV_INDEX' ],
> +	[ 'HAVE_RDMA_NLDEV_ATTR_DEV_NAME', 'rdma/rdma_netlink.h',
> +	'RDMA_NLDEV_ATTR_DEV_NAME' ],
> +	[ 'HAVE_RDMA_NLDEV_ATTR_PORT_INDEX', 'rdma/rdma_netlink.h',
> +	'RDMA_NLDEV_ATTR_PORT_INDEX' ],
> +	[ 'HAVE_RDMA_NLDEV_ATTR_NDEV_INDEX', 'rdma/rdma_netlink.h',
> +	'RDMA_NLDEV_ATTR_NDEV_INDEX' ],
> +	[ 'HAVE_MLX5_DR_FLOW_DUMP', 'infiniband/mlx5dv.h',
> +	'mlx5dv_dump_dr_domain'],
> +	[ 'HAVE_DEVLINK', 'linux/devlink.h', 'DEVLINK_GENL_NAME' ], ]
> config =
> +configuration_data() foreach arg:has_sym_args
> +	config.set(arg[0], cc.has_header_symbol(arg[1], arg[2],
> +		dependencies: libs))
> +endforeach
> +foreach arg:has_member_args
> +	file_prefix = '#include <' + arg[1] + '>'
> +	config.set(arg[0], cc.has_member(arg[2], arg[3],
> +		prefix : file_prefix, dependencies: libs)) endforeach
> +configure_file(output : 'mlx5_autoconf.h', configuration : config)
> +
>  # Build Glue Library
> -if pmd_dlopen and build
> +if pmd_dlopen
>  	dlopen_name = 'mlx5_glue'
>  	dlopen_lib_name = driver_name_fmt.format(dlopen_name)
>  	dlopen_so_version = LIB_GLUE_VERSION
> diff --git a/drivers/net/ipn3ke/meson.build
> b/drivers/net/ipn3ke/meson.build index bfec592aba..f19083af15 100644
> --- a/drivers/net/ipn3ke/meson.build
> +++ b/drivers/net/ipn3ke/meson.build
> @@ -16,16 +16,15 @@ endif
>  if not dep.found()
>  	build = false
>  	reason = 'missing dependency, "libfdt"'
> +	subdir_done()
>  endif
> 
> -if build
> -	allow_experimental_apis = true
> +allow_experimental_apis = true
> 
> -	includes += include_directories('../../raw/ifpga')
> +includes += include_directories('../../raw/ifpga')
> 
> -	sources += files('ipn3ke_ethdev.c',
> -		'ipn3ke_representor.c',
> -		'ipn3ke_tm.c',
> -		'ipn3ke_flow.c')
> -	deps += ['bus_ifpga', 'ethdev', 'sched']
> -endif
> +sources += files('ipn3ke_ethdev.c',
> +	'ipn3ke_representor.c',
> +	'ipn3ke_tm.c',
> +	'ipn3ke_flow.c')
> +deps += ['bus_ifpga', 'ethdev', 'sched']
> diff --git a/drivers/net/mlx4/meson.build b/drivers/net/mlx4/meson.build
> index 0260c5dc59..6d2397b3cc 100644
> --- a/drivers/net/mlx4/meson.build
> +++ b/drivers/net/mlx4/meson.build
> @@ -7,7 +7,6 @@ if not is_linux
>  	reason = 'only supported on Linux'
>  	subdir_done()
>  endif
> -build = true
> 
>  pmd_dlopen = (get_option('ibverbs_link') == 'dlopen')  LIB_GLUE_BASE =
> 'librte_pmd_mlx4_glue.so'
> @@ -33,77 +32,77 @@ foreach libname:libnames
>  	else
>  		build = false
>  		reason = 'missing dependency, "' + libname + '"'
> +		subdir_done()
>  	endif
>  endforeach
> 
> -if build
> -	allow_experimental_apis = true
> -	ext_deps += libs
> -	sources = files(
> -		'mlx4.c',
> -		'mlx4_ethdev.c',
> -		'mlx4_flow.c',
> -		'mlx4_intr.c',
> -		'mlx4_mp.c',
> -		'mlx4_mr.c',
> -		'mlx4_rxq.c',
> -		'mlx4_rxtx.c',
> -		'mlx4_txq.c',
> -		'mlx4_utils.c',
> -	)
> -	if not pmd_dlopen
> -		sources += files('mlx4_glue.c')
> -	endif
> -	cflags_options = [
> -		'-std=c11',
> -		'-Wno-strict-prototypes',
> -		'-D_BSD_SOURCE',
> -		'-D_DEFAULT_SOURCE',
> -		'-D_XOPEN_SOURCE=600'
> -	]
> -	foreach option:cflags_options
> -		if cc.has_argument(option)
> -			cflags += option
> -		endif
> -	endforeach
> -	if get_option('buildtype').contains('debug')
> -		cflags += [ '-pedantic', '-DPEDANTIC' ]
> -	else
> -		cflags += [ '-UPEDANTIC' ]
> +allow_experimental_apis = true
> +ext_deps += libs
> +sources = files(
> +	'mlx4.c',
> +	'mlx4_ethdev.c',
> +	'mlx4_flow.c',
> +	'mlx4_intr.c',
> +	'mlx4_mp.c',
> +	'mlx4_mr.c',
> +	'mlx4_rxq.c',
> +	'mlx4_rxtx.c',
> +	'mlx4_txq.c',
> +	'mlx4_utils.c',
> +)
> +if not pmd_dlopen
> +	sources += files('mlx4_glue.c')
> +endif
> +cflags_options = [
> +	'-std=c11',
> +	'-Wno-strict-prototypes',
> +	'-D_BSD_SOURCE',
> +	'-D_DEFAULT_SOURCE',
> +	'-D_XOPEN_SOURCE=600'
> +]
> +foreach option:cflags_options
> +	if cc.has_argument(option)
> +		cflags += option
>  	endif
> -	# To maintain the compatibility with the make build system
> -	# mlx4_autoconf.h file is still generated.
> -	# input array for meson member search:
> -	# [ "MACRO to define if found", "header for the search",
> -	#   "symbol to search", "struct member to search" ]
> -	#
> -	has_member_args = [
> -		[ 'HAVE_IBV_MLX4_WQE_LSO_SEG', 'infiniband/mlx4dv.h',
> -		'struct mlx4_wqe_lso_seg', 'mss_hdr_size' ],
> -	]
> -	# input array for meson symbol search:
> -	# [ "MACRO to define if found", "header for the search",
> -	#   "symbol to search" ]
> -	has_sym_args = [
> -		[ 'HAVE_IBV_MLX4_BUF_ALLOCATORS',
> 'infiniband/mlx4dv.h',
> -		'MLX4DV_SET_CTX_ATTR_BUF_ALLOCATORS' ],
> -		[ 'HAVE_IBV_MLX4_UAR_MMAP_OFFSET',
> 'infiniband/mlx4dv.h',
> -		'MLX4DV_QP_MASK_UAR_MMAP_OFFSET' ],
> -	]
> -	config = configuration_data()
> -	foreach arg:has_sym_args
> -		config.set(arg[0], cc.has_header_symbol(arg[1], arg[2],
> -			dependencies: libs))
> -	endforeach
> -	foreach arg:has_member_args
> -		file_prefix = '#include <' + arg[1] + '>'
> -		config.set(arg[0], cc.has_member(arg[2], arg[3],
> -			prefix: file_prefix, dependencies: libs))
> -	endforeach
> -	configure_file(output : 'mlx4_autoconf.h', configuration : config)
> +endforeach
> +if get_option('buildtype').contains('debug')
> +	cflags += [ '-pedantic', '-DPEDANTIC' ] else
> +	cflags += [ '-UPEDANTIC' ]
>  endif
> +# To maintain the compatibility with the make build system #
> +mlx4_autoconf.h file is still generated.
> +# input array for meson member search:
> +# [ "MACRO to define if found", "header for the search",
> +#   "symbol to search", "struct member to search" ]
> +#
> +has_member_args = [
> +	[ 'HAVE_IBV_MLX4_WQE_LSO_SEG', 'infiniband/mlx4dv.h',
> +	'struct mlx4_wqe_lso_seg', 'mss_hdr_size' ], ] # input array for
> meson
> +symbol search:
> +# [ "MACRO to define if found", "header for the search",
> +#   "symbol to search" ]
> +has_sym_args = [
> +	[ 'HAVE_IBV_MLX4_BUF_ALLOCATORS', 'infiniband/mlx4dv.h',
> +	'MLX4DV_SET_CTX_ATTR_BUF_ALLOCATORS' ],
> +	[ 'HAVE_IBV_MLX4_UAR_MMAP_OFFSET', 'infiniband/mlx4dv.h',
> +	'MLX4DV_QP_MASK_UAR_MMAP_OFFSET' ],
> +]
> +config = configuration_data()
> +foreach arg:has_sym_args
> +	config.set(arg[0], cc.has_header_symbol(arg[1], arg[2],
> +		dependencies: libs))
> +endforeach
> +foreach arg:has_member_args
> +	file_prefix = '#include <' + arg[1] + '>'
> +	config.set(arg[0], cc.has_member(arg[2], arg[3],
> +		prefix: file_prefix, dependencies: libs)) endforeach
> +configure_file(output : 'mlx4_autoconf.h', configuration : config)
> +
>  # Build Glue Library
> -if pmd_dlopen and build
> +if pmd_dlopen
>  	dlopen_name = 'mlx4_glue'
>  	dlopen_lib_name = driver_name_fmt.format(dlopen_name)
>  	dlopen_so_version = LIB_GLUE_VERSION
> diff --git a/drivers/raw/ifpga/meson.build b/drivers/raw/ifpga/meson.build
> index d4027068d6..e2a4b8cccb 100644
> --- a/drivers/raw/ifpga/meson.build
> +++ b/drivers/raw/ifpga/meson.build
> @@ -8,21 +8,20 @@ endif
>  if not dep.found()
>  	build = false
>  	reason = 'missing dependency, "libfdt"'
> +	subdir_done()
>  endif
> 
> -if build
> -	subdir('base')
> -	objs = [base_objs]
> +subdir('base')
> +objs = [base_objs]
> 
> -	deps += ['ethdev', 'rawdev', 'pci', 'bus_pci', 'kvargs',
> -		'bus_vdev', 'bus_ifpga', 'net', 'pmd_i40e', 'pmd_ipn3ke']
> -	ext_deps += dep
> +deps += ['ethdev', 'rawdev', 'pci', 'bus_pci', 'kvargs',
> +	'bus_vdev', 'bus_ifpga', 'net', 'pmd_i40e', 'pmd_ipn3ke'] ext_deps +=
> +dep
> 
> -	sources = files('ifpga_rawdev.c')
> +sources = files('ifpga_rawdev.c')
> 
> -	includes += include_directories('base')
> -	includes += include_directories('../../net/ipn3ke')
> -	includes += include_directories('../../net/i40e')
> +includes += include_directories('base') includes +=
> +include_directories('../../net/ipn3ke')
> +includes += include_directories('../../net/i40e')
> 
> -	allow_experimental_apis = true
> -endif
> +allow_experimental_apis = true
> --
> 2.25.0

Acked-by: Rosen Xu <rosen.xu@intel.com>

  reply	other threads:[~2020-02-13  0:26 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-16  7:16 [dpdk-dev] [PATCH 0/3] add static ibverbs in meson Thomas Monjalon
2020-01-16  7:16 ` [dpdk-dev] [PATCH 1/3] buildtools: rework static pkg-config script Thomas Monjalon
2020-01-16  7:16 ` [dpdk-dev] [PATCH 2/3] build: allow to hide dependencies from pkg-config Thomas Monjalon
2020-01-17 17:34   ` Bruce Richardson
2020-01-16  7:16 ` [dpdk-dev] [PATCH 3/3] net/mlx: support static ibverbs linkage with meson Thomas Monjalon
2020-01-27 15:43 ` [dpdk-dev] [PATCH v2 0/4] add static ibverbs in meson Thomas Monjalon
2020-01-27 15:43   ` [dpdk-dev] [PATCH v2 1/4] net/mlx: add static ibverbs linkage with meson Thomas Monjalon
2020-01-27 15:44   ` [dpdk-dev] [PATCH v2 2/4] buildtools: get static mlx dependencies for meson Thomas Monjalon
2020-01-29 15:37     ` Bruce Richardson
2020-01-29 17:48       ` Thomas Monjalon
2020-01-29 17:50         ` Bruce Richardson
2020-01-29 18:49           ` Thomas Monjalon
2020-01-29 17:48       ` Bruce Richardson
2020-01-27 15:44   ` [dpdk-dev] [PATCH v2 3/4] build: allow hiding dependencies from pkg-config Thomas Monjalon
2020-01-27 15:44   ` [dpdk-dev] [PATCH v2 4/4] net/mlx: workaround static linkage with meson Thomas Monjalon
2020-02-04 11:48   ` [dpdk-dev] [PATCH v2 0/4] add static ibverbs in meson Bruce Richardson
2020-02-04 14:27     ` Thomas Monjalon
2020-02-04 14:33       ` Bruce Richardson
2020-02-04 15:14         ` Thomas Monjalon
2020-02-04 15:20           ` Bruce Richardson
2020-02-11  1:19   ` [dpdk-dev] [PATCH v3 0/5] mlx ibverbs linking " Thomas Monjalon
2020-02-11  1:19     ` [dpdk-dev] [PATCH v3 1/5] net/mlx: add static ibverbs linkage with meson Thomas Monjalon
2020-02-11  1:19     ` [dpdk-dev] [PATCH v3 2/5] buildtools: get static mlx dependencies for meson Thomas Monjalon
2020-02-11  1:19     ` [dpdk-dev] [PATCH v3 3/5] net/mlx: workaround static linkage with meson Thomas Monjalon
2020-02-11 11:29       ` Bruce Richardson
2020-02-11 11:36         ` Thomas Monjalon
2020-02-11 11:43           ` Bruce Richardson
2020-02-11  1:19     ` [dpdk-dev] [PATCH v3 4/5] net/mlx: rename meson variable for dlopen option Thomas Monjalon
2020-02-11  1:19     ` [dpdk-dev] [PATCH v3 5/5] net/mlx: fix overlinking with meson and glue dlopen Thomas Monjalon
2020-02-11 11:32       ` Bruce Richardson
2020-02-11 11:34         ` Thomas Monjalon
2020-02-11 11:33     ` [dpdk-dev] [PATCH v3 0/5] mlx ibverbs linking in meson Bruce Richardson
2020-02-12  1:59 ` [dpdk-dev] [PATCH v4 0/6] " Thomas Monjalon
2020-02-12  1:59   ` [dpdk-dev] [PATCH v4 1/6] drivers: cleanup meson build variable Thomas Monjalon
2020-02-12  9:26     ` Xu, Rosen
2020-02-12  9:32       ` Thomas Monjalon
2020-02-12 15:04         ` [dpdk-dev] [dpdklab] " Jeremy Plsek
2020-02-12 15:18           ` Jeremy Plsek
2020-02-12 16:30             ` Thomas Monjalon
2020-02-12 16:36               ` Jeremy Plsek
2020-02-12 16:42                 ` Thomas Monjalon
2020-02-12 16:46                   ` Jeremy Plsek
2020-02-12 17:38                     ` Thomas Monjalon
2020-02-12 18:03                       ` Jeremy Plsek
2020-02-12  1:59   ` [dpdk-dev] [PATCH v4 2/6] net/mlx: add static ibverbs linkage with meson Thomas Monjalon
2020-02-12  1:59   ` [dpdk-dev] [PATCH v4 3/6] buildtools: get static mlx dependencies for meson Thomas Monjalon
2020-02-12  1:59   ` [dpdk-dev] [PATCH v4 4/6] net/mlx: workaround static linkage with meson Thomas Monjalon
2020-02-12  1:59   ` [dpdk-dev] [PATCH v4 5/6] net/mlx: rename meson variable for dlopen option Thomas Monjalon
2020-02-12  1:59   ` [dpdk-dev] [PATCH v4 6/6] net/mlx: fix overlinking with meson and glue dlopen Thomas Monjalon
2020-02-12  2:08   ` [dpdk-dev] [PATCH v4 0/6] mlx ibverbs linking in meson Thomas Monjalon
2020-02-12 22:07 ` [dpdk-dev] [PATCH v5 " Thomas Monjalon
2020-02-12 22:07   ` [dpdk-dev] [PATCH v5 1/6] drivers: cleanup meson build variable Thomas Monjalon
2020-02-13  0:25     ` Xu, Rosen [this message]
2020-02-12 22:07   ` [dpdk-dev] [PATCH v5 2/6] net/mlx: add static ibverbs linkage with meson Thomas Monjalon
2020-02-12 22:07   ` [dpdk-dev] [PATCH v5 3/6] buildtools: get static mlx dependencies for meson Thomas Monjalon
2020-02-12 22:07   ` [dpdk-dev] [PATCH v5 4/6] net/mlx: workaround static linkage with meson Thomas Monjalon
2020-02-12 22:07   ` [dpdk-dev] [PATCH v5 5/6] net/mlx: rename meson variable for dlopen option Thomas Monjalon
2020-02-12 22:07   ` [dpdk-dev] [PATCH v5 6/6] net/mlx: fix overlinking with meson and glue dlopen Thomas Monjalon
2020-02-13 13:57   ` [dpdk-dev] [PATCH v5 0/6] mlx ibverbs linking in meson Raslan Darawsheh

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=0E78D399C70DA940A335608C6ED296D73AD57487@SHSMSX104.ccr.corp.intel.com \
    --to=rosen.xu@intel.com \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=matan@mellanox.com \
    --cc=shahafs@mellanox.com \
    --cc=thomas@monjalon.net \
    --cc=tianfei.zhang@intel.com \
    --cc=viacheslavo@mellanox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.