From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 9527F1B5B4 for ; Thu, 10 Jan 2019 11:02:25 +0100 (CET) X-Amp-Result: UNSCANNABLE X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 10 Jan 2019 02:02:24 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,460,1539673200"; d="scan'208";a="124941717" Received: from bricha3-mobl.ger.corp.intel.com ([10.237.221.54]) by orsmga002.jf.intel.com with SMTP; 10 Jan 2019 02:02:22 -0800 Received: by (sSMTP sendmail emulation); Thu, 10 Jan 2019 10:02:21 +0000 Date: Thu, 10 Jan 2019 10:02:21 +0000 From: Bruce Richardson To: Thomas Monjalon Cc: "Burakov, Anatoly" , David Marchand , dev@dpdk.org Message-ID: <20190110100220.GA13196@bricha3-MOBL.ger.corp.intel.com> References: <98ec658513d481f8d22c8b438cc3fedc4a718d3f.1547054251.git.anatoly.burakov@intel.com> <1557339.2CBSiR8abE@xps> <2632071.H5f8aPozaM@xps> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <2632071.H5f8aPozaM@xps> Organization: Intel Research and Development Ireland Ltd. User-Agent: Mutt/1.10.1 (2018-07-13) Subject: Re: [dpdk-dev] [PATCH] eal: move compat includes to common meson file 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: , X-List-Received-Date: Thu, 10 Jan 2019 10:02:26 -0000 On Thu, Jan 10, 2019 at 09:52:43AM +0100, Thomas Monjalon wrote: > 10/01/2019 09:45, Burakov, Anatoly: > > On 09-Jan-19 9:36 PM, Thomas Monjalon wrote: > > > 09/01/2019 21:51, Bruce Richardson: > > >> On Wed, Jan 09, 2019 at 06:29:32PM +0100, David Marchand wrote: > > >>> On Wed, Jan 9, 2019 at 6:18 PM Anatoly Burakov > > >>> <[1]anatoly.burakov@intel.com> wrote: > > >>> > > >>> Currently, while EAL does depend on librte_compat as far as common > > >>> meson build is concerned, for some reason the headers for that > > >>> library are not added into the list of includes. This is fixed in > > >>> Linuxapp-specific meson file, but is absent from FreeBSD meson file. > > >>> This worked fine up until recently, when an rte_compat dependency > > >>> was added to rte_log, which is a common header. Fix this issue by > > >>> adding librte_compat includes to common EAL meson file. > > >>> Fixes: 844514c73569 ("eal: build with meson") > > >>> Fixes: a8499f65a1d1 ("log: add missing experimental tag") > > >>> Cc: [2]bruce.richardson@intel.com > > >>> Cc: [3]david.marchand@redhat.com > > >>> Cc: [4]stable@dpdk.org > > >>> Signed-off-by: Anatoly Burakov <[5]anatoly.burakov@intel.com> > > >>> > > >>> lgtm, thanks. > > >>> Reviewed-by: David Marchand <[6]david.marchand@redhat.com> > > >>> -- > > >>> David Marchand > > >>> > > >> Agreed. > > >> One other point I'd make is that having compat as a separate library seems > > >> a little like overkill to me - it's just one header file! Is there a reason > > >> why we don't just move it into the EAL where everyone can use it without > > >> having to specify another dependency? > > > > > > +1 for moving compat into EAL. > > > > > > > Presumably the reason to keep it separate would be to enable depending > > on it for libraries that EAL itself depends on (i.e. kvargs). > > Yes, forgot this one. > I also forgot that. However, that does bring up the thought that for some of our headers we may want them available for all libraries even before EAL is compiled up. [I think this hits on the idea Thomas was discussing of splitting EAL up into two, where we have a core part that is always compiled first and has no dependencies followed by another which is built later and can have dependencies.] For this specific issue, my thought is that we should indeed move compat.h into EAL, but also add the EAL common/include/ path to the global include path for the project, so all EAL headers (e.g. including those with defines for cacheline size, and other common macros) are just always available. Libs like kvargs and others should be able to use RTE_DIM etc. for consistency with the rest of DPDK. /Bruce