summaryrefslogtreecommitdiffstats
path: root/src/spdk/dpdk/drivers/net/sfc/meson.build
diff options
context:
space:
mode:
Diffstat (limited to 'src/spdk/dpdk/drivers/net/sfc/meson.build')
-rw-r--r--src/spdk/dpdk/drivers/net/sfc/meson.build58
1 files changed, 58 insertions, 0 deletions
diff --git a/src/spdk/dpdk/drivers/net/sfc/meson.build b/src/spdk/dpdk/drivers/net/sfc/meson.build
new file mode 100644
index 000000000..35c05ac1d
--- /dev/null
+++ b/src/spdk/dpdk/drivers/net/sfc/meson.build
@@ -0,0 +1,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')