From: David Marchand <david.marchand@redhat.com>
To: dev@dpdk.org
Cc: thomas@monjalon.net, Reshma Pattan <reshma.pattan@intel.com>,
Stephen Hemminger <stephen@networkplumber.org>,
Konstantin Ananyev <konstantin.ananyev@intel.com>,
Bruce Richardson <bruce.richardson@intel.com>,
Ferruh Yigit <ferruh.yigit@intel.com>,
Cristian Dumitrescu <cristian.dumitrescu@intel.com>,
Ray Kinsella <mdr@ashroe.eu>
Subject: [dpdk-dev] [PATCH 1/2] build: cleanup libpcap dependent components
Date: Mon, 8 Nov 2021 11:09:18 +0100 [thread overview]
Message-ID: <20211108100920.31083-1-david.marchand@redhat.com> (raw)
The RTE_PORT_PCAP variable is used to signal libpcap availability,
though its name seems to refer to pcap support in the port library.
Prefer a generic name and add explicit link dependencies where needed.
Fixes: 7a944656b33f ("test/pcapng: test pcapng library")
Fixes: 2eccf6afbea9 ("bpf: add function to convert classic BPF to DPDK BPF")
Fixes: cbb44143be74 ("app/dumpcap: add new packet capture application")
Signed-off-by: David Marchand <david.marchand@redhat.com>
---
app/dumpcap/meson.build | 3 ++-
app/test/meson.build | 5 +++--
app/test/test_bpf.c | 4 ++--
config/meson.build | 2 +-
drivers/net/pcap/meson.build | 2 +-
lib/bpf/bpf_stub.c | 2 +-
lib/bpf/meson.build | 6 +++---
lib/port/meson.build | 3 ++-
8 files changed, 15 insertions(+), 12 deletions(-)
diff --git a/app/dumpcap/meson.build b/app/dumpcap/meson.build
index ad4fc6ae60..69c016c780 100644
--- a/app/dumpcap/meson.build
+++ b/app/dumpcap/meson.build
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2019 Microsoft Corporation
-if not dpdk_conf.has('RTE_PORT_PCAP')
+if not dpdk_conf.has('RTE_HAS_LIBPCAP')
build = false
reason = 'missing dependency, "libpcap"'
endif
@@ -12,5 +12,6 @@ if is_windows
subdir_done()
endif
+ext_deps += pcap_dep
sources = files('main.c')
deps += ['ethdev', 'pdump', 'pcapng', 'bpf']
diff --git a/app/test/meson.build b/app/test/meson.build
index 96670c3504..a12eadbb5a 100644
--- a/app/test/meson.build
+++ b/app/test/meson.build
@@ -410,7 +410,8 @@ if dpdk_conf.has('RTE_NET_RING')
fast_tests += [['pdump_autotest', true]]
endif
-if dpdk_conf.has('RTE_PORT_PCAP')
+if dpdk_conf.has('RTE_HAS_LIBPCAP')
+ ext_deps += pcap_dep
test_sources += 'test_pcapng.c'
endif
@@ -463,7 +464,7 @@ endif
dpdk_test = executable('dpdk-test',
test_sources,
link_whole: link_libs,
- dependencies: test_dep_objs,
+ dependencies: test_dep_objs + ext_deps,
c_args: cflags,
install_rpath: join_paths(get_option('prefix'),
driver_install_path),
diff --git a/app/test/test_bpf.c b/app/test/test_bpf.c
index ef861d05e7..e3e9a1b0b5 100644
--- a/app/test/test_bpf.c
+++ b/app/test/test_bpf.c
@@ -3250,7 +3250,7 @@ test_bpf(void)
REGISTER_TEST_COMMAND(bpf_autotest, test_bpf);
-#ifdef RTE_PORT_PCAP
+#ifdef RTE_HAS_LIBPCAP
#include <pcap/pcap.h>
static void
@@ -3447,4 +3447,4 @@ test_bpf_convert(void)
}
REGISTER_TEST_COMMAND(bpf_convert_autotest, test_bpf_convert);
-#endif /* RTE_PORT_PCAP */
+#endif /* RTE_HAS_LIBPCAP */
diff --git a/config/meson.build b/config/meson.build
index f7e2b2f331..5926892a68 100644
--- a/config/meson.build
+++ b/config/meson.build
@@ -231,7 +231,7 @@ if not pcap_dep.found()
pcap_dep = cc.find_library(pcap_lib, required: false)
endif
if pcap_dep.found() and cc.has_header('pcap.h', dependencies: pcap_dep)
- dpdk_conf.set('RTE_PORT_PCAP', 1)
+ dpdk_conf.set('RTE_HAS_LIBPCAP', 1)
dpdk_extra_ldflags += '-l@0@'.format(pcap_lib)
endif
diff --git a/drivers/net/pcap/meson.build b/drivers/net/pcap/meson.build
index 54246095b2..ed7864eb9d 100644
--- a/drivers/net/pcap/meson.build
+++ b/drivers/net/pcap/meson.build
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017 Intel Corporation
-if not dpdk_conf.has('RTE_PORT_PCAP')
+if not dpdk_conf.has('RTE_HAS_LIBPCAP')
build = false
reason = 'missing dependency, "libpcap"'
endif
diff --git a/lib/bpf/bpf_stub.c b/lib/bpf/bpf_stub.c
index caec00f42f..ebc5343896 100644
--- a/lib/bpf/bpf_stub.c
+++ b/lib/bpf/bpf_stub.c
@@ -27,7 +27,7 @@ rte_bpf_elf_load(const struct rte_bpf_prm *prm, const char *fname,
}
#endif
-#ifndef RTE_PORT_PCAP
+#ifndef RTE_HAS_LIBPCAP
struct rte_bpf_prm *
rte_bpf_convert(const struct bpf_program *prog)
{
diff --git a/lib/bpf/meson.build b/lib/bpf/meson.build
index 0df55a2236..cd739bb827 100644
--- a/lib/bpf/meson.build
+++ b/lib/bpf/meson.build
@@ -33,12 +33,12 @@ if dep.found()
sources += files('bpf_load_elf.c')
ext_deps += dep
else
- warning('libelf is missing, rte_bpf_elf_load API will be disabled')
+ warning('libelf is missing, rte_bpf_elf_load API will be disabled')
endif
-if dpdk_conf.has('RTE_PORT_PCAP')
+if dpdk_conf.has('RTE_HAS_LIBPCAP')
sources += files('bpf_convert.c')
ext_deps += pcap_dep
else
- warning('RTE_PORT_PCAP is missing, rte_bpf_convert API will be disabled')
+ warning('libpcap is missing, rte_bpf_convert API will be disabled')
endif
diff --git a/lib/port/meson.build b/lib/port/meson.build
index 854bf39cd9..3ab37e2cb4 100644
--- a/lib/port/meson.build
+++ b/lib/port/meson.build
@@ -41,7 +41,8 @@ headers = files(
)
deps += ['ethdev', 'sched', 'ip_frag', 'cryptodev', 'eventdev']
-if dpdk_conf.has('RTE_PORT_PCAP')
+if dpdk_conf.has('RTE_HAS_LIBPCAP')
+ dpdk_conf.set('RTE_PORT_PCAP', 1)
ext_deps += pcap_dep # dependency provided in config/meson.build
endif
--
2.23.0
next reply other threads:[~2021-11-08 10:09 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-08 10:09 David Marchand [this message]
2021-11-08 10:09 ` [dpdk-dev] [PATCH 2/2] test: fix dependency on pcapng David Marchand
2021-11-08 16:57 ` [dpdk-dev] [PATCH 1/2] build: cleanup libpcap dependent components Stephen Hemminger
2021-11-10 10:57 ` David Marchand
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20211108100920.31083-1-david.marchand@redhat.com \
--to=david.marchand@redhat.com \
--cc=bruce.richardson@intel.com \
--cc=cristian.dumitrescu@intel.com \
--cc=dev@dpdk.org \
--cc=ferruh.yigit@intel.com \
--cc=konstantin.ananyev@intel.com \
--cc=mdr@ashroe.eu \
--cc=reshma.pattan@intel.com \
--cc=stephen@networkplumber.org \
--cc=thomas@monjalon.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).