[dpdk-dev] net/pcap: simplify dependency checking using meson

Message ID 20180222172033.302037-1-bruce.richardson@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Bruce Richardson
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Bruce Richardson Feb. 22, 2018, 5:20 p.m. UTC
  Rather than trying to use meson's build-in detection for libpcap, and
having to special-case cross-building, just check for the presence of
pcap.h and the pcap library.

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

Comments

Hemant Agrawal Feb. 22, 2018, 6 p.m. UTC | #1
On 2/22/2018 10:50 PM, Bruce Richardson wrote:
> Rather than trying to use meson's build-in detection for libpcap, and
> having to special-case cross-building, just check for the presence of
> pcap.h and the pcap library.
> 
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> ---
>   drivers/net/pcap/meson.build | 20 +++++---------------
>   1 file changed, 5 insertions(+), 15 deletions(-)
> 
Tested-by: Hemant Agrawal <hemant.agrawal@nxp.com>
  
Bruce Richardson March 12, 2018, 3:11 p.m. UTC | #2
On Thu, Feb 22, 2018 at 11:30:44PM +0530, Hemant Agrawal wrote:
> On 2/22/2018 10:50 PM, Bruce Richardson wrote:
> > Rather than trying to use meson's build-in detection for libpcap, and
> > having to special-case cross-building, just check for the presence of
> > pcap.h and the pcap library.
> > 
> > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> > ---
> >   drivers/net/pcap/meson.build | 20 +++++---------------
> >   1 file changed, 5 insertions(+), 15 deletions(-)
> > 
> Tested-by: Hemant Agrawal <hemant.agrawal@nxp.com>

Applied to dpdk-next-build

/Bruce
  

Patch

diff --git a/drivers/net/pcap/meson.build b/drivers/net/pcap/meson.build
index 8b81214e5..0c4e0201a 100644
--- a/drivers/net/pcap/meson.build
+++ b/drivers/net/pcap/meson.build
@@ -1,22 +1,12 @@ 
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
-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
+pcap_dep = cc.find_library('pcap', required: false)
+if pcap_dep.found() and cc.has_header('pcap.h', dependencies: pcap_dep)
+	build = true
 else
-	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
+	build = false
 endif
 sources = files('rte_eth_pcap.c')
+ext_deps += pcap_dep
 pkgconfig_extra_libs += '-lpcap'