* Re: [dpdk-dev] [PATCH] build: force pkg-config for dependency detection
2021-01-18 14:29 [dpdk-dev] [PATCH] build: force pkg-config for dependency detection Bruce Richardson
@ 2021-01-19 5:31 ` Ruifeng Wang
2021-01-25 16:46 ` Martin Špinler
2021-01-19 9:19 ` [dpdk-dev] [EXT] " Liron Himi
` (3 subsequent siblings)
4 siblings, 1 reply; 7+ messages in thread
From: Ruifeng Wang @ 2021-01-19 5:31 UTC (permalink / raw)
To: Bruce Richardson, dev
Cc: ferruh.yigit, stable, Matan Azrad, Shahaf Shuler,
Viacheslav Ovsiienko, Liron Himi, Fiona Trahe, John Griffin,
Deepak Kumar Jain, Lee Daly, Ashish Gupta, Sunila Sahu,
Somalapuram Amaranath, Michael Shamis, Declan Doherty,
Ciara Loftus, Qi Zhang, Rasesh Mody, Shahed Shaikh, Zyta Szpak,
Martin Spinler, David Hunt, Konstantin Ananyev, nd
> -----Original Message-----
> From: Bruce Richardson <bruce.richardson@intel.com>
> Sent: Monday, January 18, 2021 10:30 PM
> To: dev@dpdk.org
> Cc: ferruh.yigit@intel.com; Bruce Richardson <bruce.richardson@intel.com>;
> stable@dpdk.org; Matan Azrad <matan@nvidia.com>; Shahaf Shuler
> <shahafs@nvidia.com>; Viacheslav Ovsiienko <viacheslavo@nvidia.com>;
> Liron Himi <lironh@marvell.com>; Fiona Trahe <fiona.trahe@intel.com>;
> John Griffin <john.griffin@intel.com>; Deepak Kumar Jain
> <deepak.k.jain@intel.com>; Lee Daly <lee.daly@intel.com>; Ashish Gupta
> <ashish.gupta@marvell.com>; Sunila Sahu <ssahu@marvell.com>; Ruifeng
> Wang <Ruifeng.Wang@arm.com>; Somalapuram Amaranath
> <asomalap@amd.com>; Michael Shamis <michaelsh@marvell.com>; Declan
> Doherty <declan.doherty@intel.com>; Ciara Loftus <ciara.loftus@intel.com>;
> Qi Zhang <qi.z.zhang@intel.com>; Rasesh Mody <rmody@marvell.com>;
> Shahed Shaikh <shshaikh@marvell.com>; Zyta Szpak <zr@semihalf.com>;
> Martin Spinler <spinler@cesnet.cz>; David Hunt <david.hunt@intel.com>;
> Konstantin Ananyev <konstantin.ananyev@intel.com>
> Subject: [PATCH] build: force pkg-config for dependency detection
>
> Meson can use cmake as a fallback for detecting packages, and this can lead
> to picking up 64-libs for 32-bit builds. To work around this, force the use of
> pkg-config only for detecting libcrypto, zlib, jansson and other package
> dependencies.
>
> CC: stable@dpdk.org
>
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> ---
>
> NOTE, as I do not have all packages for DPDK on my system I have not
> verified that pkg-config files are present for all dependencies,
> specifically:
> * libAArch64crypto
Checked the change works OK with libAArch64crypto package.
Tested-by: Ruifeng Wang <ruifeng.wang@arm.com>
> * netcope-common (which in error message is reported as "libnfb"?)
> * libsze2
> Maintainers, please double check these work ok.
>
> ---
> app/test/meson.build | 2 +-
> config/meson.build | 2 +-
> drivers/common/mlx5/linux/meson.build | 3 ++-
> drivers/common/mvep/meson.build | 2 +-
> drivers/common/qat/meson.build | 2 +-
> drivers/compress/isal/meson.build | 2 +-
> drivers/compress/zlib/meson.build | 2 +-
> drivers/crypto/armv8/meson.build | 2 +-
> drivers/crypto/ccp/meson.build | 2 +-
> drivers/crypto/mvsam/meson.build | 2 +-
> drivers/crypto/openssl/meson.build | 2 +-
> drivers/crypto/qat/meson.build | 2 +-
> drivers/net/af_xdp/meson.build | 5 +++--
> drivers/net/bnx2x/meson.build | 2 +-
> drivers/net/mlx4/meson.build | 3 ++-
> drivers/net/mvneta/meson.build | 2 +-
> drivers/net/mvpp2/meson.build | 2 +-
> drivers/net/nfb/meson.build | 2 +-
> drivers/net/szedata2/meson.build | 2 +-
> examples/vm_power_manager/meson.build | 2 +-
> lib/librte_bpf/meson.build | 2 +-
> lib/librte_metrics/meson.build | 2 +-
> 22 files changed, 26 insertions(+), 23 deletions(-)
>
> diff --git a/app/test/meson.build b/app/test/meson.build index
> bb06a9243..d0d1d1998 100644
> --- a/app/test/meson.build
> +++ b/app/test/meson.build
> @@ -407,7 +407,7 @@ cflags += ['-DALLOW_INTERNAL_API']
>
> test_dep_objs = []
> if dpdk_conf.has('RTE_LIB_COMPRESSDEV')
> - compress_test_dep = dependency('zlib', required: false)
> + compress_test_dep = dependency('zlib', required: false, method:
> +'pkg-config')
> if compress_test_dep.found()
> test_dep_objs += compress_test_dep
> test_sources += 'test_compressdev.c'
> diff --git a/config/meson.build b/config/meson.build index
> a3154e29c..d699a8622 100644
> --- a/config/meson.build
> +++ b/config/meson.build
> @@ -160,7 +160,7 @@ if fdt_dep.found() and cc.has_header('fdt.h') endif
>
> # check for libbsd
> -libbsd = dependency('libbsd', required: false)
> +libbsd = dependency('libbsd', required: false, method: 'pkg-config')
> if libbsd.found()
> dpdk_conf.set('RTE_USE_LIBBSD', 1)
> endif
> diff --git a/drivers/common/mlx5/linux/meson.build
> b/drivers/common/mlx5/linux/meson.build
> index 580419e6d..220de3542 100644
> --- a/drivers/common/mlx5/linux/meson.build
> +++ b/drivers/common/mlx5/linux/meson.build
> @@ -19,7 +19,8 @@ endif
> libnames = [ 'mlx5', 'ibverbs' ]
> libs = []
> foreach libname:libnames
> - lib = dependency('lib' + libname, static:static_ibverbs, required:false)
> + lib = dependency('lib' + libname, static:static_ibverbs,
> + required:false, method: 'pkg-config')
> if not lib.found() and not static_ibverbs
> lib = cc.find_library(libname, required:false)
> endif
> diff --git a/drivers/common/mvep/meson.build
> b/drivers/common/mvep/meson.build index 863a20ab9..7cd968b38 100644
> --- a/drivers/common/mvep/meson.build
> +++ b/drivers/common/mvep/meson.build
> @@ -4,7 +4,7 @@
> # All rights reserved.
> #
>
> -dep = dependency('libmusdk', required: false)
> +dep = dependency('libmusdk', required: false, method: 'pkg-config')
> if not dep.found()
> build = false
> reason = 'missing dependency, "libmusdk"'
> diff --git a/drivers/common/qat/meson.build
> b/drivers/common/qat/meson.build index 29e1299f2..b2915c91f 100644
> --- a/drivers/common/qat/meson.build
> +++ b/drivers/common/qat/meson.build
> @@ -23,7 +23,7 @@ if disabled_drivers.contains(qat_compress_path)
> 'Explicitly disabled via build config') endif
>
> -libcrypto = dependency('libcrypto', required: false)
> +libcrypto = dependency('libcrypto', required: false, method:
> +'pkg-config')
> if qat_crypto and not libcrypto.found()
> qat_crypto = false
> dpdk_drvs_disabled += qat_crypto_path
> diff --git a/drivers/compress/isal/meson.build
> b/drivers/compress/isal/meson.build
> index 5ee17e28f..d847c2ea6 100644
> --- a/drivers/compress/isal/meson.build
> +++ b/drivers/compress/isal/meson.build
> @@ -1,7 +1,7 @@
> # SPDX-License-Identifier: BSD-3-Clause # Copyright 2018 Intel Corporation
>
> -dep = dependency('libisal', required: false)
> +dep = dependency('libisal', required: false, method: 'pkg-config')
> if not dep.found()
> build = false
> reason = 'missing dependency, "libisal"'
> diff --git a/drivers/compress/zlib/meson.build
> b/drivers/compress/zlib/meson.build
> index b19a6d2b1..82cf0dddd 100644
> --- a/drivers/compress/zlib/meson.build
> +++ b/drivers/compress/zlib/meson.build
> @@ -1,7 +1,7 @@
> # SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2018 Cavium
> Networks
>
> -dep = dependency('zlib', required: false)
> +dep = dependency('zlib', required: false, method: 'pkg-config')
> if not dep.found()
> build = false
> reason = 'missing dependency, "zlib"'
> diff --git a/drivers/crypto/armv8/meson.build
> b/drivers/crypto/armv8/meson.build
> index 3289a2adc..027173bc1 100644
> --- a/drivers/crypto/armv8/meson.build
> +++ b/drivers/crypto/armv8/meson.build
> @@ -1,7 +1,7 @@
> # SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2019 Arm Limited
>
> -dep = dependency('libAArch64crypto', required: false)
> +dep = dependency('libAArch64crypto', required: false, method:
> +'pkg-config')
> if not dep.found()
> build = false
> reason = 'missing dependency, "libAArch64crypto"'
> diff --git a/drivers/crypto/ccp/meson.build
> b/drivers/crypto/ccp/meson.build index a0e0b379e..ff66427ae 100644
> --- a/drivers/crypto/ccp/meson.build
> +++ b/drivers/crypto/ccp/meson.build
> @@ -5,7 +5,7 @@ if not is_linux
> build = false
> reason = 'only supported on Linux'
> endif
> -dep = dependency('libcrypto', required: false)
> +dep = dependency('libcrypto', required: false, method: 'pkg-config')
> if not dep.found()
> build = false
> reason = 'missing dependency, "libcrypto"'
> diff --git a/drivers/crypto/mvsam/meson.build
> b/drivers/crypto/mvsam/meson.build
> index 384eacff0..b4c55b5ff 100644
> --- a/drivers/crypto/mvsam/meson.build
> +++ b/drivers/crypto/mvsam/meson.build
> @@ -3,7 +3,7 @@
> # Copyright(c) 2018 Semihalf.
> # All rights reserved.
>
> -dep = dependency('libmusdk', required: false)
> +dep = dependency('libmusdk', required: false, method: 'pkg-config')
> if not dep.found()
> build = false
> reason = 'missing dependency, "libmusdk"'
> diff --git a/drivers/crypto/openssl/meson.build
> b/drivers/crypto/openssl/meson.build
> index d9ac69897..47fb2bb75 100644
> --- a/drivers/crypto/openssl/meson.build
> +++ b/drivers/crypto/openssl/meson.build
> @@ -1,7 +1,7 @@
> # SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2017 Intel
> Corporation
>
> -dep = dependency('libcrypto', required: false)
> +dep = dependency('libcrypto', required: false, method: 'pkg-config')
> if not dep.found()
> build = false
> reason = 'missing dependency, "libcrypto"'
> diff --git a/drivers/crypto/qat/meson.build
> b/drivers/crypto/qat/meson.build index bc90ec44c..92e0ed656 100644
> --- a/drivers/crypto/qat/meson.build
> +++ b/drivers/crypto/qat/meson.build
> @@ -5,7 +5,7 @@
> # driver which comes later. Here we just add our sources files to the list
> build = false reason = '' # sentinal value to suppress printout -dep =
> dependency('libcrypto', required: false)
> +dep = dependency('libcrypto', required: false, method: 'pkg-config')
> qat_includes += include_directories('.') qat_deps += 'cryptodev'
> qat_deps += 'net'
> diff --git a/drivers/net/af_xdp/meson.build
> b/drivers/net/af_xdp/meson.build index dce123036..60ccffabb 100644
> --- a/drivers/net/af_xdp/meson.build
> +++ b/drivers/net/af_xdp/meson.build
> @@ -9,14 +9,15 @@ endif
>
> sources = files('rte_eth_af_xdp.c')
>
> -bpf_dep = dependency('libbpf', required: false)
> +bpf_dep = dependency('libbpf', required: false, method: 'pkg-config')
> if not bpf_dep.found()
> bpf_dep = cc.find_library('bpf', required: false) endif
>
> if bpf_dep.found() and cc.has_header('bpf/xsk.h') and
> cc.has_header('linux/if_xdp.h')
> ext_deps += bpf_dep
> - bpf_ver_dep = dependency('libbpf', version : '>=0.2.0', required:
> false)
> + bpf_ver_dep = dependency('libbpf', version : '>=0.2.0',
> + required: false, method: 'pkg-config')
> if bpf_ver_dep.found()
> dpdk_conf.set('RTE_LIBRTE_AF_XDP_PMD_SHARED_UMEM',
> 1)
> endif
> diff --git a/drivers/net/bnx2x/meson.build b/drivers/net/bnx2x/meson.build
> index 8837ef424..e260b7592 100644
> --- a/drivers/net/bnx2x/meson.build
> +++ b/drivers/net/bnx2x/meson.build
> @@ -7,7 +7,7 @@ if is_windows
> subdir_done()
> endif
>
> -dep = dependency('zlib', required: false)
> +dep = dependency('zlib', required: false, method: 'pkg-config')
> build = dep.found()
> reason = 'missing dependency, "zlib"'
> ext_deps += dep
> diff --git a/drivers/net/mlx4/meson.build b/drivers/net/mlx4/meson.build
> index 0cf9938a8..d7602b748 100644
> --- a/drivers/net/mlx4/meson.build
> +++ b/drivers/net/mlx4/meson.build
> @@ -24,7 +24,8 @@ endif
> libnames = [ 'mlx4', 'ibverbs' ]
> libs = []
> foreach libname:libnames
> - lib = dependency('lib' + libname, static:static_ibverbs, required:false)
> + lib = dependency('lib' + libname, static:static_ibverbs,
> + required:false, method: 'pkg-config')
> if not lib.found() and not static_ibverbs
> lib = cc.find_library(libname, required:false)
> endif
> diff --git a/drivers/net/mvneta/meson.build
> b/drivers/net/mvneta/meson.build index 4e073e0d2..0be7b3d8b 100644
> --- a/drivers/net/mvneta/meson.build
> +++ b/drivers/net/mvneta/meson.build
> @@ -9,7 +9,7 @@ if is_windows
> subdir_done()
> endif
>
> -dep = dependency('libmusdk', required: false)
> +dep = dependency('libmusdk', required: false, method: 'pkg-config')
> if not dep.found()
> build = false
> reason = 'missing dependency, "libmusdk"'
> diff --git a/drivers/net/mvpp2/meson.build
> b/drivers/net/mvpp2/meson.build index c509d8916..bfda5439b 100644
> --- a/drivers/net/mvpp2/meson.build
> +++ b/drivers/net/mvpp2/meson.build
> @@ -9,7 +9,7 @@ if is_windows
> subdir_done()
> endif
>
> -dep = dependency('libmusdk', required: false)
> +dep = dependency('libmusdk', required: false, method: 'pkg-config')
> if not dep.found()
> build = false
> reason = 'missing dependency, "libmusdk"'
> diff --git a/drivers/net/nfb/meson.build b/drivers/net/nfb/meson.build
> index 42f7921dc..f4a89b87d 100644
> --- a/drivers/net/nfb/meson.build
> +++ b/drivers/net/nfb/meson.build
> @@ -9,7 +9,7 @@ if is_windows
> subdir_done()
> endif
>
> -dep = dependency('netcope-common', required: false)
> +dep = dependency('netcope-common', required: false, method:
> +'pkg-config')
> reason = 'missing dependency, "libnfb"'
> build = dep.found()
> ext_deps += dep
> diff --git a/drivers/net/szedata2/meson.build
> b/drivers/net/szedata2/meson.build
> index 4c02830b0..4f8f3325f 100644
> --- a/drivers/net/szedata2/meson.build
> +++ b/drivers/net/szedata2/meson.build
> @@ -7,7 +7,7 @@ if is_windows
> subdir_done()
> endif
>
> -dep = dependency('libsze2', required: false)
> +dep = dependency('libsze2', required: false, method: 'pkg-config')
> build = dep.found()
> reason = 'missing dependency, "libsze2"'
> ext_deps += dep
> diff --git a/examples/vm_power_manager/meson.build
> b/examples/vm_power_manager/meson.build
> index 1f813fbe8..637bd2323 100644
> --- a/examples/vm_power_manager/meson.build
> +++ b/examples/vm_power_manager/meson.build
> @@ -41,7 +41,7 @@ opt_dep = cc.find_library('virt', required : false) build =
> opt_dep.found() ext_deps += opt_dep
>
> -opt_dep = dependency('jansson', required : false)
> +opt_dep = dependency('jansson', required : false, method: 'pkg-config')
> if opt_dep.found()
> ext_deps += opt_dep
> cflags += '-DUSE_JANSSON'
> diff --git a/lib/librte_bpf/meson.build b/lib/librte_bpf/meson.build index
> 48460e950..614277eff 100644
> --- a/lib/librte_bpf/meson.build
> +++ b/lib/librte_bpf/meson.build
> @@ -19,7 +19,7 @@ headers = files('bpf_def.h',
>
> deps += ['mbuf', 'net', 'ethdev']
>
> -dep = dependency('libelf', required: false)
> +dep = dependency('libelf', required: false, method: 'pkg-config')
> if dep.found()
> dpdk_conf.set('RTE_LIBRTE_BPF_ELF', 1)
> sources += files('bpf_load_elf.c')
> diff --git a/lib/librte_metrics/meson.build b/lib/librte_metrics/meson.build
> index eed27b880..28a8cc115 100644
> --- a/lib/librte_metrics/meson.build
> +++ b/lib/librte_metrics/meson.build
> @@ -4,7 +4,7 @@
> sources = files('rte_metrics.c')
> headers = files('rte_metrics.h')
>
> -jansson = dependency('jansson', required: false)
> +jansson = dependency('jansson', required: false, method: 'pkg-config')
> if jansson.found()
> ext_deps += jansson
> sources += files('rte_metrics_telemetry.c')
> --
> 2.27.0
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [dpdk-dev] [PATCH] build: force pkg-config for dependency detection
2021-01-19 5:31 ` Ruifeng Wang
@ 2021-01-25 16:46 ` Martin Špinler
0 siblings, 0 replies; 7+ messages in thread
From: Martin Špinler @ 2021-01-25 16:46 UTC (permalink / raw)
To: Ruifeng Wang, Bruce Richardson, dev
Cc: ferruh.yigit, stable, Matan Azrad, Shahaf Shuler,
Viacheslav Ovsiienko, Liron Himi, Fiona Trahe, John Griffin,
Deepak Kumar Jain, Lee Daly, Ashish Gupta, Sunila Sahu,
Somalapuram Amaranath, Michael Shamis, Declan Doherty,
Ciara Loftus, Qi Zhang, Rasesh Mody, Shahed Shaikh, Zyta Szpak,
David Hunt, Konstantin Ananyev, nd
libnfb and libsze2 works OK.
The libnfb is provided by netcope-common package, so it is possible to
leave it like this.
Tested-by: Martin Spinler <spinler@cesnet.cz>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [dpdk-dev] [EXT] [PATCH] build: force pkg-config for dependency detection
2021-01-18 14:29 [dpdk-dev] [PATCH] build: force pkg-config for dependency detection Bruce Richardson
2021-01-19 5:31 ` Ruifeng Wang
@ 2021-01-19 9:19 ` Liron Himi
2021-01-21 17:33 ` [dpdk-dev] " Daly, Lee
` (2 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: Liron Himi @ 2021-01-19 9:19 UTC (permalink / raw)
To: Bruce Richardson, dev
Cc: ferruh.yigit, stable, Matan Azrad, Shahaf Shuler,
Viacheslav Ovsiienko, Fiona Trahe, John Griffin,
Deepak Kumar Jain, Lee Daly, Ashish Gupta, Sunila Sahu,
Ruifeng Wang, Somalapuram Amaranath, Michael Shamis,
Declan Doherty, Ciara Loftus, Qi Zhang, Rasesh Mody,
Shahed Shaikh, Zyta Szpak, Martin Spinler, David Hunt,
Konstantin Ananyev, Liron Himi
libmusdk works with this change.
Tested-by: Liron Himi <lironh@marvell.com>
-----Original Message-----
From: Bruce Richardson <bruce.richardson@intel.com>
Sent: Monday, 18 January 2021 16:30
To: dev@dpdk.org
Cc: ferruh.yigit@intel.com; Bruce Richardson <bruce.richardson@intel.com>; stable@dpdk.org; Matan Azrad <matan@nvidia.com>; Shahaf Shuler <shahafs@nvidia.com>; Viacheslav Ovsiienko <viacheslavo@nvidia.com>; Liron Himi <lironh@marvell.com>; Fiona Trahe <fiona.trahe@intel.com>; John Griffin <john.griffin@intel.com>; Deepak Kumar Jain <deepak.k.jain@intel.com>; Lee Daly <lee.daly@intel.com>; Ashish Gupta <ashishg@marvell.com>; Sunila Sahu <ssahu@marvell.com>; Ruifeng Wang <ruifeng.wang@arm.com>; Somalapuram Amaranath <asomalap@amd.com>; Michael Shamis <michaelsh@marvell.com>; Declan Doherty <declan.doherty@intel.com>; Ciara Loftus <ciara.loftus@intel.com>; Qi Zhang <qi.z.zhang@intel.com>; Rasesh Mody <rmody@marvell.com>; Shahed Shaikh <shshaikh@marvell.com>; Zyta Szpak <zr@semihalf.com>; Martin Spinler <spinler@cesnet.cz>; David Hunt <david.hunt@intel.com>; Konstantin Ananyev <konstantin.ananyev@intel.com>
Subject: [EXT] [PATCH] build: force pkg-config for dependency detection
External Email
----------------------------------------------------------------------
Meson can use cmake as a fallback for detecting packages, and this can lead to picking up 64-libs for 32-bit builds. To work around this, force the use of pkg-config only for detecting libcrypto, zlib, jansson and other package dependencies.
CC: stable@dpdk.org
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
NOTE, as I do not have all packages for DPDK on my system I have not verified that pkg-config files are present for all dependencies,
specifically:
* libAArch64crypto
* netcope-common (which in error message is reported as "libnfb"?)
* libsze2
Maintainers, please double check these work ok.
---
app/test/meson.build | 2 +-
config/meson.build | 2 +-
drivers/common/mlx5/linux/meson.build | 3 ++-
drivers/common/mvep/meson.build | 2 +-
drivers/common/qat/meson.build | 2 +-
drivers/compress/isal/meson.build | 2 +-
drivers/compress/zlib/meson.build | 2 +-
drivers/crypto/armv8/meson.build | 2 +-
drivers/crypto/ccp/meson.build | 2 +-
drivers/crypto/mvsam/meson.build | 2 +-
drivers/crypto/openssl/meson.build | 2 +-
drivers/crypto/qat/meson.build | 2 +-
drivers/net/af_xdp/meson.build | 5 +++--
drivers/net/bnx2x/meson.build | 2 +-
drivers/net/mlx4/meson.build | 3 ++-
drivers/net/mvneta/meson.build | 2 +-
drivers/net/mvpp2/meson.build | 2 +-
drivers/net/nfb/meson.build | 2 +-
drivers/net/szedata2/meson.build | 2 +-
examples/vm_power_manager/meson.build | 2 +-
lib/librte_bpf/meson.build | 2 +-
lib/librte_metrics/meson.build | 2 +-
22 files changed, 26 insertions(+), 23 deletions(-)
diff --git a/app/test/meson.build b/app/test/meson.build index bb06a9243..d0d1d1998 100644
--- a/app/test/meson.build
+++ b/app/test/meson.build
@@ -407,7 +407,7 @@ cflags += ['-DALLOW_INTERNAL_API']
test_dep_objs = []
if dpdk_conf.has('RTE_LIB_COMPRESSDEV')
- compress_test_dep = dependency('zlib', required: false)
+ compress_test_dep = dependency('zlib', required: false, method:
+'pkg-config')
if compress_test_dep.found()
test_dep_objs += compress_test_dep
test_sources += 'test_compressdev.c'
diff --git a/config/meson.build b/config/meson.build index a3154e29c..d699a8622 100644
--- a/config/meson.build
+++ b/config/meson.build
@@ -160,7 +160,7 @@ if fdt_dep.found() and cc.has_header('fdt.h') endif
# check for libbsd
-libbsd = dependency('libbsd', required: false)
+libbsd = dependency('libbsd', required: false, method: 'pkg-config')
if libbsd.found()
dpdk_conf.set('RTE_USE_LIBBSD', 1)
endif
diff --git a/drivers/common/mlx5/linux/meson.build b/drivers/common/mlx5/linux/meson.build
index 580419e6d..220de3542 100644
--- a/drivers/common/mlx5/linux/meson.build
+++ b/drivers/common/mlx5/linux/meson.build
@@ -19,7 +19,8 @@ endif
libnames = [ 'mlx5', 'ibverbs' ]
libs = []
foreach libname:libnames
- lib = dependency('lib' + libname, static:static_ibverbs, required:false)
+ lib = dependency('lib' + libname, static:static_ibverbs,
+ required:false, method: 'pkg-config')
if not lib.found() and not static_ibverbs
lib = cc.find_library(libname, required:false)
endif
diff --git a/drivers/common/mvep/meson.build b/drivers/common/mvep/meson.build index 863a20ab9..7cd968b38 100644
--- a/drivers/common/mvep/meson.build
+++ b/drivers/common/mvep/meson.build
@@ -4,7 +4,7 @@
# All rights reserved.
#
-dep = dependency('libmusdk', required: false)
+dep = dependency('libmusdk', required: false, method: 'pkg-config')
if not dep.found()
build = false
reason = 'missing dependency, "libmusdk"'
diff --git a/drivers/common/qat/meson.build b/drivers/common/qat/meson.build index 29e1299f2..b2915c91f 100644
--- a/drivers/common/qat/meson.build
+++ b/drivers/common/qat/meson.build
@@ -23,7 +23,7 @@ if disabled_drivers.contains(qat_compress_path)
'Explicitly disabled via build config') endif
-libcrypto = dependency('libcrypto', required: false)
+libcrypto = dependency('libcrypto', required: false, method:
+'pkg-config')
if qat_crypto and not libcrypto.found()
qat_crypto = false
dpdk_drvs_disabled += qat_crypto_path
diff --git a/drivers/compress/isal/meson.build b/drivers/compress/isal/meson.build
index 5ee17e28f..d847c2ea6 100644
--- a/drivers/compress/isal/meson.build
+++ b/drivers/compress/isal/meson.build
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: BSD-3-Clause # Copyright 2018 Intel Corporation
-dep = dependency('libisal', required: false)
+dep = dependency('libisal', required: false, method: 'pkg-config')
if not dep.found()
build = false
reason = 'missing dependency, "libisal"'
diff --git a/drivers/compress/zlib/meson.build b/drivers/compress/zlib/meson.build
index b19a6d2b1..82cf0dddd 100644
--- a/drivers/compress/zlib/meson.build
+++ b/drivers/compress/zlib/meson.build
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2018 Cavium Networks
-dep = dependency('zlib', required: false)
+dep = dependency('zlib', required: false, method: 'pkg-config')
if not dep.found()
build = false
reason = 'missing dependency, "zlib"'
diff --git a/drivers/crypto/armv8/meson.build b/drivers/crypto/armv8/meson.build
index 3289a2adc..027173bc1 100644
--- a/drivers/crypto/armv8/meson.build
+++ b/drivers/crypto/armv8/meson.build
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2019 Arm Limited
-dep = dependency('libAArch64crypto', required: false)
+dep = dependency('libAArch64crypto', required: false, method:
+'pkg-config')
if not dep.found()
build = false
reason = 'missing dependency, "libAArch64crypto"'
diff --git a/drivers/crypto/ccp/meson.build b/drivers/crypto/ccp/meson.build index a0e0b379e..ff66427ae 100644
--- a/drivers/crypto/ccp/meson.build
+++ b/drivers/crypto/ccp/meson.build
@@ -5,7 +5,7 @@ if not is_linux
build = false
reason = 'only supported on Linux'
endif
-dep = dependency('libcrypto', required: false)
+dep = dependency('libcrypto', required: false, method: 'pkg-config')
if not dep.found()
build = false
reason = 'missing dependency, "libcrypto"'
diff --git a/drivers/crypto/mvsam/meson.build b/drivers/crypto/mvsam/meson.build
index 384eacff0..b4c55b5ff 100644
--- a/drivers/crypto/mvsam/meson.build
+++ b/drivers/crypto/mvsam/meson.build
@@ -3,7 +3,7 @@
# Copyright(c) 2018 Semihalf.
# All rights reserved.
-dep = dependency('libmusdk', required: false)
+dep = dependency('libmusdk', required: false, method: 'pkg-config')
if not dep.found()
build = false
reason = 'missing dependency, "libmusdk"'
diff --git a/drivers/crypto/openssl/meson.build b/drivers/crypto/openssl/meson.build
index d9ac69897..47fb2bb75 100644
--- a/drivers/crypto/openssl/meson.build
+++ b/drivers/crypto/openssl/meson.build
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2017 Intel Corporation
-dep = dependency('libcrypto', required: false)
+dep = dependency('libcrypto', required: false, method: 'pkg-config')
if not dep.found()
build = false
reason = 'missing dependency, "libcrypto"'
diff --git a/drivers/crypto/qat/meson.build b/drivers/crypto/qat/meson.build index bc90ec44c..92e0ed656 100644
--- a/drivers/crypto/qat/meson.build
+++ b/drivers/crypto/qat/meson.build
@@ -5,7 +5,7 @@
# driver which comes later. Here we just add our sources files to the list build = false reason = '' # sentinal value to suppress printout -dep = dependency('libcrypto', required: false)
+dep = dependency('libcrypto', required: false, method: 'pkg-config')
qat_includes += include_directories('.') qat_deps += 'cryptodev'
qat_deps += 'net'
diff --git a/drivers/net/af_xdp/meson.build b/drivers/net/af_xdp/meson.build index dce123036..60ccffabb 100644
--- a/drivers/net/af_xdp/meson.build
+++ b/drivers/net/af_xdp/meson.build
@@ -9,14 +9,15 @@ endif
sources = files('rte_eth_af_xdp.c')
-bpf_dep = dependency('libbpf', required: false)
+bpf_dep = dependency('libbpf', required: false, method: 'pkg-config')
if not bpf_dep.found()
bpf_dep = cc.find_library('bpf', required: false) endif
if bpf_dep.found() and cc.has_header('bpf/xsk.h') and cc.has_header('linux/if_xdp.h')
ext_deps += bpf_dep
- bpf_ver_dep = dependency('libbpf', version : '>=0.2.0', required: false)
+ bpf_ver_dep = dependency('libbpf', version : '>=0.2.0',
+ required: false, method: 'pkg-config')
if bpf_ver_dep.found()
dpdk_conf.set('RTE_LIBRTE_AF_XDP_PMD_SHARED_UMEM', 1)
endif
diff --git a/drivers/net/bnx2x/meson.build b/drivers/net/bnx2x/meson.build index 8837ef424..e260b7592 100644
--- a/drivers/net/bnx2x/meson.build
+++ b/drivers/net/bnx2x/meson.build
@@ -7,7 +7,7 @@ if is_windows
subdir_done()
endif
-dep = dependency('zlib', required: false)
+dep = dependency('zlib', required: false, method: 'pkg-config')
build = dep.found()
reason = 'missing dependency, "zlib"'
ext_deps += dep
diff --git a/drivers/net/mlx4/meson.build b/drivers/net/mlx4/meson.build index 0cf9938a8..d7602b748 100644
--- a/drivers/net/mlx4/meson.build
+++ b/drivers/net/mlx4/meson.build
@@ -24,7 +24,8 @@ endif
libnames = [ 'mlx4', 'ibverbs' ]
libs = []
foreach libname:libnames
- lib = dependency('lib' + libname, static:static_ibverbs, required:false)
+ lib = dependency('lib' + libname, static:static_ibverbs,
+ required:false, method: 'pkg-config')
if not lib.found() and not static_ibverbs
lib = cc.find_library(libname, required:false)
endif
diff --git a/drivers/net/mvneta/meson.build b/drivers/net/mvneta/meson.build index 4e073e0d2..0be7b3d8b 100644
--- a/drivers/net/mvneta/meson.build
+++ b/drivers/net/mvneta/meson.build
@@ -9,7 +9,7 @@ if is_windows
subdir_done()
endif
-dep = dependency('libmusdk', required: false)
+dep = dependency('libmusdk', required: false, method: 'pkg-config')
if not dep.found()
build = false
reason = 'missing dependency, "libmusdk"'
diff --git a/drivers/net/mvpp2/meson.build b/drivers/net/mvpp2/meson.build index c509d8916..bfda5439b 100644
--- a/drivers/net/mvpp2/meson.build
+++ b/drivers/net/mvpp2/meson.build
@@ -9,7 +9,7 @@ if is_windows
subdir_done()
endif
-dep = dependency('libmusdk', required: false)
+dep = dependency('libmusdk', required: false, method: 'pkg-config')
if not dep.found()
build = false
reason = 'missing dependency, "libmusdk"'
diff --git a/drivers/net/nfb/meson.build b/drivers/net/nfb/meson.build index 42f7921dc..f4a89b87d 100644
--- a/drivers/net/nfb/meson.build
+++ b/drivers/net/nfb/meson.build
@@ -9,7 +9,7 @@ if is_windows
subdir_done()
endif
-dep = dependency('netcope-common', required: false)
+dep = dependency('netcope-common', required: false, method:
+'pkg-config')
reason = 'missing dependency, "libnfb"'
build = dep.found()
ext_deps += dep
diff --git a/drivers/net/szedata2/meson.build b/drivers/net/szedata2/meson.build
index 4c02830b0..4f8f3325f 100644
--- a/drivers/net/szedata2/meson.build
+++ b/drivers/net/szedata2/meson.build
@@ -7,7 +7,7 @@ if is_windows
subdir_done()
endif
-dep = dependency('libsze2', required: false)
+dep = dependency('libsze2', required: false, method: 'pkg-config')
build = dep.found()
reason = 'missing dependency, "libsze2"'
ext_deps += dep
diff --git a/examples/vm_power_manager/meson.build b/examples/vm_power_manager/meson.build
index 1f813fbe8..637bd2323 100644
--- a/examples/vm_power_manager/meson.build
+++ b/examples/vm_power_manager/meson.build
@@ -41,7 +41,7 @@ opt_dep = cc.find_library('virt', required : false) build = opt_dep.found() ext_deps += opt_dep
-opt_dep = dependency('jansson', required : false)
+opt_dep = dependency('jansson', required : false, method: 'pkg-config')
if opt_dep.found()
ext_deps += opt_dep
cflags += '-DUSE_JANSSON'
diff --git a/lib/librte_bpf/meson.build b/lib/librte_bpf/meson.build index 48460e950..614277eff 100644
--- a/lib/librte_bpf/meson.build
+++ b/lib/librte_bpf/meson.build
@@ -19,7 +19,7 @@ headers = files('bpf_def.h',
deps += ['mbuf', 'net', 'ethdev']
-dep = dependency('libelf', required: false)
+dep = dependency('libelf', required: false, method: 'pkg-config')
if dep.found()
dpdk_conf.set('RTE_LIBRTE_BPF_ELF', 1)
sources += files('bpf_load_elf.c')
diff --git a/lib/librte_metrics/meson.build b/lib/librte_metrics/meson.build index eed27b880..28a8cc115 100644
--- a/lib/librte_metrics/meson.build
+++ b/lib/librte_metrics/meson.build
@@ -4,7 +4,7 @@
sources = files('rte_metrics.c')
headers = files('rte_metrics.h')
-jansson = dependency('jansson', required: false)
+jansson = dependency('jansson', required: false, method: 'pkg-config')
if jansson.found()
ext_deps += jansson
sources += files('rte_metrics_telemetry.c')
--
2.27.0
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [dpdk-dev] [PATCH] build: force pkg-config for dependency detection
2021-01-18 14:29 [dpdk-dev] [PATCH] build: force pkg-config for dependency detection Bruce Richardson
2021-01-19 5:31 ` Ruifeng Wang
2021-01-19 9:19 ` [dpdk-dev] [EXT] " Liron Himi
@ 2021-01-21 17:33 ` Daly, Lee
2021-01-22 12:54 ` Hemant Agrawal
2021-01-25 23:53 ` [dpdk-dev] [dpdk-stable] " Thomas Monjalon
4 siblings, 0 replies; 7+ messages in thread
From: Daly, Lee @ 2021-01-21 17:33 UTC (permalink / raw)
To: Richardson, Bruce, dev
Cc: Yigit, Ferruh, stable, Matan Azrad, Shahaf Shuler,
Viacheslav Ovsiienko, Liron Himi, Trahe, Fiona, Griffin, John,
Jain, Deepak K, Ashish Gupta, Sunila Sahu, Ruifeng Wang,
Somalapuram Amaranath, Michael Shamis, Doherty, Declan, Loftus,
Ciara, Zhang, Qi Z, Rasesh Mody, Shahed Shaikh, Zyta Szpak,
Martin Spinler, Hunt, David, Ananyev, Konstantin
> -----Original Message-----
> From: Richardson, Bruce <bruce.richardson@intel.com>
> Sent: Monday, January 18, 2021 2:30 PM
> To: dev@dpdk.org
> Cc: Yigit, Ferruh <ferruh.yigit@intel.com>; Richardson, Bruce
> <bruce.richardson@intel.com>; stable@dpdk.org; Matan Azrad
> <matan@nvidia.com>; Shahaf Shuler <shahafs@nvidia.com>; Viacheslav
> Ovsiienko <viacheslavo@nvidia.com>; Liron Himi <lironh@marvell.com>;
> Trahe, Fiona <fiona.trahe@intel.com>; Griffin, John
> <john.griffin@intel.com>; Jain, Deepak K <deepak.k.jain@intel.com>; Daly,
> Lee <lee.daly@intel.com>; Ashish Gupta <ashish.gupta@marvell.com>;
> Sunila Sahu <ssahu@marvell.com>; Ruifeng Wang
> <ruifeng.wang@arm.com>; Somalapuram Amaranath
> <asomalap@amd.com>; Michael Shamis <michaelsh@marvell.com>;
> Doherty, Declan <declan.doherty@intel.com>; Loftus, Ciara
> <ciara.loftus@intel.com>; Zhang, Qi Z <qi.z.zhang@intel.com>; Rasesh Mody
> <rmody@marvell.com>; Shahed Shaikh <shshaikh@marvell.com>; Zyta
> Szpak <zr@semihalf.com>; Martin Spinler <spinler@cesnet.cz>; Hunt, David
> <david.hunt@intel.com>; Ananyev, Konstantin
> <konstantin.ananyev@intel.com>
> Subject: [PATCH] build: force pkg-config for dependency detection
>
> Meson can use cmake as a fallback for detecting packages, and this can lead
> to picking up 64-libs for 32-bit builds. To work around this, force the use of
> pkg-config only for detecting libcrypto, zlib, jansson and other package
> dependencies.
>
> CC: stable@dpdk.org
>
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> ---
>
Tested ISA-L driver change. Thanks.
Tested-by: Lee Daly <lee.daly@intel.com>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [dpdk-dev] [PATCH] build: force pkg-config for dependency detection
2021-01-18 14:29 [dpdk-dev] [PATCH] build: force pkg-config for dependency detection Bruce Richardson
` (2 preceding siblings ...)
2021-01-21 17:33 ` [dpdk-dev] " Daly, Lee
@ 2021-01-22 12:54 ` Hemant Agrawal
2021-01-25 23:53 ` [dpdk-dev] [dpdk-stable] " Thomas Monjalon
4 siblings, 0 replies; 7+ messages in thread
From: Hemant Agrawal @ 2021-01-22 12:54 UTC (permalink / raw)
To: Bruce Richardson, dev
Cc: ferruh.yigit, stable, Matan Azrad, Shahaf Shuler,
Viacheslav Ovsiienko, Liron Himi, Fiona Trahe, John Griffin,
Deepak Kumar Jain, Lee Daly, Ashish Gupta, Sunila Sahu,
Ruifeng Wang, Somalapuram Amaranath, Michael Shamis,
Declan Doherty, Ciara Loftus, Qi Zhang, Rasesh Mody,
Shahed Shaikh, Zyta Szpak, Martin Spinler, David Hunt,
Konstantin Ananyev
Tested-by: Hemant Agrawal <hemant.agrawal@nxp.com>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [dpdk-dev] [dpdk-stable] [PATCH] build: force pkg-config for dependency detection
2021-01-18 14:29 [dpdk-dev] [PATCH] build: force pkg-config for dependency detection Bruce Richardson
` (3 preceding siblings ...)
2021-01-22 12:54 ` Hemant Agrawal
@ 2021-01-25 23:53 ` Thomas Monjalon
4 siblings, 0 replies; 7+ messages in thread
From: Thomas Monjalon @ 2021-01-25 23:53 UTC (permalink / raw)
To: Bruce Richardson
Cc: dev, stable, ferruh.yigit, Matan Azrad, Shahaf Shuler,
Viacheslav Ovsiienko, Liron Himi, Fiona Trahe, John Griffin,
Deepak Kumar Jain, Lee Daly, Ashish Gupta, Sunila Sahu,
Ruifeng Wang, Somalapuram Amaranath, Michael Shamis,
Declan Doherty, Ciara Loftus, Qi Zhang, Rasesh Mody,
Shahed Shaikh, Zyta Szpak, Martin Spinler, David Hunt,
Konstantin Ananyev
18/01/2021 15:29, Bruce Richardson:
> Meson can use cmake as a fallback for detecting packages, and this can
> lead to picking up 64-libs for 32-bit builds. To work around this, force
> the use of pkg-config only for detecting libcrypto, zlib, jansson and
> other package dependencies.
>
> CC: stable@dpdk.org
>
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
That's "fun" how doing a compilation "right" may be difficult.
Applied, thanks
^ permalink raw reply [flat|nested] 7+ messages in thread