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