build: fix check for libbsd in meson
authorBruce Richardson <bruce.richardson@intel.com>
Fri, 27 Apr 2018 13:49:27 +0000 (14:49 +0100)
committerBruce Richardson <bruce.richardson@intel.com>
Tue, 8 May 2018 20:21:56 +0000 (22:21 +0200)
When we check for libbsd we were just checking for the library itself.
However, on some distros, e.g. CentOS, libbsd will be found even though
it's not usable by DPDK as it's missing the string header. Therefore we
should check for both the library and the header file.

Fixes: 5364de644a4b ("eal: support strlcpy function")

Signed-off-by: Bruce Richarson <bruce.richardson@intel.com>
Reported-by: Vladimir Medvedkin <medvedkinv@gmail.com>
Acked-by: Vladimir Medvedkin <medvedkinv@gmail.com>
Acked-by: Luca Boccassi <bluca@debian.org>
config/meson.build

index 5815b56..2179c68 100644 (file)
@@ -43,7 +43,8 @@ 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()
+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'