From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <luca.boccassi@gmail.com>
Received: from mail-wm1-f66.google.com (mail-wm1-f66.google.com
 [209.85.128.66]) by dpdk.org (Postfix) with ESMTP id 45F2E1BC00;
 Fri, 11 Jan 2019 15:56:30 +0100 (CET)
Received: by mail-wm1-f66.google.com with SMTP id f188so2640417wmf.5;
 Fri, 11 Jan 2019 06:56:30 -0800 (PST)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to
 :references:content-transfer-encoding:mime-version;
 bh=XgdOvQxdEJpiRc3+dTW85NbAYGcU8Pjm2vIo/pSyD1g=;
 b=eMiOIOIxeaa5Dc6RDJwDYHc22pM1GGVh8yeug7Pj4TZvLuSVg/s1KPNXqgpmlwceBp
 FSIxC0DLRosX6fpytA4XlZM/0qwV5CID1Sgap0TWz062iMcDYiL+4MGZkWI2NNHRZws4
 lABHJrq+yJCHV4ez8PEJnW8QQ90Kx4d48RGP+RnOVN9O0H5UCOpT5Q1KXGZIKSym7S9K
 eSQkBUouPHGMFWE/7RtEaCGhhggC1GC7eid5fd7vTlgVDV9irqNBW/j9usqMZ2aPioaE
 KHOVwhYHRGL2DKQcFB5lzzqBQJ2sNAIxLyJO/UCSbkt3II8DZEpn7tshF6ETn9Ng6it7
 yduw==
X-Gm-Message-State: AJcUukd+ZENv3SgDaRAamYwgWnEizGBPsNQ/ZSThpOV6RHqKf7bpKnSy
 ORRj3qUrNjNT4e9su8tiGBRaUO/vTOI=
X-Google-Smtp-Source: ALg8bN6GffiqaZF4abgKvXKAXwl0mHXVgrsp51N/TzaRWOivQ7IdKFAosrmXkm/mucg5wLnEs44OBg==
X-Received: by 2002:a1c:e345:: with SMTP id a66mr2576144wmh.12.1547218589689; 
 Fri, 11 Jan 2019 06:56:29 -0800 (PST)
Received: from localhost ([2a01:4b00:f419:6f00:8361:8946:ba2b:d556])
 by smtp.gmail.com with ESMTPSA id f2sm68775141wre.34.2019.01.11.06.56.28
 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256);
 Fri, 11 Jan 2019 06:56:28 -0800 (PST)
Message-ID: <1547218588.4501.14.camel@debian.org>
From: Luca Boccassi <bluca@debian.org>
To: Bruce Richardson <bruce.richardson@intel.com>
Cc: dev@dpdk.org, stable@dpdk.org
Date: Fri, 11 Jan 2019 14:56:28 +0000
In-Reply-To: <20190111142440.GA15912@bricha3-MOBL.ger.corp.intel.com>
References: <20190103175725.5836-1-bluca@debian.org>
 <20190103175725.5836-2-bluca@debian.org>
 <20190107142812.GB14912@bricha3-MOBL.ger.corp.intel.com>
 <1546879174.6022.24.camel@debian.org>
 <20190107165552.GA23828@bricha3-MOBL.ger.corp.intel.com>
 <1547205028.4501.9.camel@debian.org>
 <20190111115254.GA3336@bricha3-MOBL.ger.corp.intel.com>
 <1547210363.4501.10.camel@debian.org>
 <20190111142440.GA15912@bricha3-MOBL.ger.corp.intel.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Mailer: Evolution 3.22.6-1+deb9u1 
Mime-Version: 1.0
Subject: Re: [dpdk-dev] [dpdk-stable] [PATCH 2/2] build: use dependency()
 instead of find_library()
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Fri, 11 Jan 2019 14:56:30 -0000

On Fri, 2019-01-11 at 14:24 +0000, Bruce Richardson wrote:
> On Fri, Jan 11, 2019 at 12:39:23PM +0000, Luca Boccassi wrote:
> > On Fri, 2019-01-11 at 11:52 +0000, Bruce Richardson wrote:
> > > On Fri, Jan 11, 2019 at 11:10:28AM +0000, Luca Boccassi wrote:
> > > > On Mon, 2019-01-07 at 16:55 +0000, Bruce Richardson wrote:
> > > > > On Mon, Jan 07, 2019 at 04:39:34PM +0000, Luca Boccassi
> > > > > wrote:
> > > > > > On Mon, 2019-01-07 at 14:28 +0000, Bruce Richardson wrote:
> > > > > > > On Thu, Jan 03, 2019 at 06:57:25PM +0100, Luca Boccassi
> > > > > > > wrote:
> > > > > > > > For libbsd, which is checked in a top level file and
> > > > > > > > used
> > > > > > > > to be
> > > > > > > > added
> > > > > > > > to the global linker flags array, add it to the
> > > > > > > > ext_deps
> > > > > > > > array
> > > > > > > > of
> > > > > > > > all top level meson files (app, test, lib, examples,
> > > > > > > > drivers).
> > > > > > > > The
> > > > > > > > most correct change would be to let each individual
> > > > > > > > library/driver/app
> > > > > > > > depend on it individually if they use symbols from it,
> > > > > > > > but
> > > > > > > > it
> > > > > > > > would
> > > > > > > > diverge from the legacy Makefile's behaviour and make
> > > > > > > > life
> > > > > > > > a
> > > > > > > > bit
> > > > > > > > more
> > > > > > > > difficult for contributors.
> > > > > > >=20
> > > > > > > It shouldn't be necessary to add libbsd as a dependency
> > > > > > > for
> > > > > > > everything. I
> > > > > > > think just adding it as a dependency of EAL should work
> > > > > > > fine.=C2=A0
> > > > > >=20
> > > > > > Won't that mean that the shared libraries other than EAL
> > > > > > will
> > > > > > have
> > > > > > undefined references?
> > > > >=20
> > > > > Should not happen. AFAIK when you link against a library in
> > > > > meson
> > > > > it
> > > > > will
> > > > > also link against any of that libraries dependencies too. For
> > > > > shared
> > > > > libraries meson always disallowed undefined references in the
> > > > > linker
> > > > > commandline. [To have libs with undefined refs, e.g. plugins,
> > > > > you
> > > > > need to
> > > > > use "shared_module" rather than "shared_library" command].
> > > >=20
> > > > Looked at this again, and rte_cmdline is using strlcpy as well,
> > > > and
> > > > it's built before rte_eal, so it fails:
> > > >=20
> > > > lib/76b5a35@@rte_cmdline@sta/librte_cmdline_cmdline_parse.c.o:
> > > > In
> > > > function `cmdline_complete':
> > > > cmdline_parse.c:(.text+0x861): undefined reference to `strlcpy'
> > > >=20
> > > > Adding it to ext_deps in both rte_cmdline and rte_eal works. Is
> > > > that an acceptable compromise?
> > > >=20
> > >=20
> > > Sure. If eal has a dependency on cmdline, you probably don't need
> > > to
> > > add it
> > > as an external dependency to EAL too, but it doesn't really hurt
> > > to
> > > do so.
> > >=20
> > > /Bruce
> >=20
> > eal does not depend on cmdline, so added in both in v2. I also
> > split
> > the libbsd change and meson bump to 0.47.1 in a separate commit in
> > the
> > series.
> >=20
> > --=C2=A0
>=20
> If there is no dependency, why is it being built first?

Comment says "ethdev depends on cmdline for parsing functions"

https://git.dpdk.org/dpdk/tree/lib/meson.build#n12

--=20
Kind regards,
Luca Boccassi