numam-dpdk/drivers/net/pcap/meson.build
Luca Boccassi 3ce6474b22 build: improve pcap dependency handling
pcap has historically shipped a custom pcap-config binary tool which
does the job of pkg-config. It was never compatible with cross
compilation.
Meson uses it when using dependency(), which then means cross
compilation fails.
Set pcap-config to empty in the meson cross compilation files so
that Meson will not use it, and add a fallback in case
dependency() fails.
libpcap 1.9.0 finally ships a pkg-config file so everything will
work out of the box in the future.

Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
2019-03-01 14:19:56 +01:00

21 lines
623 B
Meson

# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017 Intel Corporation
pcap_dep = dependency('pcap', required: false)
if pcap_dep.found()
build = true
else
# 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
endif
endif
sources = files('rte_eth_pcap.c')
ext_deps += pcap_dep