[dpdk-dev,RFCv2,17/40] build: add pcap PMD support
Checks
Commit Message
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/meson.build | 13 ++++++++++---
drivers/net/pcap/meson.build | 38 ++++++++++++++++++++++++++++++++++++++
2 files changed, 48 insertions(+), 3 deletions(-)
create mode 100644 drivers/net/pcap/meson.build
@@ -29,14 +29,21 @@
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-drivers = ['i40e', 'ixgbe']
+net_drivers = ['i40e', 'ixgbe']
# af_packet only works on linux
if host_machine.system() == 'linux'
- drivers += 'af_packet'
+ net_drivers += 'af_packet'
endif
-foreach drv:drivers
+pcap_dep = dependency('pcap', required: false)
+# pcap doesn't use pkg-config, but future meson versions should support picking
+# it up as a dependency. For older versions <0.42 use find_program instead
+if pcap_dep.found() or find_program('pcap-config', required: false).found()
+ net_drivers += 'pcap'
+endif
+
+foreach drv:net_drivers
dpdk_conf.set('RTE_LIBRTE_@0@_PMD'.format(drv.to_upper()),1)
# set up empty variables used for build
new file mode 100644
@@ -0,0 +1,38 @@
+# BSD LICENSE
+#
+# Copyright(c) 2017 Intel Corporation. All rights reserved.
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# * Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+# * Neither the name of Intel Corporation nor the names of its
+# contributors may be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+sources = files('rte_eth_pcap.c')
+
+if pcap_dep.found()
+ deps += pcap_dep
+else
+ deps += cc.find_library('pcap')
+endif
\ No newline at end of file