From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com [66.111.4.28]) by dpdk.org (Postfix) with ESMTP id A62B3231E for ; Wed, 18 Oct 2017 13:20:13 +0200 (CEST) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 212232088A; Wed, 18 Oct 2017 07:20:13 -0400 (EDT) Received: from frontend2 ([10.202.2.161]) by compute1.internal (MEProxy); Wed, 18 Oct 2017 07:20:13 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-sender :x-me-sender:x-sasl-enc; s=mesmtp; bh=eQiVdJTP8pgLZj/bZmLS5u42wv AwJx1vwzOuUcpZ/0s=; b=gXTkjtcWMNBuz58f8VWiE4kcIJjKdYX+QuSSllmqiZ U68JyZaEQxmMyvkRwuJ0WGG6/aYdGnj4j9NQF4X5RP4L7lKzAQ8nzxmy6+ItANZB tzPaU2VvCEBtfPFLO8VuwvT7xBE4aOWHnnqU6fftQBrAQBBwxxpPzEXKg66udnmN E= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=eQiVdJ TP8pgLZj/bZmLS5u42wvAwJx1vwzOuUcpZ/0s=; b=a9LTrPgW71b3mzaoiyjpCJ JZ+tDplFlURCohbvLqddS+h6TTBZBm05QcNAL3HwW36exzd8A0lDKO1Na2sFSHnO mjXCluIRvOcVL/0Fx4Jj/atLy/JUzxzv6chfZ/MfsW8aNGv3X+c1PhScw1ZaQ3pI F1/ysD3UcNafLEJdkoVWhwV8rvCx1pZAu4O7R+rriELrfjxijf4bgb0cn4/26X90 Azkqf5ZrPnynva81lasZ0bnbWQ8hYsvG1f9j4TbY5GFD08bBXkPfGXwPF57u91ur lA1WvjKGjoGAqlSqeBwtxebGix4kR7FW+o25QGqOmi0hKVGG8/5otkpcOI3JSb6w == X-ME-Sender: Received: from xps.localnet (184.203.134.77.rev.sfr.net [77.134.203.184]) by mail.messagingengine.com (Postfix) with ESMTPA id AE7BE2473E; Wed, 18 Oct 2017 07:20:12 -0400 (EDT) From: Thomas Monjalon To: Bruce Richardson , Luca Boccassi Cc: dev@dpdk.org, olivier.matz@6wind.com, sergio.gonzalez.monroy@intel.com Date: Wed, 18 Oct 2017 13:20:11 +0200 Message-ID: <1513381.i2vAoANOoE@xps> In-Reply-To: <20171018095149.GA14720@bricha3-MOBL3.ger.corp.intel.com> References: <20171017161220.59941-1-bruce.richardson@intel.com> <20171018093548.GA15216@bricha3-MOBL3.ger.corp.intel.com> <20171018095149.GA14720@bricha3-MOBL3.ger.corp.intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Subject: Re: [dpdk-dev] [PATCH 1/8] build: add maths library to libs in pkg-config 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: Wed, 18 Oct 2017 11:20:13 -0000 18/10/2017 11:51, Bruce Richardson: > On Wed, Oct 18, 2017 at 10:35:48AM +0100, Bruce Richardson wrote: > > On Tue, Oct 17, 2017 at 07:17:09PM +0100, Luca Boccassi wrote: > > > On Tue, 2017-10-17 at 19:11 +0100, Luca Boccassi wrote: > > > > On Tue, 2017-10-17 at 17:12 +0100, Bruce Richardson wrote: > > > > > Since a number of libraries depend on the maths lib, as well as > > > > > adding it > > > > > to the project args, we also need to add it to the pkgconfig file > > > > > args. > > > > > > > > > > Signed-off-by: Bruce Richardson > > > > > --- > > > > > config/meson.build | 1 + > > > > > 1 file changed, 1 insertion(+) > > > > > > > > > > diff --git a/config/meson.build b/config/meson.build > > > > > index db68a08d4..542fea4de 100644 > > > > > --- a/config/meson.build > > > > > +++ b/config/meson.build > > > > > @@ -35,6 +35,7 @@ dpdk_conf.set('RTE_MACHINE', machine) > > > > > add_project_arguments('-march=@0@'.format(machine), language: 'c') > > > > > # some libs depend on maths lib > > > > > add_project_link_arguments('-lm', language: 'c') > > > > > +dpdk_extra_ldflags += '-lm' > > > > > > > > > > # add -include rte_config to cflags > > > > > add_project_arguments('-include', 'rte_config.h', language: 'c') > > > > > > > > This is for static builds, right? If so it should go into the > > > > Libs.private section of the .pc file, so that it's only used when > > > > calling pkg-config --static --libs > > > > > > Bit of a brain fart - what I meant is, in order to have static builds > > > work out of the box with pkg-config --static, -lm (and any other > > > dependency used internally) could also be added to Libs.private in the > > > .pc > > > > Does that not assume that both static and dynamic libs are installed > > side-by-side? In DPDK case, we will either build static libs or shared > > libs, but not both. If we require applications to use different > > pkg-config commands depending on the type of DPDK build that was done, > > it makes things awkward for the apps. Right now by putting all libs and > > flags into the libs section of pkgconfig, and having the build system > > track whether it's static or dynamic and therefore what is actually > > necessary, we end up in a case where apps can be built against DPDK > > irrespective of the actual build type done. For this particular -lm > > flag, for instance, it only appears in the .pc file for static builds. > > > > See the patches for the sample app Makefiles. Not sure how that can be > > made to work if we use different pkg-config settings for different build > > types. > > > > Your input and suggestions here would be welcome. > > > > +Thomas, Olivier, Sergio to get more input > > Thinking about it some more, is there any reason why we can't or > shouldn't do both static and dynamic libs in all builds, and then let > apps use pkg-config to determine what they want to link against? It > wouldn't be a massive change to the new build system to do that, I > think. Let's add a bit more complexity :) It can be possible to link some libraries as static and others as dynamic. One use case is to take advantage of the plugin packaging of PMDs while trying to get more optimizations with static core libraries.