[dpdk-dev] [PATCH v2 3/3] build: bump minimum Meson to 0.47.1 and use dependency() for libbsd
Luca Boccassi
bluca at debian.org
Fri Jan 11 13:38:09 CET 2019
Move libbsd inclusion to librte_eal, so that all other libraries and
PMDs will inherit it, and librte_cmdline which is built before
librte_eal.
Bump Meson dependency to 0.47.1, to avoid bug where the linker flag of
the dependency gets replicated again and again.
Signed-off-by: Luca Boccassi <bluca at debian.org>
---
v2: bump meson minimum version to 0.47.1 to avoid meson bug, and move
libbsd dependency to eal and cmdline
config/meson.build | 10 +++++-----
lib/librte_cmdline/meson.build | 4 ++++
lib/librte_eal/meson.build | 3 +++
meson.build | 2 +-
4 files changed, 13 insertions(+), 6 deletions(-)
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_cmdline/meson.build b/lib/librte_cmdline/meson.build
index 30498906c..be286d4a2 100644
--- a/lib/librte_cmdline/meson.build
+++ b/lib/librte_cmdline/meson.build
@@ -5,6 +5,10 @@
includes = [global_inc]
includes += include_directories('../librte_eal/common/include')
+if dpdk_conf.has('RTE_USE_LIBBSD')
+ ext_deps += libbsd
+endif
+
version = 2
sources = files('cmdline.c',
'cmdline_cirbuf.c',
diff --git a/lib/librte_eal/meson.build b/lib/librte_eal/meson.build
index a18f3a826..fa60736c9 100644
--- a/lib/librte_eal/meson.build
+++ b/lib/librte_eal/meson.build
@@ -25,6 +25,9 @@ version = 9 # the version of the EAL API
allow_experimental_apis = true
deps += 'compat'
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
diff --git a/meson.build b/meson.build
index 35126106a..4041eccb6 100644
--- a/meson.build
+++ b/meson.build
@@ -5,7 +5,7 @@ project('DPDK', 'C',
version: '19.02.0-rc1',
license: 'BSD',
default_options: ['buildtype=release', 'default_library=static'],
- meson_version: '>= 0.42'
+ meson_version: '>= 0.47.1'
)
# set up some global vars for compiler, platform, configuration, etc.
--
2.20.1
More information about the dev
mailing list