[dpdk-dev] [PATCH v3 2/4] build: use dependency() instead of find_library()
Luca Boccassi
bluca at debian.org
Fri Jan 11 19:16:23 CET 2019
On Fri, 2019-01-11 at 17:21 +0000, Bruce Richardson wrote:
> On Fri, Jan 11, 2019 at 04:26:06PM +0000, Luca Boccassi wrote:
> > Whenever possible (if the library ships a pkg-config file) use
> > meson's
> > dependency() function to look for it, as it will automatically add
> > it
> > to the Requires.private list if needed, to allow for static builds
> > to
> > succeed for reverse dependencies of DPDK. Otherwise the recursive
> > dependencies are not parsed, and users doing static builds have to
> > resolve them manually by themselves.
> > When using this API avoid additional checks that are superfluos and
>
> Spelling: superfluous
I _always_ get that one wrong :-)
> > take extra time, and avoid adding the linker flag manually which
> > causes
> > it to be duplicated.
> >
> > Signed-off-by: Luca Boccassi <bluca at debian.org>
> > ---
> > v2: split libbsd change in a separate commit, remove CC to stable
> > as a meson bump will be required
> >
> > drivers/crypto/ccp/meson.build | 1 -
> > drivers/crypto/openssl/meson.build | 1 -
> > drivers/crypto/qat/meson.build | 1 -
> > drivers/meson.build | 2 +-
> > drivers/net/bnx2x/meson.build | 2 +-
> > drivers/net/mlx4/meson.build | 6 +++---
> > drivers/net/mlx5/meson.build | 6 +++---
> > drivers/net/pcap/meson.build | 5 ++---
> > lib/librte_bpf/meson.build | 4 ++--
> > lib/librte_telemetry/meson.build | 2 +-
> > 10 files changed, 13 insertions(+), 17 deletions(-)
> >
> > diff --git a/drivers/crypto/ccp/meson.build
> > b/drivers/crypto/ccp/meson.build
> > index e43b00591..915c4c854 100644
> > --- a/drivers/crypto/ccp/meson.build
> > +++ b/drivers/crypto/ccp/meson.build
> > @@ -18,4 +18,3 @@ sources = files('rte_ccp_pmd.c',
> > 'ccp_pmd_ops.c')
> >
> > ext_deps += dep
> > -pkgconfig_extra_libs += '-lcrypto'
> > diff --git a/drivers/crypto/openssl/meson.build
> > b/drivers/crypto/openssl/meson.build
> > index c2a0dd8ba..80e5e8835 100644
> > --- a/drivers/crypto/openssl/meson.build
> > +++ b/drivers/crypto/openssl/meson.build
> > @@ -8,4 +8,3 @@ endif
> > deps += 'bus_vdev'
> > sources = files('rte_openssl_pmd.c', 'rte_openssl_pmd_ops.c')
> > ext_deps += dep
> > -pkgconfig_extra_libs += '-lcrypto'
> > diff --git a/drivers/crypto/qat/meson.build
> > b/drivers/crypto/qat/meson.build
> > index 9cc98d2c2..21f969735 100644
> > --- a/drivers/crypto/qat/meson.build
> > +++ b/drivers/crypto/qat/meson.build
> > @@ -13,6 +13,5 @@ if dep.found()
> > 'qat_sym.c',
> > 'qat_sym_session.c')
> > qat_ext_deps += dep
> > - pkgconfig_extra_libs += '-lcrypto'
> > qat_cflags += '-DBUILD_QAT_SYM'
> > endif
> > diff --git a/drivers/meson.build b/drivers/meson.build
> > index e37d4fe2b..d17ca76eb 100644
> > --- a/drivers/meson.build
> > +++ b/drivers/meson.build
> > @@ -46,7 +46,7 @@ foreach class:driver_classes
> > # set up internal deps. Drivers can
> > append/override as necessary
> > deps = std_deps
> > # ext_deps: Stores external library dependency got
> > - # using dependency() or cc.find_library(). For
> > most cases, we
> > + # using dependency() (preferred) or
> > find_library(). For most cases, we
> > # probably also need to specify the "-l" flags in
> > # pkgconfig_extra_libs variable too, so that it
> > can be reflected
> > # in the pkgconfig output for static builds
>
> The last part of this comment can now be deleted, right? If we use
> dependency() we don't need to use pkgconfig_extra_libs.
>
> Is the pkgconfig_extra_libs variable still needed after these
> changes?
>
> /Bruce
Yes, as we can't use dependency() for everything unfortunately - only
for those projects that ship a pkg-config file, a cmake file or that
Meson has built-in knowledge of (like llvm or libpcap).
I'll update that comment accordingly in v4.
--
Kind regards,
Luca Boccassi
More information about the dev
mailing list