net/pcap: fix cross compilation with meson
authorBruce Richardson <bruce.richardson@intel.com>
Fri, 15 Dec 2017 17:19:26 +0000 (17:19 +0000)
committerBruce Richardson <bruce.richardson@intel.com>
Tue, 30 Jan 2018 20:58:59 +0000 (21:58 +0100)
The detection of pcap as a dependency involves invoking pcap-config to get
parameters - something not possible in a cross-compilation environment.
Therefore we need to just look for the presence of the library in a
cross-compilation environment and assume if the library is present we can
compile and link against it.

Fixes: efd5d1a8d8dd ("drivers/net: build some vdev PMDs with meson")

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Luca Boccassi <bluca@debian.org>
drivers/net/pcap/meson.build

index f88afd9..8b81214 100644 (file)
@@ -1,13 +1,22 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
-pcap_dep = dependency('pcap', required: false)
-if pcap_dep.found() == true
-       ext_deps += pcap_dep
-elif find_program('pcap-config', required: false).found() == true
-       ext_deps += cc.find_library('pcap')
+if meson.is_cross_build()
+       pcap_dep = cc.find_library('pcap', required: false)
+       if pcap_dep.found()
+               ext_deps += pcap_dep
+       else
+               build = false
+       endif
 else
-       build = false
+       pcap_dep = dependency('pcap', required: false)
+       if pcap_dep.found() == true
+               ext_deps += pcap_dep
+       elif find_program('pcap-config', required: false).found() == true
+               ext_deps += cc.find_library('pcap')
+       else
+               build = false
+       endif
 endif
 sources = files('rte_eth_pcap.c')
 pkgconfig_extra_libs += '-lpcap'