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 9if arch_subdir != 'x86' or not dpdk_conf.get('RTE_ARCH_64') 10 build = false 11 reason = 'only supported on x86_64' 12endif 13 14allow_experimental_apis = true 15 16extra_flags = [] 17 18# Strict-aliasing rules are violated by rte_eth_link to uint64_t casts 19extra_flags += '-Wno-strict-aliasing' 20 21# Enable more warnings 22extra_flags += [ 23 '-Wextra', 24 '-Wdisabled-optimization' 25] 26 27# Compiler and version dependent flags 28extra_flags += [ 29 '-Waggregate-return', 30 '-Wnested-externs', 31 '-Wbad-function-cast' 32] 33 34foreach flag: extra_flags 35 if cc.has_argument(flag) 36 cflags += flag 37 endif 38endforeach 39 40subdir('base') 41objs = [base_objs] 42 43sources = files( 44 'sfc_ethdev.c', 45 'sfc_kvargs.c', 46 'sfc.c', 47 'sfc_mcdi.c', 48 'sfc_intr.c', 49 'sfc_ev.c', 50 'sfc_port.c', 51 'sfc_rx.c', 52 'sfc_tx.c', 53 'sfc_tso.c', 54 'sfc_filter.c', 55 'sfc_flow.c', 56 'sfc_dp.c', 57 'sfc_ef10_rx.c', 58 'sfc_ef10_essb_rx.c', 59 'sfc_ef10_tx.c' 60) 61 62includes += include_directories('base') 63