8c54f9d5489a3154c1d397c2c97b4bddacf042a7
[dpdk.git] / drivers / net / sfc / meson.build
1 # SPDX-License-Identifier: BSD-3-Clause
2 #
3 # Copyright (c) 2016-2018 Solarflare Communications Inc.
4 # All rights reserved.
5 #
6 # This software was jointly developed between OKTET Labs (under contract
7 # for Solarflare) and Solarflare Communications, Inc.
8
9 if arch_subdir != 'x86' or not dpdk_conf.get('RTE_ARCH_64')
10         build = false
11         reason = 'only supported on x86_64'
12 endif
13
14 allow_experimental_apis = true
15
16 extra_flags = []
17
18 # Strict-aliasing rules are violated by rte_eth_link to uint64_t casts
19 extra_flags += '-Wno-strict-aliasing'
20
21 # Enable more warnings
22 extra_flags += [
23         '-Wdisabled-optimization'
24 ]
25
26 # Compiler and version dependent flags
27 extra_flags += [
28         '-Waggregate-return',
29         '-Wbad-function-cast'
30 ]
31
32 foreach flag: extra_flags
33         if cc.has_argument(flag)
34                 cflags += flag
35         endif
36 endforeach
37
38 subdir('base')
39 objs = [base_objs]
40
41 sources = files(
42         'sfc_ethdev.c',
43         'sfc_kvargs.c',
44         'sfc.c',
45         'sfc_mcdi.c',
46         'sfc_intr.c',
47         'sfc_ev.c',
48         'sfc_port.c',
49         'sfc_rx.c',
50         'sfc_tx.c',
51         'sfc_tso.c',
52         'sfc_filter.c',
53         'sfc_flow.c',
54         'sfc_dp.c',
55         'sfc_ef10_rx.c',
56         'sfc_ef10_essb_rx.c',
57         'sfc_ef10_tx.c'
58 )
59
60 includes += include_directories('base')