[dpdk-dev] [PATCH 2/2] net/pcap: fix cross compilation

Bruce Richardson bruce.richardson at intel.com
Tue Dec 19 11:52:22 CET 2017


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.

Signed-off-by: Bruce Richardson <bruce.richardson at intel.com>
---
 drivers/net/pcap/meson.build | 21 +++++++++++++++------
 1 file changed, 15 insertions(+), 6 deletions(-)

diff --git a/drivers/net/pcap/meson.build b/drivers/net/pcap/meson.build
index 2051ccab0..36f997c39 100644
--- a/drivers/net/pcap/meson.build
+++ b/drivers/net/pcap/meson.build
@@ -29,13 +29,22 @@
 #   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 #   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-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'
-- 
2.14.3



More information about the dev mailing list