From patchwork Fri Apr 12 23:24:48 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yongseok Koh X-Patchwork-Id: 52737 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 593A61B40F; Sat, 13 Apr 2019 01:25:09 +0200 (CEST) Received: from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129]) by dpdk.org (Postfix) with ESMTP id 7817F1B3F0 for ; Sat, 13 Apr 2019 01:25:07 +0200 (CEST) Received: from Internal Mail-Server by MTLPINE1 (envelope-from yskoh@mellanox.com) with ESMTPS (AES256-SHA encrypted); 13 Apr 2019 02:25:05 +0300 Received: from mtibiz05-l.mti.labs.mlnx. (mtibiz05-l.mti.labs.mlnx [10.20.10.109]) by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id x3CNOrWI006596; Sat, 13 Apr 2019 02:25:02 +0300 From: Yongseok Koh To: bruce.richardson@intel.com, jerinj@marvell.com, pbhagavatula@marvell.com, shahafs@mellanox.com Cc: dev@dpdk.org, thomas@monjalon.net, gavin.hu@arm.com, Honnappa.Nagarahalli@arm.com, bluca@debian.org, stable@dpdk.org Date: Fri, 12 Apr 2019 16:24:48 -0700 Message-Id: <20190412232451.30197-4-yskoh@mellanox.com> X-Mailer: git-send-email 2.21.0.196.g041f5ea In-Reply-To: <20190412232451.30197-1-yskoh@mellanox.com> References: <20190412232451.30197-1-yskoh@mellanox.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH 3/6] net/mlx: fix library search in meson build 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" If MLNX_OFED is installed, there's no .pc file installed for libraries and dependency() can't find libraries by pkg-config. By adding fallback of using cc.find_library(), libraries are properly located. Fixes: e30b4e566f47 ("build: improve dependency handling") Cc: bluca@debian.org Cc: stable@dpdk.org Signed-off-by: Yongseok Koh --- drivers/net/mlx4/meson.build | 19 +++++++++++-------- drivers/net/mlx5/meson.build | 19 +++++++++++-------- 2 files changed, 22 insertions(+), 16 deletions(-) diff --git a/drivers/net/mlx4/meson.build b/drivers/net/mlx4/meson.build index de020701d1..9082f69f25 100644 --- a/drivers/net/mlx4/meson.build +++ b/drivers/net/mlx4/meson.build @@ -13,21 +13,24 @@ if pmd_dlopen '-DMLX4_GLUE_VERSION="@0@"'.format(LIB_GLUE_VERSION), ] endif -libs = [ - dependency('libmnl', required:false), - dependency('libmlx4', required:false), - dependency('libibverbs', required:false), -] +libs = [ 'libmnl', 'libmlx4', 'libibverbs' ] +lib_deps = [] build = true foreach lib:libs - if not lib.found() + lib_dep = dependency(lib, required:false) + if not lib_dep.found() + lib_dep = cc.find_library(lib, required:false) + endif + if lib_dep.found() + lib_deps += [ lib_dep ] + else build = false endif endforeach # Compile PMD if build allow_experimental_apis = true - ext_deps += libs + ext_deps += lib_deps sources = files( 'mlx4.c', 'mlx4_ethdev.c', @@ -103,7 +106,7 @@ if pmd_dlopen and build dlopen_sources, include_directories: global_inc, c_args: cflags, - dependencies: libs, + dependencies: libs_deps, link_args: [ '-Wl,-export-dynamic', '-Wl,-h,@0@'.format(LIB_GLUE), diff --git a/drivers/net/mlx5/meson.build b/drivers/net/mlx5/meson.build index a4c684e1b5..42701c51de 100644 --- a/drivers/net/mlx5/meson.build +++ b/drivers/net/mlx5/meson.build @@ -13,20 +13,23 @@ if pmd_dlopen '-DMLX5_GLUE_VERSION="@0@"'.format(LIB_GLUE_VERSION), ] endif -libs = [ - dependency('libmnl', required:false), - dependency('libmlx5', required:false), - dependency('libibverbs', required:false), -] +libs = [ 'libmnl', 'libmlx5', 'libibverbs' ] +lib_deps = [] build = true foreach lib:libs - if not lib.found() + lib_dep = dependency(lib, required:false) + if not lib_dep.found() + lib_dep = cc.find_library(lib, required:false) + endif + if lib_dep.found() + lib_deps += [ lib_dep ] + else build = false endif endforeach if build allow_experimental_apis = true - ext_deps += libs + ext_deps += lib_deps sources = files( 'mlx5.c', 'mlx5_ethdev.c', @@ -299,7 +302,7 @@ if pmd_dlopen and build dlopen_sources, include_directories: global_inc, c_args: cflags, - dependencies: libs, + dependencies: lib_deps, link_args: [ '-Wl,-export-dynamic', '-Wl,-h,@0@'.format(LIB_GLUE),