[v5,1/6] drivers: cleanup meson build variable
Checks
Commit Message
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(-)
Comments
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>
@@ -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
@@ -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']
@@ -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
@@ -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