From: David Marchand Date: Mon, 8 Nov 2021 10:09:18 +0000 (+0100) Subject: build: cleanup libpcap dependent components X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=d6024c0a6757abe993012d8cffd1c512987ff2a8;p=dpdk.git build: cleanup libpcap dependent components 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 Acked-by: Stephen Hemminger --- 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 b312bb72e7..abab3fbb1d 100644 --- a/app/test/meson.build +++ b/app/test/meson.build @@ -411,7 +411,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 @@ -464,7 +465,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 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 17b5bec406..737cbd240a 100644 --- a/config/meson.build +++ b/config/meson.build @@ -226,7 +226,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