diff options
authorBruce Richardson <>2019-05-02 17:51:54 +0100
committerThomas Monjalon <>2019-05-02 23:07:14 +0200
commit12784d9b6e2003d258958a0a986e0a48c6c3db45 (patch)
parente09848337cac0f18833557034b181a48af517193 (diff)
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 <>
2 files changed, 6 insertions, 6 deletions
diff --git a/config/ b/config/
index 3678348..0d25646 100644
--- a/config/
+++ b/config/
@@ -132,12 +132,10 @@ if numa_dep.found() and cc.has_header('numaif.h')
dpdk_extra_ldflags += '-lnuma'
-# 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)
# add -include rte_config to cflags
diff --git a/ b/
index d1e8e52..46f9c56 100644
--- a/
+++ b/
@@ -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.''',