examples/ip_frag: fix use of ethdev internal device array
[dpdk.git] / drivers / net / pcap / meson.build
index f88afd9..910dfab 100644 (file)
@@ -2,12 +2,20 @@
 # 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 pcap_dep.found()
+       build = true
 else
-       build = false
+       # pcap got a pkg-config file only in 1.9.0 and before that meson uses
+       # an internal pcap-config finder, which is not compatible with
+       # cross-compilation, so try to fallback to find_library
+       pcap_dep = cc.find_library('pcap', required: false)
+       if pcap_dep.found() and cc.has_header('pcap.h', dependencies: pcap_dep)
+               build = true
+               pkgconfig_extra_libs += '-lpcap'
+       else
+               build = false
+               reason = 'missing dependency, "libpcap"'
+       endif
 endif
 sources = files('rte_eth_pcap.c')
-pkgconfig_extra_libs += '-lpcap'
+ext_deps += pcap_dep