From patchwork Mon Feb 5 12:30:27 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 34970 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 9D4B51B344; Mon, 5 Feb 2018 13:30:33 +0100 (CET) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id C4F301B339 for ; Mon, 5 Feb 2018 13:30:31 +0100 (CET) X-Amp-Result: UNSCANNABLE X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 05 Feb 2018 04:30:30 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.46,464,1511856000"; d="scan'208";a="198700603" Received: from bricha3-mobl3.ger.corp.intel.com ([10.237.221.77]) by orsmga005.jf.intel.com with SMTP; 05 Feb 2018 04:30:28 -0800 Received: by (sSMTP sendmail emulation); Mon, 05 Feb 2018 12:30:27 +0000 Date: Mon, 5 Feb 2018 12:30:27 +0000 From: Bruce Richardson To: Andrew Rybchenko Cc: dev@dpdk.org, Ivan Malov Message-ID: <20180205123027.GA15752@bricha3-MOBL3.ger.corp.intel.com> References: <1517575438-8609-1-git-send-email-arybchenko@solarflare.com> <1517665594-3303-1-git-send-email-arybchenko@solarflare.com> <1517665594-3303-2-git-send-email-arybchenko@solarflare.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <1517665594-3303-2-git-send-email-arybchenko@solarflare.com> Organization: Intel Research and Development Ireland Ltd. User-Agent: Mutt/1.9.1 (2017-09-22) Subject: Re: [dpdk-dev] [PATCH v2 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" On Sat, Feb 03, 2018 at 01:46:34PM +0000, Andrew Rybchenko wrote: > From: Ivan Malov > > Signed-off-by: Ivan Malov > Signed-off-by: Andrew Rybchenko > --- > v2: > - use includes to extend include directories set > - limit to x86 architecture > - specify include directories in base driver build > - remove unnecessary optimization level set and driver dir from includes > > drivers/net/meson.build | 2 +- > drivers/net/sfc/base/meson.build | 70 ++++++++++++++++++++++++++++++++++++++++ > drivers/net/sfc/meson.build | 64 ++++++++++++++++++++++++++++++++++++ > 3 files changed, 135 insertions(+), 1 deletion(-) > create mode 100644 drivers/net/sfc/base/meson.build > create mode 100644 drivers/net/sfc/meson.build > Thanks, this looks a lot better. Unfortunately, it still doesn't compile on ARM, though that is more an issue with the drivers/meson.build file, than a bug with your driver specifically. :-( Right now, the base code libraries are still compiled even when build = "false" because those targets are provided in the per-driver meson.build files, rather than managed at the top level one. To properly fix this, in 18.05 I think we should add support at the top-level driver file for base directories, since so many drivers use them. That will move the building of base code to the protection of "build" flag. However, since this set doesn't affect any other components, I'd like to get this into 18.02. To fix it, the following changes need to be made to your patch. If you are ok with these, I can add these changes on apply. Regards, /Bruce diff --git a/drivers/net/sfc/base/meson.build b/drivers/net/sfc/base/meson.build index f8314a9bc..f1e497356 100644 --- a/drivers/net/sfc/base/meson.build +++ b/drivers/net/sfc/base/meson.build @@ -62,9 +62,13 @@ foreach flag: extra_flags endif endforeach -base_lib = static_library('sfc_base', sources, - include_directories: includes, - dependencies: static_rte_eal, - c_args: c_args) +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() + base_objs = base_lib.extract_all_objects() +else + base_objs = [] +endif