[v8,4/6] build: use dependency() for libbsd instead of manual append to ldflags

Message ID 20190226174637.27452-4-luca.boccassi@gmail.com (mailing list archive)
State Accepted, archived
Delegated to: Thomas Monjalon
Headers
Series [v8,1/6] build: bump minimum Meson version to 0.47.1 |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Luca Boccassi Feb. 26, 2019, 5:46 p.m. UTC
  From: Luca Boccassi <bluca@debian.org>

Move libbsd inclusion to librte_eal, so that all other libraries and
PMDs will inherit it.

Signed-off-by: Luca Boccassi <bluca@debian.org>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
v3: only add dependency to librte_eal and let it propagate from there
v4: add acked-by

 config/meson.build         | 10 +++++-----
 lib/librte_eal/meson.build |  3 +++
 2 files changed, 8 insertions(+), 5 deletions(-)
  

Patch

diff --git a/config/meson.build b/config/meson.build
index db32499b3..e1af468ee 100644
--- a/config/meson.build
+++ b/config/meson.build
@@ -74,11 +74,11 @@  if numa_dep.found() and cc.has_header('numaif.h')
 endif
 
 # check for strlcpy
-if host_machine.system() == 'linux' and cc.find_library('bsd',
-		required: false).found() and cc.has_header('bsd/string.h')
-	dpdk_conf.set('RTE_USE_LIBBSD', 1)
-	add_project_link_arguments('-lbsd', language: 'c')
-	dpdk_extra_ldflags += '-lbsd'
+if host_machine.system() == 'linux'
+	libbsd = dependency('libbsd', required: false)
+	if libbsd.found()
+		dpdk_conf.set('RTE_USE_LIBBSD', 1)
+	endif
 endif
 
 # add -include rte_config to cflags
diff --git a/lib/librte_eal/meson.build b/lib/librte_eal/meson.build
index 64d857a4a..98c1d1f31 100644
--- a/lib/librte_eal/meson.build
+++ b/lib/librte_eal/meson.build
@@ -24,6 +24,9 @@  endif
 version = 9  # the version of the EAL API
 allow_experimental_apis = true
 deps += 'kvargs'
+if dpdk_conf.has('RTE_USE_LIBBSD')
+	ext_deps += libbsd
+endif
 sources = common_sources + env_sources
 objs = common_objs + env_objs
 headers = common_headers + env_headers