DPDK patches and discussions
 help / color / mirror / Atom feed
From: Bruce Richardson <bruce.richardson@intel.com>
To: Thomas Monjalon <thomas@monjalon.net>
Cc: dev@dpdk.org, Gregory Etelson <getelson@nvidia.com>,
	Nicolas Chautru <nicolas.chautru@intel.com>,
	Chas Williams <chas3@att.com>,
	"Min Hu (Connor)" <humin29@huawei.com>,
	Olivier Matz <olivier.matz@6wind.com>,
	David Hunt <david.hunt@intel.com>,
	Harry van Haaren <harry.van.haaren@intel.com>,
	Marko Kovacevic <marko.kovacevic@intel.com>,
	Bernard Iremonger <bernard.iremonger@intel.com>,
	Ori Kam <orika@nvidia.com>,
	Konstantin Ananyev <konstantin.ananyev@intel.com>,
	Cristian Dumitrescu <cristian.dumitrescu@intel.com>,
	Radu Nicolau <radu.nicolau@intel.com>,
	Akhil Goyal <akhil.goyal@nxp.com>,
	Ferruh Yigit <ferruh.yigit@intel.com>,
	Tomasz Kantecki <tomasz.kantecki@intel.com>,
	Declan Doherty <declan.doherty@intel.com>,
	Sunil Kumar Kori <skori@marvell.com>,
	Pavan Nikhilesh <pbhagavatula@marvell.com>,
	Jerin Jacob <jerinj@marvell.com>,
	Kiran Kumar K <kirankumark@marvell.com>,
	Nithin Dabilpuram <ndabilpuram@marvell.com>,
	Anatoly Burakov <anatoly.burakov@intel.com>,
	Xiaoyun Li <xiaoyun.li@intel.com>,
	Jingjing Wu <jingjing.wu@intel.com>,
	Reshma Pattan <reshma.pattan@intel.com>,
	John McNamara <john.mcnamara@intel.com>,
	Kirill Rybalchenko <kirill.rybalchenko@intel.com>,
	Jasvinder Singh <jasvinder.singh@intel.com>,
	Byron Marohn <byron.marohn@intel.com>,
	Yipeng Wang <yipeng1.wang@intel.com>,
	Robert Sanford <rsanford@akamai.com>,
	Erik Gabriel Carrillo <erik.g.carrillo@intel.com>,
	Maxime Coquelin <maxime.coquelin@redhat.com>,
	Chenbo Xia <chenbo.xia@intel.com>
Subject: Re: [dpdk-dev] [PATCH] examples: warn about broken pkg-config
Date: Fri, 29 Jan 2021 15:55:11 +0000	[thread overview]
Message-ID: <20210129155511.GK929@bricha3-MOBL.ger.corp.intel.com> (raw)
In-Reply-To: <6153571.i5FVJI79gW@thomas>

On Fri, Jan 29, 2021 at 04:47:35PM +0100, Thomas Monjalon wrote:
> 19/01/2021 14:03, Bruce Richardson:
> > Since the examples are designed to be built by end-users using Make, we
> > can detect and warn about broken pkg-config on the user's system as part
> > of the build process.
> > 
> > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> > ---
> >  examples/bbdev_app/Makefile                          |  8 ++++++++
> >  examples/bond/Makefile                               |  8 ++++++++
> >  examples/cmdline/Makefile                            |  8 ++++++++
> >  examples/distributor/Makefile                        |  8 ++++++++
> >  examples/ethtool/ethtool-app/Makefile                |  8 ++++++++
> >  examples/eventdev_pipeline/Makefile                  |  8 ++++++++
> >  examples/fips_validation/Makefile                    |  8 ++++++++
> >  examples/flow_classify/Makefile                      |  8 ++++++++
> >  examples/flow_filtering/Makefile                     |  8 ++++++++
> >  examples/helloworld/Makefile                         |  8 ++++++++
> >  examples/ioat/Makefile                               |  8 ++++++++
> >  examples/ip_fragmentation/Makefile                   | 11 ++++++++++-
> >  examples/ip_pipeline/Makefile                        |  8 ++++++++
> >  examples/ip_reassembly/Makefile                      |  8 ++++++++
> >  examples/ipsec-secgw/Makefile                        |  8 ++++++++
> >  examples/ipv4_multicast/Makefile                     |  8 ++++++++
> >  examples/kni/Makefile                                |  8 ++++++++
> >  examples/l2fwd-cat/Makefile                          |  8 ++++++++
> >  examples/l2fwd-crypto/Makefile                       |  8 ++++++++
> >  examples/l2fwd-event/Makefile                        |  8 ++++++++
> >  examples/l2fwd-jobstats/Makefile                     |  8 ++++++++
> >  examples/l2fwd-keepalive/Makefile                    |  8 ++++++++
> >  examples/l2fwd-keepalive/ka-agent/Makefile           |  8 ++++++++
> >  examples/l2fwd/Makefile                              |  8 ++++++++
> >  examples/l3fwd-acl/Makefile                          |  8 ++++++++
> >  examples/l3fwd-graph/Makefile                        | 12 +++++++++++-
> >  examples/l3fwd-power/Makefile                        |  8 ++++++++
> >  examples/l3fwd/Makefile                              |  8 ++++++++
> >  examples/link_status_interrupt/Makefile              |  8 ++++++++
> >  .../client_server_mp/mp_client/Makefile              |  8 ++++++++
> >  .../client_server_mp/mp_server/Makefile              |  8 ++++++++
> >  examples/multi_process/hotplug_mp/Makefile           |  8 ++++++++
> >  examples/multi_process/simple_mp/Makefile            |  8 ++++++++
> >  examples/multi_process/symmetric_mp/Makefile         |  8 ++++++++
> >  examples/ntb/Makefile                                | 11 ++++++++++-
> >  examples/packet_ordering/Makefile                    |  8 ++++++++
> >  examples/performance-thread/l3fwd-thread/Makefile    |  8 ++++++++
> >  examples/performance-thread/pthread_shim/Makefile    |  8 ++++++++
> >  examples/pipeline/Makefile                           |  8 ++++++++
> >  examples/ptpclient/Makefile                          |  8 ++++++++
> >  examples/qos_meter/Makefile                          |  8 ++++++++
> >  examples/qos_sched/Makefile                          |  8 ++++++++
> >  examples/rxtx_callbacks/Makefile                     |  8 ++++++++
> >  examples/server_node_efd/node/Makefile               |  8 ++++++++
> >  examples/server_node_efd/server/Makefile             |  8 ++++++++
> >  examples/service_cores/Makefile                      |  8 ++++++++
> >  examples/skeleton/Makefile                           |  8 ++++++++
> >  examples/timer/Makefile                              |  8 ++++++++
> >  examples/vdpa/Makefile                               |  8 ++++++++
> >  examples/vhost/Makefile                              |  8 ++++++++
> >  examples/vhost_blk/Makefile                          |  8 ++++++++
> >  examples/vhost_crypto/Makefile                       |  8 ++++++++
> >  examples/vm_power_manager/Makefile                   |  8 ++++++++
> >  examples/vm_power_manager/guest_cli/Makefile         |  8 ++++++++
> >  examples/vmdq/Makefile                               |  8 ++++++++
> >  examples/vmdq_dcb/Makefile                           |  8 ++++++++
> >  56 files changed, 455 insertions(+), 3 deletions(-)
> 
> That's a lot of duplicated code that may need some extension in future.
> What about having a file examples/common.mk to include?
> With the special syntax -include there will be no error in case
> ../common.mk does not exist. Deal?
> 
> ref: https://www.gnu.org/software/make/manual/html_node/Include.html
> 

Yes, and no. There is far more boilerplate already in these files which
needs to be consolidated, so I see little point in just trying to extract
this part out alone. Therefore, what I'd like to see done (if ever someone
has the time) is to extract all the boilerplate out to a common makefile,
but also add a postinstall script to flatten out the makefile on install,
so that each example is once again self-contained.

I've been thinking about this for a while, just haven't got time for it.

/Bruce

  reply	other threads:[~2021-01-29 15:55 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-19 13:03 Bruce Richardson
2021-01-29 15:47 ` Thomas Monjalon
2021-01-29 15:55   ` Bruce Richardson [this message]
2021-01-29 16:04     ` Burakov, Anatoly
2021-01-29 16:05       ` Bruce Richardson
2021-01-29 16:27         ` Thomas Monjalon
2021-01-29 16:51           ` Bruce Richardson
2021-01-30  0:32 ` Thomas Monjalon

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=20210129155511.GK929@bricha3-MOBL.ger.corp.intel.com \
    --to=bruce.richardson@intel.com \
    --cc=akhil.goyal@nxp.com \
    --cc=anatoly.burakov@intel.com \
    --cc=bernard.iremonger@intel.com \
    --cc=byron.marohn@intel.com \
    --cc=chas3@att.com \
    --cc=chenbo.xia@intel.com \
    --cc=cristian.dumitrescu@intel.com \
    --cc=david.hunt@intel.com \
    --cc=declan.doherty@intel.com \
    --cc=dev@dpdk.org \
    --cc=erik.g.carrillo@intel.com \
    --cc=ferruh.yigit@intel.com \
    --cc=getelson@nvidia.com \
    --cc=harry.van.haaren@intel.com \
    --cc=humin29@huawei.com \
    --cc=jasvinder.singh@intel.com \
    --cc=jerinj@marvell.com \
    --cc=jingjing.wu@intel.com \
    --cc=john.mcnamara@intel.com \
    --cc=kirankumark@marvell.com \
    --cc=kirill.rybalchenko@intel.com \
    --cc=konstantin.ananyev@intel.com \
    --cc=marko.kovacevic@intel.com \
    --cc=maxime.coquelin@redhat.com \
    --cc=ndabilpuram@marvell.com \
    --cc=nicolas.chautru@intel.com \
    --cc=olivier.matz@6wind.com \
    --cc=orika@nvidia.com \
    --cc=pbhagavatula@marvell.com \
    --cc=radu.nicolau@intel.com \
    --cc=reshma.pattan@intel.com \
    --cc=rsanford@akamai.com \
    --cc=skori@marvell.com \
    --cc=thomas@monjalon.net \
    --cc=tomasz.kantecki@intel.com \
    --cc=xiaoyun.li@intel.com \
    --cc=yipeng1.wang@intel.com \
    /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).