summaryrefslogtreecommitdiffstats
path: root/src/spdk/dpdk/drivers/net/sfc/meson.build
blob: 35c05ac1dd1a109aa7f806c44d34be09a205302b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# SPDX-License-Identifier: BSD-3-Clause
#
# Copyright(c) 2019-2020 Xilinx, Inc.
# Copyright(c) 2016-2019 Solarflare Communications Inc.
#
# This software was jointly developed between OKTET Labs (under contract
# for Solarflare) and Solarflare Communications, Inc.

if arch_subdir != 'x86' or not dpdk_conf.get('RTE_ARCH_64')
	build = false
	reason = 'only supported on x86_64'
endif

extra_flags = []

# Strict-aliasing rules are violated by rte_eth_link to uint64_t casts
extra_flags += '-Wno-strict-aliasing'

# Enable more warnings
extra_flags += [
	'-Wdisabled-optimization'
]

# Compiler and version dependent flags
extra_flags += [
	'-Waggregate-return',
	'-Wbad-function-cast'
]

foreach flag: extra_flags
	if cc.has_argument(flag)
		cflags += flag
	endif
endforeach

subdir('base')
objs = [base_objs]

sources = files(
	'sfc_ethdev.c',
	'sfc_kvargs.c',
	'sfc.c',
	'sfc_mcdi.c',
	'sfc_intr.c',
	'sfc_ev.c',
	'sfc_port.c',
	'sfc_rx.c',
	'sfc_tx.c',
	'sfc_tso.c',
	'sfc_filter.c',
	'sfc_flow.c',
	'sfc_dp.c',
	'sfc_ef10_rx.c',
	'sfc_ef10_essb_rx.c',
	'sfc_ef10_tx.c'
)

includes += include_directories('base')