net/sfc: support meson build
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
This commit is contained in:
parent
7106c99cb8
commit
bfa8d5990c
@ -4,7 +4,7 @@
|
||||
drivers = ['af_packet', 'bonding',
|
||||
'e1000', 'fm10k', 'i40e', 'ixgbe',
|
||||
'null', 'octeontx', 'pcap', 'ring',
|
||||
'thunderx']
|
||||
'sfc', 'thunderx']
|
||||
std_deps = ['ethdev', 'kvargs'] # 'ethdev' also pulls in mbuf, net, eal etc
|
||||
std_deps += ['bus_pci'] # very many PMDs depend on PCI, so make std
|
||||
std_deps += ['bus_vdev'] # same with vdev bus
|
||||
|
74
drivers/net/sfc/base/meson.build
Normal file
74
drivers/net/sfc/base/meson.build
Normal file
@ -0,0 +1,74 @@
|
||||
# Copyright (c) 2016-2018 Solarflare Communications Inc.
|
||||
# All rights reserved.
|
||||
#
|
||||
# This software was jointly developed between OKTET Labs (under contract
|
||||
# for Solarflare) and Solarflare Communications, Inc.
|
||||
|
||||
sources = [
|
||||
'efx_bootcfg.c',
|
||||
'efx_crc32.c',
|
||||
'efx_ev.c',
|
||||
'efx_filter.c',
|
||||
'efx_hash.c',
|
||||
'efx_intr.c',
|
||||
'efx_lic.c',
|
||||
'efx_mac.c',
|
||||
'efx_mcdi.c',
|
||||
'efx_mon.c',
|
||||
'efx_nic.c',
|
||||
'efx_nvram.c',
|
||||
'efx_phy.c',
|
||||
'efx_port.c',
|
||||
'efx_rx.c',
|
||||
'efx_sram.c',
|
||||
'efx_tunnel.c',
|
||||
'efx_tx.c',
|
||||
'efx_vpd.c',
|
||||
'mcdi_mon.c',
|
||||
'siena_mac.c',
|
||||
'siena_mcdi.c',
|
||||
'siena_nic.c',
|
||||
'siena_nvram.c',
|
||||
'siena_phy.c',
|
||||
'siena_sram.c',
|
||||
'siena_vpd.c',
|
||||
'ef10_ev.c',
|
||||
'ef10_filter.c',
|
||||
'ef10_intr.c',
|
||||
'ef10_mac.c',
|
||||
'ef10_mcdi.c',
|
||||
'ef10_nic.c',
|
||||
'ef10_nvram.c',
|
||||
'ef10_phy.c',
|
||||
'ef10_rx.c',
|
||||
'ef10_tx.c',
|
||||
'ef10_vpd.c',
|
||||
'hunt_nic.c',
|
||||
'medford_nic.c'
|
||||
]
|
||||
|
||||
extra_flags = [
|
||||
'-Wno-sign-compare',
|
||||
'-Wno-unused-parameter',
|
||||
'-Wno-unused-variable',
|
||||
'-Wno-empty-body',
|
||||
'-Wno-unused-but-set-variable'
|
||||
]
|
||||
|
||||
c_args = cflags
|
||||
foreach flag: extra_flags
|
||||
if cc.has_argument(flag)
|
||||
c_args += flag
|
||||
endif
|
||||
endforeach
|
||||
|
||||
if build
|
||||
base_lib = static_library('sfc_base', sources,
|
||||
include_directories: includes,
|
||||
dependencies: static_rte_eal,
|
||||
c_args: c_args)
|
||||
|
||||
base_objs = base_lib.extract_all_objects()
|
||||
else
|
||||
base_objs = []
|
||||
endif
|
64
drivers/net/sfc/meson.build
Normal file
64
drivers/net/sfc/meson.build
Normal file
@ -0,0 +1,64 @@
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
#
|
||||
# Copyright (c) 2016-2018 Solarflare Communications Inc.
|
||||
# All rights reserved.
|
||||
#
|
||||
# This software was jointly developed between OKTET Labs (under contract
|
||||
# for Solarflare) and Solarflare Communications, Inc.
|
||||
|
||||
if arch_subdir != 'x86'
|
||||
build = false
|
||||
endif
|
||||
|
||||
allow_experimental_apis = true
|
||||
|
||||
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 += [
|
||||
'-Wextra',
|
||||
'-Wdisabled-optimization'
|
||||
]
|
||||
|
||||
# Compiler and version dependent flags
|
||||
extra_flags += [
|
||||
'-Waggregate-return',
|
||||
'-Wnested-externs',
|
||||
'-Wbad-function-cast'
|
||||
]
|
||||
|
||||
# Suppress ICC false positive warning on 'bulk' may be used before its
|
||||
# value is set
|
||||
extra_flags += '-wd3656'
|
||||
|
||||
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_tx.c'
|
||||
)
|
||||
|
||||
includes += include_directories('base')
|
Loading…
x
Reference in New Issue
Block a user