[dpdk-dev] [PATCH 3/6] net/mlx: fix library search in meson build
Yongseok Koh
yskoh at mellanox.com
Mon Apr 15 21:48:23 CEST 2019
Hi,
Thanks,
Yongseok
> On Apr 15, 2019, at 3:12 AM, Luca Boccassi <bluca at debian.org> wrote:
>
> On Fri, 2019-04-12 at 16:24 -0700, Yongseok Koh wrote:
>> 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 at debian.org
>>
>> Cc:
>> stable at dpdk.org
>>
>>
>> Signed-off-by: Yongseok Koh <
>> yskoh at mellanox.com
>>>
>> ---
>> 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)
>
> Doesn't this end up trying to link the test program to -llibmnl and
> thus failing?
I also worried about that. But it works fine.
Looks meson is smart enough. :-)
>> + 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, at 0@'.format(LIB_GLUE),
>
> --
> Kind regards,
> Luca Boccassi
More information about the dev
mailing list