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