From 12784d9b6e2003d258958a0a986e0a48c6c3db45 Mon Sep 17 00:00:00 2001 From: Bruce Richardson Date: Thu, 2 May 2019 17:51:54 +0100 Subject: [PATCH] build: add libbsd to pkg-config file if enabled If libbsd is enabled in DPDK, the strlcpy and strlcat functions in rte_string_fns.h redirect to the varients in libbsd, only using the fallbacks if it is not enabled. Therefore, if libbsd is enabled, it needs to be called out as a DPDK dependency in the pkgconfig file. To ensure that we don't have undefined variables on non-Linux platforms, we can remove the linux condition around the libbsd check - no harm comes in looking for it on other OS, since it's an optional dependency. Signed-off-by: Bruce Richardson Acked-by: Luca Boccassi --- config/meson.build | 10 ++++------ meson.build | 2 ++ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/config/meson.build b/config/meson.build index 3678348de9..0d25646f56 100644 --- a/config/meson.build +++ b/config/meson.build @@ -132,12 +132,10 @@ if numa_dep.found() and cc.has_header('numaif.h') dpdk_extra_ldflags += '-lnuma' endif -# check for strlcpy -if is_linux - libbsd = dependency('libbsd', required: false) - if libbsd.found() - dpdk_conf.set('RTE_USE_LIBBSD', 1) - endif +# check for libbsd +libbsd = dependency('libbsd', required: false) +if libbsd.found() + dpdk_conf.set('RTE_USE_LIBBSD', 1) endif # add -include rte_config to cflags diff --git a/meson.build b/meson.build index d1e8e5239a..46f9c56830 100644 --- a/meson.build +++ b/meson.build @@ -70,6 +70,8 @@ pkg.generate(name: meson.project_name(), libraries: dpdk_libraries, libraries_private: dpdk_drivers + dpdk_static_libraries + ['-Wl,-Bdynamic'] + dpdk_extra_ldflags, + requires: libbsd, # apps using rte_string_fns.h may need this if enabled + # if libbsd is not enabled, then this is blank description: '''The Data Plane Development Kit (DPDK). Note that CFLAGS might contain an -march flag higher than typical baseline. This is required for a number of static inline functions in the public headers.''', -- 2.20.1