From patchwork Fri Feb 2 12:43:58 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Rybchenko X-Patchwork-Id: 34888 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id ABF71A496; Fri, 2 Feb 2018 13:44:06 +0100 (CET) Received: from dispatch1-us1.ppe-hosted.com (dispatch1-us1.ppe-hosted.com [67.231.154.164]) by dpdk.org (Postfix) with ESMTP id 4D976101B for ; Fri, 2 Feb 2018 13:44:05 +0100 (CET) X-Virus-Scanned: Proofpoint Essentials engine Received: from webmail.solarflare.com (webmail.solarflare.com [12.187.104.26]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1-us1.ppe-hosted.com (Proofpoint Essentials ESMTP Server) with ESMTPS id 27CA0400063; Fri, 2 Feb 2018 12:44:04 +0000 (UTC) Received: from ocex03.SolarFlarecom.com (10.20.40.36) by ocex03.SolarFlarecom.com (10.20.40.36) with Microsoft SMTP Server (TLS) id 15.0.1044.25; Fri, 2 Feb 2018 04:44:01 -0800 Received: from opal.uk.solarflarecom.com (10.17.10.1) by ocex03.SolarFlarecom.com (10.20.40.36) with Microsoft SMTP Server (TLS) id 15.0.1044.25 via Frontend Transport; Fri, 2 Feb 2018 04:44:01 -0800 Received: from uklogin.uk.solarflarecom.com (uklogin.uk.solarflarecom.com [10.17.10.10]) by opal.uk.solarflarecom.com (8.13.8/8.13.8) with ESMTP id w12Ci0US020285; Fri, 2 Feb 2018 12:44:00 GMT Received: from uklogin.uk.solarflarecom.com (localhost.localdomain [127.0.0.1]) by uklogin.uk.solarflarecom.com (8.13.8/8.13.8) with ESMTP id w12Ci0pt008647; Fri, 2 Feb 2018 12:44:00 GMT From: Andrew Rybchenko To: CC: Bruce Richardson , Ivan Malov Date: Fri, 2 Feb 2018 12:43:58 +0000 Message-ID: <1517575438-8609-2-git-send-email-arybchenko@solarflare.com> X-Mailer: git-send-email 1.8.2.3 In-Reply-To: <1517575438-8609-1-git-send-email-arybchenko@solarflare.com> References: <1517575438-8609-1-git-send-email-arybchenko@solarflare.com> MIME-Version: 1.0 X-MDID: 1517575444-mOE30PLEB9F7 Subject: [dpdk-dev] [PATCH 2/2] net/sfc: add support for meson build X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Ivan Malov Signed-off-by: Ivan Malov Signed-off-by: Andrew Rybchenko --- drivers/net/meson.build | 2 +- drivers/net/sfc/base/meson.build | 69 ++++++++++++++++++++++++++++++++++++++++ drivers/net/sfc/meson.build | 61 +++++++++++++++++++++++++++++++++++ 3 files changed, 131 insertions(+), 1 deletion(-) create mode 100644 drivers/net/sfc/base/meson.build create mode 100644 drivers/net/sfc/meson.build diff --git a/drivers/net/meson.build b/drivers/net/meson.build index f19a586..704cbe3 100644 --- a/drivers/net/meson.build +++ b/drivers/net/meson.build @@ -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 diff --git a/drivers/net/sfc/base/meson.build b/drivers/net/sfc/base/meson.build new file mode 100644 index 0000000..fad4d4c --- /dev/null +++ b/drivers/net/sfc/base/meson.build @@ -0,0 +1,69 @@ +# 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 + +base_lib = static_library('sfc_base', sources, + dependencies: static_rte_eal, + c_args: c_args) + +base_objs = base_lib.extract_all_objects() diff --git a/drivers/net/sfc/meson.build b/drivers/net/sfc/meson.build new file mode 100644 index 0000000..b603579 --- /dev/null +++ b/drivers/net/sfc/meson.build @@ -0,0 +1,61 @@ +# 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. + +allow_experimental_apis = true + +extra_flags = [] +extra_flags += '-I' + meson.current_source_dir() + '/base' +extra_flags += '-I' + meson.current_source_dir() +extra_flags += '-O3' + +# 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' +)