6deb19e1b2
As an arrangement to Windows OS support, the Verbs operations should be separated to another file. By this way, the build can easily cut the unsupported Verbs APIs from the compilation process. Define operation structure and DevX module in addition to the existing linux Verbs module. Separate Rx object creation into the Verbs/DevX modules and update the operation structure according to the OS support and the user configuration. Signed-off-by: Michael Baum <michaelba@nvidia.com> Acked-by: Matan Azrad <matan@nvidia.com>
56 lines
1.1 KiB
Meson
56 lines
1.1 KiB
Meson
# SPDX-License-Identifier: BSD-3-Clause
|
|
# Copyright 2018 6WIND S.A.
|
|
# Copyright 2018 Mellanox Technologies, Ltd
|
|
|
|
if not (is_linux or is_windows)
|
|
build = false
|
|
reason = 'only supported on Linux and Windows'
|
|
subdir_done()
|
|
endif
|
|
|
|
deps += ['hash', 'common_mlx5']
|
|
sources = files(
|
|
'mlx5.c',
|
|
'mlx5_ethdev.c',
|
|
'mlx5_flow.c',
|
|
'mlx5_flow_meter.c',
|
|
'mlx5_flow_dv.c',
|
|
'mlx5_flow_verbs.c',
|
|
'mlx5_mac.c',
|
|
'mlx5_mr.c',
|
|
'mlx5_rss.c',
|
|
'mlx5_rxmode.c',
|
|
'mlx5_rxq.c',
|
|
'mlx5_rxtx.c',
|
|
'mlx5_stats.c',
|
|
'mlx5_trigger.c',
|
|
'mlx5_txq.c',
|
|
'mlx5_txpp.c',
|
|
'mlx5_vlan.c',
|
|
'mlx5_utils.c',
|
|
'mlx5_devx.c',
|
|
)
|
|
if (dpdk_conf.has('RTE_ARCH_X86_64')
|
|
or dpdk_conf.has('RTE_ARCH_ARM64')
|
|
or dpdk_conf.has('RTE_ARCH_PPC_64'))
|
|
sources += files('mlx5_rxtx_vec.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' ]
|
|
endif
|
|
subdir(exec_env)
|