xref: /dpdk/drivers/net/mlx5/meson.build (revision f96a8ebb)
1# SPDX-License-Identifier: BSD-3-Clause
2# Copyright 2018 6WIND S.A.
3# Copyright 2018 Mellanox Technologies, Ltd
4
5if not (is_linux or is_windows)
6	build = false
7	reason = 'only supported on Linux and Windows'
8	subdir_done()
9endif
10
11deps += ['hash', 'common_mlx5']
12sources = files(
13	'mlx5.c',
14	'mlx5_ethdev.c',
15	'mlx5_flow.c',
16	'mlx5_flow_meter.c',
17	'mlx5_flow_dv.c',
18        'mlx5_flow_age.c',
19	'mlx5_mac.c',
20	'mlx5_mr.c',
21	'mlx5_rss.c',
22	'mlx5_rx.c',
23	'mlx5_rxmode.c',
24	'mlx5_rxq.c',
25	'mlx5_rxtx.c',
26	'mlx5_stats.c',
27	'mlx5_trigger.c',
28	'mlx5_tx.c',
29	'mlx5_tx_empw.c',
30	'mlx5_tx_mpw.c',
31	'mlx5_tx_nompw.c',
32	'mlx5_tx_txpp.c',
33	'mlx5_txq.c',
34	'mlx5_txpp.c',
35	'mlx5_vlan.c',
36	'mlx5_utils.c',
37	'mlx5_devx.c',
38)
39
40if is_linux
41	sources += files(
42		'mlx5_flow_verbs.c',
43	)
44	if (dpdk_conf.has('RTE_ARCH_X86_64')
45		or dpdk_conf.has('RTE_ARCH_ARM64')
46		or dpdk_conf.has('RTE_ARCH_PPC_64'))
47		sources += files('mlx5_rxtx_vec.c')
48	endif
49endif
50
51cflags_options = [
52	'-std=c11',
53	'-Wno-strict-prototypes',
54	'-D_BSD_SOURCE',
55	'-D_DEFAULT_SOURCE',
56	'-D_XOPEN_SOURCE=600'
57]
58foreach option:cflags_options
59	if cc.has_argument(option)
60		cflags += option
61	endif
62endforeach
63if get_option('buildtype').contains('debug')
64	cflags += [ '-pedantic', '-DPEDANTIC' ]
65else
66	cflags += [ '-UPEDANTIC' ]
67endif
68subdir(exec_env)
69