[v2] app/test-pmd: fix meson build failed when enabled pmd_bonded

Message ID 20200911055811.16474-1-stevex.yang@intel.com (mailing list archive)
State Superseded, archived
Delegated to: Ferruh Yigit
Headers
Series [v2] app/test-pmd: fix meson build failed when enabled pmd_bonded |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/iol-broadcom-Functional success Functional Testing PASS
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-testing fail Testing issues
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/travis-robot success Travis build: passed
ci/iol-mellanox-Performance success Performance Testing PASS
ci/Intel-compilation success Compilation OK

Commit Message

Steve Yang Sept. 11, 2020, 5:58 a.m. UTC
  The depended pmd bond is missing for test-pmd. Add the pmd_bond to deps,
and replace the relative MACRO name with new RTE_LIBRTE_BOND_PMD.

Signed-off-by: SteveX Yang <stevex.yang@intel.com>
---
v1->v2:
 * replaced the bond pmd MACRO with the new one;
 * removed header paths cflags of bond pmd;
---
 app/test-pmd/cmdline.c    | 10 +++++-----
 app/test-pmd/meson.build  |  3 +++
 app/test-pmd/parameters.c |  2 +-
 3 files changed, 9 insertions(+), 6 deletions(-)
  

Comments

Qiming Yang Sept. 11, 2020, 7:23 a.m. UTC | #1
> -----Original Message-----
> From: Yang, SteveX <stevex.yang@intel.com>
> Sent: Friday, September 11, 2020 13:58
> To: dev@dpdk.org
> Cc: Richardson, Bruce <bruce.richardson@intel.com>; Lu, Wenzhuo
> <wenzhuo.lu@intel.com>; Xing, Beilei <beilei.xing@intel.com>; Yang, Qiming
> <qiming.yang@intel.com>; Yang, SteveX <stevex.yang@intel.com>
> Subject: [PATCH v2] app/test-pmd: fix meson build failed when enabled
> pmd_bonded
> 
> The depended pmd bond is missing for test-pmd. Add the pmd_bond to
> deps, and replace the relative MACRO name with new
> RTE_LIBRTE_BOND_PMD.
> 
> Signed-off-by: SteveX Yang <stevex.yang@intel.com>

Fix line miss

> ---
> v1->v2:
>  * replaced the bond pmd MACRO with the new one;
>  * removed header paths cflags of bond pmd;
> ---
>  app/test-pmd/cmdline.c    | 10 +++++-----
>  app/test-pmd/meson.build  |  3 +++
>  app/test-pmd/parameters.c |  2 +-
>  3 files changed, 9 insertions(+), 6 deletions(-)
> 
> diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c index
> 0f33948e8..4ddc557af 100644
> --- a/app/test-pmd/cmdline.c
> +++ b/app/test-pmd/cmdline.c
> @@ -50,7 +50,7 @@
>  #include <cmdline_parse_etheraddr.h>
>  #include <cmdline_socket.h>
>  #include <cmdline.h>
> -#ifdef RTE_LIBRTE_PMD_BOND
> +#ifdef RTE_LIBRTE_BOND_PMD
>  #include <rte_eth_bond.h>
>  #include <rte_eth_bond_8023ad.h>
>  #endif
> @@ -603,7 +603,7 @@ static void cmd_help_long_parsed(void
> *parsed_result,
>  			"   Show the bypass configuration for a bypass
> enabled NIC"
>  			" using the lowest port on the NIC.\n\n"
> 
> -#ifdef RTE_LIBRTE_PMD_BOND
> +#ifdef RTE_LIBRTE_BOND_PMD
>  			"create bonded device (mode) (socket)\n"
>  			"	Create a new bonded device with specific
> bonding mode and socket.\n\n"
> 
> @@ -5738,7 +5738,7 @@ cmdline_parse_inst_t cmd_show_bypass_config =
> {
>  	},
>  };
> 
> -#ifdef RTE_LIBRTE_PMD_BOND
> +#ifdef RTE_LIBRTE_BOND_PMD
>  /* *** SET BONDING MODE *** */
>  struct cmd_set_bonding_mode_result {
>  	cmdline_fixed_string_t set;
> @@ -6508,7 +6508,7 @@ cmdline_parse_inst_t
> cmd_set_bonding_agg_mode_policy = {  };
> 
> 
> -#endif /* RTE_LIBRTE_PMD_BOND */
> +#endif /* RTE_LIBRTE_BOND_PMD */
> 
>  /* *** SET FORWARDING MODE *** */
>  struct cmd_set_fwd_mode_result {
> @@ -19520,7 +19520,7 @@ cmdline_parse_ctx_t main_ctx[] = {
>  	(cmdline_parse_inst_t *)&cmd_set_bypass_event,
>  	(cmdline_parse_inst_t *)&cmd_set_bypass_timeout,
>  	(cmdline_parse_inst_t *)&cmd_show_bypass_config, -#ifdef
> RTE_LIBRTE_PMD_BOND
> +#ifdef RTE_LIBRTE_BOND_PMD
>  	(cmdline_parse_inst_t *) &cmd_set_bonding_mode,
>  	(cmdline_parse_inst_t *) &cmd_show_bonding_config,
>  	(cmdline_parse_inst_t *) &cmd_set_bonding_primary, diff --git
> a/app/test-pmd/meson.build b/app/test-pmd/meson.build index
> ea56e547b..7ad87d010 100644
> --- a/app/test-pmd/meson.build
> +++ b/app/test-pmd/meson.build
> @@ -25,6 +25,9 @@ sources = files('5tswap.c',
>  	'util.c')
> 
>  deps += ['ethdev', 'gro', 'gso', 'cmdline', 'metrics', 'meter', 'bus_pci']
> +if dpdk_conf.has('RTE_LIBRTE_BOND_PMD')
> +	deps += 'pmd_bond'
> +endif
>  if dpdk_conf.has('RTE_LIBRTE_PDUMP')
>  	deps += 'pdump'
>  endif
> diff --git a/app/test-pmd/parameters.c b/app/test-pmd/parameters.c index
> 784515314..6402c9c12 100644
> --- a/app/test-pmd/parameters.c
> +++ b/app/test-pmd/parameters.c
> @@ -39,7 +39,7 @@
>  #include <rte_ether.h>
>  #include <rte_ethdev.h>
>  #include <rte_string_fns.h>
> -#ifdef RTE_LIBRTE_PMD_BOND
> +#ifdef RTE_LIBRTE_BOND_PMD
>  #include <rte_eth_bond.h>
>  #endif
>  #include <rte_flow.h>
> --
> 2.17.1
  
David Marchand Sept. 11, 2020, 7:43 a.m. UTC | #2
On Fri, Sep 11, 2020 at 8:15 AM SteveX Yang <stevex.yang@intel.com> wrote:
>
> The depended pmd bond is missing for test-pmd. Add the pmd_bond to deps,
> and replace the relative MACRO name with new RTE_LIBRTE_BOND_PMD.

meson changed the name of the driver define (when compared to make).
We can't backport this patch.

How/who will fix this in stable branches?
  
Bruce Richardson Sept. 11, 2020, 8:36 a.m. UTC | #3
On Fri, Sep 11, 2020 at 09:43:37AM +0200, David Marchand wrote:
> On Fri, Sep 11, 2020 at 8:15 AM SteveX Yang <stevex.yang@intel.com> wrote:
> >
> > The depended pmd bond is missing for test-pmd. Add the pmd_bond to deps,
> > and replace the relative MACRO name with new RTE_LIBRTE_BOND_PMD.
> 
> meson changed the name of the driver define (when compared to make).
> We can't backport this patch.
> 
> How/who will fix this in stable branches?
> 
For backports, would it be good to add into config/rte_config.h a
compatibility macro something like:

#if defined RTE_LIBRTE_BOND_PMD && !defined RTE_LIBRTE_PMD_BOND
#define RTE_LIBRTE_PMD_BOND 1
#endif
  
Bruce Richardson Sept. 11, 2020, 9:40 a.m. UTC | #4
On Fri, Sep 11, 2020 at 10:16:08AM +0100, Yang, SteveX wrote:
> Hi Bruce,
> 
> > -----Original Message-----
> > From: Bruce Richardson <bruce.richardson@intel.com>
> > Sent: Friday, September 11, 2020 4:37 PM
> > To: David Marchand <david.marchand@redhat.com>
> > Cc: Yang, SteveX <stevex.yang@intel.com>; dev <dev@dpdk.org>; Lu,
> > Wenzhuo <wenzhuo.lu@intel.com>; Xing, Beilei <beilei.xing@intel.com>;
> > Yang, Qiming <qiming.yang@intel.com>; Kevin Traynor
> > <ktraynor@redhat.com>; Luca Boccassi <bluca@debian.org>
> > Subject: Re: [dpdk-dev] [PATCH v2] app/test-pmd: fix meson build failed
> > when enabled pmd_bonded
> >
> > On Fri, Sep 11, 2020 at 09:43:37AM +0200, David Marchand wrote:
> > > On Fri, Sep 11, 2020 at 8:15 AM SteveX Yang <stevex.yang@intel.com>
> > wrote:
> > > >
> > > > The depended pmd bond is missing for test-pmd. Add the pmd_bond to
> > > > deps, and replace the relative MACRO name with new
> > RTE_LIBRTE_BOND_PMD.
> > >
> > > meson changed the name of the driver define (when compared to make).
> > > We can't backport this patch.
> > >
> > > How/who will fix this in stable branches?
> > >
> > For backports, would it be good to add into config/rte_config.h a
> > compatibility macro something like:
> >
> > #if defined RTE_LIBRTE_BOND_PMD && !defined RTE_LIBRTE_PMD_BOND
> > #define RTE_LIBRTE_PMD_BOND 1 #endif
> 
> Should I add above MACRO definition into config/rte_config.h with this fix patch?
> Or somebody else will fix it with another patch?

This would be a separate patch for backporting, rather than something that
is necessarily needed in your patch. However, if you want to add it for
backward compatibility of other external applications that may use the old
macro, feel free to do so.

If you can do it, probably the simplest solution is to do two separate
patches in a set - this patch for 20.11 only, and a second to add the
compatibility macro which can apply to 20.11 and be backported too.

/Bruce
  
David Marchand Sept. 11, 2020, 11:32 a.m. UTC | #5
On Fri, Sep 11, 2020 at 9:43 AM David Marchand
<david.marchand@redhat.com> wrote:
>
> On Fri, Sep 11, 2020 at 8:15 AM SteveX Yang <stevex.yang@intel.com> wrote:
> >
> > The depended pmd bond is missing for test-pmd. Add the pmd_bond to deps,
> > and replace the relative MACRO name with new RTE_LIBRTE_BOND_PMD.
>
> meson changed the name of the driver define (when compared to make).

It is likely we have other similar issues.
I excluded the doc, since we have pending patches.

*Disclaimer* My scripting might be buggy.

$ git grep -h DIRS-..CONFIG_RTE_ v20.08 -- drivers/*/Makefile |sed -e
's#DIRS-$(CONFIG_\(.*\)).*$#\1#' |sort > make.tokens
$ for meson in drivers/*/meson.build; do dir=$(dirname $meson);
format=$(git grep 'config_flag_fmt =' $meson |cut -d \' -f 2); for drv
in $dir/*; do drvname=$(basename $drv |tr '[a-z]' '[A-Z]'); echo
$format |sed -e "s/@0@/$drvname/"; done; done |sort > meson.tokens

$ for token in $(diff -u make.tokens meson.tokens |sed -n
's/^-\(RTE_LIBRTE.*\)/\1/p'); do output=$(git grep -l "$token\>" --
:^doc/) || continue; echo $token $output; done
RTE_LIBRTE_PMD_AESNI_GCM app/test/test_cryptodev.c
RTE_LIBRTE_PMD_AESNI_MB app/test/test_cryptodev.c
app/test/test_cryptodev_hash_test_vectors.h
RTE_LIBRTE_PMD_BOND app/test-pmd/cmdline.c app/test-pmd/parameters.c
RTE_LIBRTE_PMD_CAAM_JR app/test/test_cryptodev.c
RTE_LIBRTE_PMD_CCP app/test/test_cryptodev.c
RTE_LIBRTE_PMD_CRYPTO_SCHEDULER app/test-crypto-perf/main.c
app/test/meson.build app/test/test_cryptodev.c
examples/l2fwd-crypto/main.c
RTE_LIBRTE_PMD_DPAA2_EVENTDEV drivers/bus/fslmc/portal/dpaa2_hw_dpio.c
RTE_LIBRTE_PMD_DPAA2_SEC app/test/test_cryptodev.c
RTE_LIBRTE_PMD_DPAA_SEC app/test/test_cryptodev.c
RTE_LIBRTE_PMD_KASUMI app/test/test_cryptodev.c
RTE_LIBRTE_PMD_MVSAM_CRYPTO app/test/test_cryptodev.c
RTE_LIBRTE_PMD_NITROX app/test/test_cryptodev.c
RTE_LIBRTE_PMD_NULL app/test/test_cryptodev.c
RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO app/test/test_cryptodev.c
app/test/test_cryptodev_asym.c
RTE_LIBRTE_PMD_OCTEONTX_CRYPTO app/test/test_cryptodev.c
app/test/test_cryptodev_asym.c
RTE_LIBRTE_PMD_OPENSSL app/test/test_cryptodev.c app/test/test_cryptodev_asym.c
RTE_LIBRTE_PMD_RING app/test/test_eal_flags.c
RTE_LIBRTE_PMD_SNOW3G app/test/test_cryptodev.c
RTE_LIBRTE_PMD_VIRTIO_CRYPTO app/test/test_cryptodev.c
RTE_LIBRTE_PMD_ZUC app/test/test_cryptodev.c
RTE_LIBRTE_SFC_EFX_PMD config/arm/meson.build

Can this be looked at?
Thanks.
  
Bruce Richardson Sept. 11, 2020, 2:45 p.m. UTC | #6
On Fri, Sep 11, 2020 at 01:32:15PM +0200, David Marchand wrote:
> On Fri, Sep 11, 2020 at 9:43 AM David Marchand
> <david.marchand@redhat.com> wrote:
> >
> > On Fri, Sep 11, 2020 at 8:15 AM SteveX Yang <stevex.yang@intel.com> wrote:
> > >
> > > The depended pmd bond is missing for test-pmd. Add the pmd_bond to deps,
> > > and replace the relative MACRO name with new RTE_LIBRTE_BOND_PMD.
> >
> > meson changed the name of the driver define (when compared to make).
> 
> It is likely we have other similar issues.
> I excluded the doc, since we have pending patches.
> 
> *Disclaimer* My scripting might be buggy.
> 
> $ git grep -h DIRS-..CONFIG_RTE_ v20.08 -- drivers/*/Makefile |sed -e
> 's#DIRS-$(CONFIG_\(.*\)).*$#\1#' |sort > make.tokens
> $ for meson in drivers/*/meson.build; do dir=$(dirname $meson);
> format=$(git grep 'config_flag_fmt =' $meson |cut -d \' -f 2); for drv
> in $dir/*; do drvname=$(basename $drv |tr '[a-z]' '[A-Z]'); echo
> $format |sed -e "s/@0@/$drvname/"; done; done |sort > meson.tokens
> 
> $ for token in $(diff -u make.tokens meson.tokens |sed -n
> 's/^-\(RTE_LIBRTE.*\)/\1/p'); do output=$(git grep -l "$token\>" --
> :^doc/) || continue; echo $token $output; done
> RTE_LIBRTE_PMD_AESNI_GCM app/test/test_cryptodev.c
> RTE_LIBRTE_PMD_AESNI_MB app/test/test_cryptodev.c
> app/test/test_cryptodev_hash_test_vectors.h
> RTE_LIBRTE_PMD_BOND app/test-pmd/cmdline.c app/test-pmd/parameters.c
> RTE_LIBRTE_PMD_CAAM_JR app/test/test_cryptodev.c
> RTE_LIBRTE_PMD_CCP app/test/test_cryptodev.c
> RTE_LIBRTE_PMD_CRYPTO_SCHEDULER app/test-crypto-perf/main.c
> app/test/meson.build app/test/test_cryptodev.c
> examples/l2fwd-crypto/main.c
> RTE_LIBRTE_PMD_DPAA2_EVENTDEV drivers/bus/fslmc/portal/dpaa2_hw_dpio.c
> RTE_LIBRTE_PMD_DPAA2_SEC app/test/test_cryptodev.c
> RTE_LIBRTE_PMD_DPAA_SEC app/test/test_cryptodev.c
> RTE_LIBRTE_PMD_KASUMI app/test/test_cryptodev.c
> RTE_LIBRTE_PMD_MVSAM_CRYPTO app/test/test_cryptodev.c
> RTE_LIBRTE_PMD_NITROX app/test/test_cryptodev.c
> RTE_LIBRTE_PMD_NULL app/test/test_cryptodev.c
> RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO app/test/test_cryptodev.c
> app/test/test_cryptodev_asym.c
> RTE_LIBRTE_PMD_OCTEONTX_CRYPTO app/test/test_cryptodev.c
> app/test/test_cryptodev_asym.c
> RTE_LIBRTE_PMD_OPENSSL app/test/test_cryptodev.c app/test/test_cryptodev_asym.c
> RTE_LIBRTE_PMD_RING app/test/test_eal_flags.c
> RTE_LIBRTE_PMD_SNOW3G app/test/test_cryptodev.c
> RTE_LIBRTE_PMD_VIRTIO_CRYPTO app/test/test_cryptodev.c
> RTE_LIBRTE_PMD_ZUC app/test/test_cryptodev.c
> RTE_LIBRTE_SFC_EFX_PMD config/arm/meson.build
> 
> Can this be looked at?
> Thanks.
> 
Sure. What do you think we should do for these, do we just document the
change in the documentation, or should we keep strict compatibility by
adding legacy defines?

I don't particularly like keeping the old defines around, since they are
inconsistent in naming, but since we didn't announce a deprecation of the
old values perhaps we should add them in.

Thoughts?

/Bruce
  
Bruce Richardson Sept. 14, 2020, 8:33 a.m. UTC | #7
On Mon, Sep 14, 2020 at 08:18:14AM +0100, Yang, SteveX wrote:
> Hi Bruce,
> 
> Do you mean I can provide a patch set which includes following two commit fixes:
> 1. For 20.11, add 'pmd_bond' to deps, and change the old macro to RTE_LIBRTE_BOND_PMD;
> 2. For backporting version, add 'pmd_bond' to deps, and add the compatibility macro to the config/rte_config.h;
> 
> Are the two patches conflicted? Because both of them add the 'pmd_bond' to deps of test-pmd meson build with the same way.
> 
Hi Steve,

it seems that there are quite a lot of compatibility macros that will need
to be added so I think they will need to be managed separately. Therefore,
I would suggest just doing the 20.11 patch as originally planned for now.

/Bruce
  
David Marchand Sept. 14, 2020, 8:46 a.m. UTC | #8
On Fri, Sep 11, 2020 at 4:45 PM Bruce Richardson
<bruce.richardson@intel.com> wrote:
> I don't particularly like keeping the old defines around, since they are
> inconsistent in naming, but since we didn't announce a deprecation of the
> old values perhaps we should add them in.

I don't like keeping those either, but we did not announce it and
those defines are part of the API (people relying on them to control
their own code).
So my vote is on putting a deprecation for 21.02... cleaning the code
so that it uses $meson_token (example RTE_LIBRTE_BOND_PMD) and adding
a compat macro (meson -> make) as you suggested.

For the backports... the stable maintainers will be the one impacted :-).
  
Bruce Richardson Sept. 14, 2020, 4:24 p.m. UTC | #9
On Mon, Sep 14, 2020 at 08:18:14AM +0100, Yang, SteveX wrote:
> Hi Bruce,
> 
> Do you mean I can provide a patch set which includes following two commit fixes:
> 1. For 20.11, add 'pmd_bond' to deps, and change the old macro to RTE_LIBRTE_BOND_PMD;
> 2. For backporting version, add 'pmd_bond' to deps, and add the compatibility macro to the config/rte_config.h;
> 
> Are the two patches conflicted? Because both of them add the 'pmd_bond' to deps of test-pmd meson build with the same way.
> 
> Thanks & Regards,
> Steve Yang.
> 
I'm looking a bit deeper into these macro defines, and trying to do up a
general patchset that will close off a couple of issues simultaneously. I
suggest we see how far that work goes before doing any new revisions of
this set, as it hopefully will cover the issues here.

/Bruce
  
Bruce Richardson Sept. 16, 2020, 4:46 p.m. UTC | #10
> -----Original Message-----
> From: David Marchand <david.marchand@redhat.com>
> Sent: Friday, September 11, 2020 12:32 PM
> To: Yang, SteveX <stevex.yang@intel.com>; Richardson, Bruce
> <bruce.richardson@intel.com>
> Cc: dev <dev@dpdk.org>; Lu, Wenzhuo <wenzhuo.lu@intel.com>; Xing, Beilei
> <beilei.xing@intel.com>; Yang, Qiming <qiming.yang@intel.com>; Kevin
> Traynor <ktraynor@redhat.com>; Luca Boccassi <bluca@debian.org>; Thomas
> Monjalon <thomas@monjalon.net>; Power, Ciara <ciara.power@intel.com>
> Subject: Re: [dpdk-dev] [PATCH v2] app/test-pmd: fix meson build failed
> when enabled pmd_bonded
> 
> On Fri, Sep 11, 2020 at 9:43 AM David Marchand
> <david.marchand@redhat.com> wrote:
> >
> > On Fri, Sep 11, 2020 at 8:15 AM SteveX Yang <stevex.yang@intel.com>
> wrote:
> > >
> > > The depended pmd bond is missing for test-pmd. Add the pmd_bond to
> deps,
> > > and replace the relative MACRO name with new RTE_LIBRTE_BOND_PMD.
> >
> > meson changed the name of the driver define (when compared to make).
> 
> It is likely we have other similar issues.
> I excluded the doc, since we have pending patches.
> 
> *Disclaimer* My scripting might be buggy.
> 
> $ git grep -h DIRS-..CONFIG_RTE_ v20.08 -- drivers/*/Makefile |sed -e
> 's#DIRS-$(CONFIG_\(.*\)).*$#\1#' |sort > make.tokens
> $ for meson in drivers/*/meson.build; do dir=$(dirname $meson);
> format=$(git grep 'config_flag_fmt =' $meson |cut -d \' -f 2); for drv
> in $dir/*; do drvname=$(basename $drv |tr '[a-z]' '[A-Z]'); echo
> $format |sed -e "s/@0@/$drvname/"; done; done |sort > meson.tokens
> 
> $ for token in $(diff -u make.tokens meson.tokens |sed -n
> 's/^-\(RTE_LIBRTE.*\)/\1/p'); do output=$(git grep -l "$token\>" --
> :^doc/) || continue; echo $token $output; done
> RTE_LIBRTE_PMD_AESNI_GCM app/test/test_cryptodev.c
> RTE_LIBRTE_PMD_AESNI_MB app/test/test_cryptodev.c
> app/test/test_cryptodev_hash_test_vectors.h
> RTE_LIBRTE_PMD_BOND app/test-pmd/cmdline.c app/test-pmd/parameters.c
> RTE_LIBRTE_PMD_CAAM_JR app/test/test_cryptodev.c
> RTE_LIBRTE_PMD_CCP app/test/test_cryptodev.c
> RTE_LIBRTE_PMD_CRYPTO_SCHEDULER app/test-crypto-perf/main.c
> app/test/meson.build app/test/test_cryptodev.c
> examples/l2fwd-crypto/main.c
> RTE_LIBRTE_PMD_DPAA2_EVENTDEV drivers/bus/fslmc/portal/dpaa2_hw_dpio.c
> RTE_LIBRTE_PMD_DPAA2_SEC app/test/test_cryptodev.c
> RTE_LIBRTE_PMD_DPAA_SEC app/test/test_cryptodev.c
> RTE_LIBRTE_PMD_KASUMI app/test/test_cryptodev.c
> RTE_LIBRTE_PMD_MVSAM_CRYPTO app/test/test_cryptodev.c
> RTE_LIBRTE_PMD_NITROX app/test/test_cryptodev.c
> RTE_LIBRTE_PMD_NULL app/test/test_cryptodev.c
> RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO app/test/test_cryptodev.c
> app/test/test_cryptodev_asym.c
> RTE_LIBRTE_PMD_OCTEONTX_CRYPTO app/test/test_cryptodev.c
> app/test/test_cryptodev_asym.c
> RTE_LIBRTE_PMD_OPENSSL app/test/test_cryptodev.c
> app/test/test_cryptodev_asym.c
> RTE_LIBRTE_PMD_RING app/test/test_eal_flags.c
> RTE_LIBRTE_PMD_SNOW3G app/test/test_cryptodev.c
> RTE_LIBRTE_PMD_VIRTIO_CRYPTO app/test/test_cryptodev.c
> RTE_LIBRTE_PMD_ZUC app/test/test_cryptodev.c
> RTE_LIBRTE_SFC_EFX_PMD config/arm/meson.build
> 
> Can this be looked at?
> Thanks.
> 

One attempt at a fuller clean up of this area of the build: 
http://patches.dpdk.org/project/dpdk/list/?series=12283

Comments welcome.
  

Patch

diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
index 0f33948e8..4ddc557af 100644
--- a/app/test-pmd/cmdline.c
+++ b/app/test-pmd/cmdline.c
@@ -50,7 +50,7 @@ 
 #include <cmdline_parse_etheraddr.h>
 #include <cmdline_socket.h>
 #include <cmdline.h>
-#ifdef RTE_LIBRTE_PMD_BOND
+#ifdef RTE_LIBRTE_BOND_PMD
 #include <rte_eth_bond.h>
 #include <rte_eth_bond_8023ad.h>
 #endif
@@ -603,7 +603,7 @@  static void cmd_help_long_parsed(void *parsed_result,
 			"   Show the bypass configuration for a bypass enabled NIC"
 			" using the lowest port on the NIC.\n\n"
 
-#ifdef RTE_LIBRTE_PMD_BOND
+#ifdef RTE_LIBRTE_BOND_PMD
 			"create bonded device (mode) (socket)\n"
 			"	Create a new bonded device with specific bonding mode and socket.\n\n"
 
@@ -5738,7 +5738,7 @@  cmdline_parse_inst_t cmd_show_bypass_config = {
 	},
 };
 
-#ifdef RTE_LIBRTE_PMD_BOND
+#ifdef RTE_LIBRTE_BOND_PMD
 /* *** SET BONDING MODE *** */
 struct cmd_set_bonding_mode_result {
 	cmdline_fixed_string_t set;
@@ -6508,7 +6508,7 @@  cmdline_parse_inst_t cmd_set_bonding_agg_mode_policy = {
 };
 
 
-#endif /* RTE_LIBRTE_PMD_BOND */
+#endif /* RTE_LIBRTE_BOND_PMD */
 
 /* *** SET FORWARDING MODE *** */
 struct cmd_set_fwd_mode_result {
@@ -19520,7 +19520,7 @@  cmdline_parse_ctx_t main_ctx[] = {
 	(cmdline_parse_inst_t *)&cmd_set_bypass_event,
 	(cmdline_parse_inst_t *)&cmd_set_bypass_timeout,
 	(cmdline_parse_inst_t *)&cmd_show_bypass_config,
-#ifdef RTE_LIBRTE_PMD_BOND
+#ifdef RTE_LIBRTE_BOND_PMD
 	(cmdline_parse_inst_t *) &cmd_set_bonding_mode,
 	(cmdline_parse_inst_t *) &cmd_show_bonding_config,
 	(cmdline_parse_inst_t *) &cmd_set_bonding_primary,
diff --git a/app/test-pmd/meson.build b/app/test-pmd/meson.build
index ea56e547b..7ad87d010 100644
--- a/app/test-pmd/meson.build
+++ b/app/test-pmd/meson.build
@@ -25,6 +25,9 @@  sources = files('5tswap.c',
 	'util.c')
 
 deps += ['ethdev', 'gro', 'gso', 'cmdline', 'metrics', 'meter', 'bus_pci']
+if dpdk_conf.has('RTE_LIBRTE_BOND_PMD')
+	deps += 'pmd_bond'
+endif
 if dpdk_conf.has('RTE_LIBRTE_PDUMP')
 	deps += 'pdump'
 endif
diff --git a/app/test-pmd/parameters.c b/app/test-pmd/parameters.c
index 784515314..6402c9c12 100644
--- a/app/test-pmd/parameters.c
+++ b/app/test-pmd/parameters.c
@@ -39,7 +39,7 @@ 
 #include <rte_ether.h>
 #include <rte_ethdev.h>
 #include <rte_string_fns.h>
-#ifdef RTE_LIBRTE_PMD_BOND
+#ifdef RTE_LIBRTE_BOND_PMD
 #include <rte_eth_bond.h>
 #endif
 #include <rte_flow.h>