DPDK patches and discussions
 help / color / Atom feed
From: "Stokes, Ian" <ian.stokes@intel.com>
To: "Pai G, Sunil" <sunil.pai.g@intel.com>,
	"Richardson, Bruce" <bruce.richardson@intel.com>,
	"dev@dpdk.org" <dev@dpdk.org>
Cc: "thomas@monjalon.net" <thomas@monjalon.net>,
	"bluca@debian.org" <bluca@debian.org>,
	"david.marchand@redhat.com" <david.marchand@redhat.com>,
	"ktraynor@redhat.com" <ktraynor@redhat.com>,
	"Richardson, Bruce" <bruce.richardson@intel.com>
Subject: Re: [dpdk-dev] [PATCH v2 0/7] improve DPDK static builds with meson
Date: Tue, 30 Jun 2020 16:37:06 +0000
Message-ID: <52156197ADF84D4FB1B836FA75938A8918E9B1BE@IRSMSX103.ger.corp.intel.com> (raw)
In-Reply-To: <MWHPR11MB180507EA254EAFC803AD3657BD6F0@MWHPR11MB1805.namprd11.prod.outlook.com>

> > -----Original Message-----
> > From: dev <dev-bounces@dpdk.org> On Behalf Of Bruce Richardson
> > Sent: Friday, May 1, 2020 7:24 PM
> > To: dev@dpdk.org
> > Cc: thomas@monjalon.net; bluca@debian.org; david.marchand@redhat.com;
> > ktraynor@redhat.com; Richardson, Bruce <bruce.richardson@intel.com>
> > Subject: [dpdk-dev] [PATCH v2 0/7] improve DPDK static builds with
> > meson
> >
> > This set fixes a number of minor issues with static builds when using
> > meson, both for linking apps/examples as part of a meson build itself
> > or when using pkg-config subsequently.
> >
> > Following this patchset, all DPDK static builds should be linking with
> > --whole- archive to ensure all lib and driver constructors are
> > included, and the use of pkg-config for doing static builds is
> > simplified. The downside is that for correctness we need two .pc files for DPDK
> rather than just one.
> >
> > v2: improved log messages for a number of patches, and clearly marked
> >     internal-only pkg-config file as such
> >
> > Bruce Richardson (7):
> >   build: always link-whole DPDK static libraries
> >   build: remove unnecessary variable
> >   devtools/test-meson-builds.sh: add pkg-config static builds
> >   build: move pkg-config creation to separate file
> >   build/pkg-config: output driver libs first for static build
> >   build/pkg-config: improve static linking flags
> >   build/pkg-config: prevent overlinking
> >
> >  app/meson.build                               |  2 +-
> >  app/test/meson.build                          |  2 +-
> >  buildtools/pkg-config/meson.build             | 43 +++++++++++++++++++
> >  .../pkg-config/set-static-linker-flags.py     | 38 ++++++++++++++++
> >  devtools/test-meson-builds.sh                 |  2 +-
> >  doc/guides/prog_guide/build-sdk-meson.rst     |  2 +-
> >  drivers/meson.build                           |  2 +-
> >  examples/bbdev_app/Makefile                   |  2 +-
> >  examples/bond/Makefile                        |  2 +-
> >  examples/cmdline/Makefile                     |  2 +-
> >  examples/distributor/Makefile                 |  2 +-
> >  examples/eventdev_pipeline/Makefile           |  2 +-
> >  examples/fips_validation/Makefile             |  2 +-
> >  examples/flow_classify/Makefile               |  2 +-
> >  examples/flow_filtering/Makefile              |  2 +-
> >  examples/helloworld/Makefile                  |  2 +-
> >  examples/ioat/Makefile                        |  2 +-
> >  examples/ip_fragmentation/Makefile            |  2 +-
> >  examples/ip_pipeline/Makefile                 |  2 +-
> >  examples/ip_reassembly/Makefile               |  2 +-
> >  examples/ipsec-secgw/Makefile                 |  2 +-
> >  examples/ipv4_multicast/Makefile              |  2 +-
> >  examples/kni/Makefile                         |  2 +-
> >  examples/l2fwd-cat/Makefile                   |  2 +-
> >  examples/l2fwd-crypto/Makefile                |  2 +-
> >  examples/l2fwd-event/Makefile                 |  2 +-
> >  examples/l2fwd-jobstats/Makefile              |  2 +-
> >  examples/l2fwd-keepalive/Makefile             |  2 +-
> >  examples/l2fwd/Makefile                       |  2 +-
> >  examples/l3fwd-acl/Makefile                   |  2 +-
> >  examples/l3fwd-power/Makefile                 |  2 +-
> >  examples/l3fwd/Makefile                       |  2 +-
> >  examples/link_status_interrupt/Makefile       |  2 +-
> >  examples/meson.build                          |  6 +--
> >  examples/ntb/Makefile                         |  2 +-
> >  examples/packet_ordering/Makefile             |  2 +-
> >  examples/ptpclient/Makefile                   |  2 +-
> >  examples/qos_meter/Makefile                   |  2 +-
> >  examples/qos_sched/Makefile                   |  2 +-
> >  examples/rxtx_callbacks/Makefile              |  2 +-
> >  examples/service_cores/Makefile               |  2 +-
> >  examples/skeleton/Makefile                    |  2 +-
> >  examples/tep_termination/Makefile             |  2 +-
> >  examples/timer/Makefile                       |  2 +-
> >  examples/vdpa/Makefile                        |  2 +-
> >  examples/vhost/Makefile                       |  2 +-
> >  examples/vhost_blk/Makefile                   |  2 +-
> >  examples/vhost_crypto/Makefile                |  2 +-
> >  examples/vmdq/Makefile                        |  2 +-
> >  examples/vmdq_dcb/Makefile                    |  2 +-
> >  lib/librte_telemetry/meson.build              |  1 -
> >  lib/meson.build                               |  2 +-
> >  meson.build                                   | 26 +----------
> >  53 files changed, 134 insertions(+), 76 deletions(-)  create mode
> > 100644 buildtools/pkg-config/meson.build  create mode 100644
> > buildtools/pkg- config/set-static-linker-flags.py
> >
> > --
> > 2.20.1
> 
> This series allows OVS to consume the DPDK libraries appropriately (static and
> shared) and simplifies the build.
> When building OVS with DPDK, without this patch, the linker would always pick
> the shared libraries over static even after specifying the -Bstatic flag.
> With this patch, no such behavior is observed. So, it would be very helpful for
> the OVS community if this patch is merged in DPDK.
> 
> I would also ask this series to be back ported to 19.11 as OVS can immediately
> consume it on the latest master instead of waiting on the next DPDK release i.e
> 20.11

+1, if this would be possible to apply to 19.11 as a backport it would enable OVS to move quicker and update the OVS Travis as well as docs and build scripts rather than waiting for DPDK 20.11. Sunil has already been working on these changes I believe.

Alternatively if it cant be backported to 19.11, then possibly we could look at merging Sunil's patches to the dpdk-latest branch in OVS once makefiles are deprecated in DPDK master?

Regards
Ian
> 
> Series-acked-by: Sunil Pai G <sunil.pai.g@intel.com>
> 


  reply index

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-29 10:08 [dpdk-dev] [PATCH " Bruce Richardson
2020-04-29 10:08 ` [dpdk-dev] [PATCH 1/7] build: always link-whole DPDK static libraries Bruce Richardson
2020-04-29 10:18   ` Thomas Monjalon
2020-04-29 10:42     ` Bruce Richardson
2020-04-29 10:49       ` Thomas Monjalon
2020-04-29 14:04   ` Andrzej Ostruszka [C]
2020-04-29 10:08 ` [dpdk-dev] [PATCH 2/7] build: remove unnecessary variable Bruce Richardson
2020-04-29 10:19   ` Thomas Monjalon
2020-04-29 10:29     ` Bruce Richardson
2020-04-29 10:08 ` [dpdk-dev] [PATCH 3/7] devtools/test-meson-builds.sh: add pkg-config static builds Bruce Richardson
2020-04-29 10:08 ` [dpdk-dev] [PATCH 4/7] build: move pkg-config creation to separate file Bruce Richardson
2020-04-29 10:08 ` [dpdk-dev] [PATCH 5/7] build/pkg-config: output driver libs first for static build Bruce Richardson
2020-04-29 10:30   ` Thomas Monjalon
2020-04-29 10:54     ` Bruce Richardson
2020-04-29 10:40   ` Luca Boccassi
2020-04-29 11:03     ` Bruce Richardson
2020-04-29 11:12       ` Luca Boccassi
2020-04-29 10:08 ` [dpdk-dev] [PATCH 6/7] build/pkg-config: improve static linking flags Bruce Richardson
2020-04-29 10:32   ` Thomas Monjalon
2020-04-29 10:56     ` Bruce Richardson
2020-04-29 10:57       ` Thomas Monjalon
2020-04-29 10:37   ` Luca Boccassi
2020-04-29 10:58     ` Bruce Richardson
2020-04-29 11:10       ` Luca Boccassi
2020-04-29 10:08 ` [dpdk-dev] [PATCH 7/7] build/pkg-config: prevent overlinking Bruce Richardson
2020-04-29 10:34   ` Thomas Monjalon
2020-04-29 11:00     ` Bruce Richardson
2020-05-01 13:53 ` [dpdk-dev] [PATCH v2 0/7] improve DPDK static builds with meson Bruce Richardson
2020-05-01 13:53   ` [dpdk-dev] [PATCH v2 1/7] build: always link-whole DPDK static libraries Bruce Richardson
2020-05-01 13:53   ` [dpdk-dev] [PATCH v2 2/7] build: remove unnecessary variable Bruce Richardson
2020-05-01 13:53   ` [dpdk-dev] [PATCH v2 3/7] devtools/test-meson-builds.sh: add pkg-config static builds Bruce Richardson
2020-05-01 13:53   ` [dpdk-dev] [PATCH v2 4/7] build: move pkg-config creation to separate file Bruce Richardson
2020-05-01 13:53   ` [dpdk-dev] [PATCH v2 5/7] build/pkg-config: output driver libs first for static build Bruce Richardson
2020-05-01 13:54   ` [dpdk-dev] [PATCH v2 6/7] build/pkg-config: improve static linking flags Bruce Richardson
2020-05-01 13:54   ` [dpdk-dev] [PATCH v2 7/7] build/pkg-config: prevent overlinking Bruce Richardson
2020-05-01 14:02   ` [dpdk-dev] [PATCH v2 0/7] improve DPDK static builds with meson Luca Boccassi
2020-06-30 13:25   ` Pai G, Sunil
2020-06-30 16:37     ` Stokes, Ian [this message]
2020-07-01 17:29       ` Thomas Monjalon
2020-07-02 10:46         ` Stokes, Ian
2020-06-30 14:14 ` [dpdk-dev] [PATCH v3 " Bruce Richardson
2020-06-30 14:14   ` [dpdk-dev] [PATCH v3 1/7] build: always link-whole DPDK static libraries Bruce Richardson
2020-07-01 14:19     ` Thomas Monjalon
2020-06-30 14:14   ` [dpdk-dev] [PATCH v3 2/7] build: remove unnecessary variable Bruce Richardson
2020-06-30 14:14   ` [dpdk-dev] [PATCH v3 3/7] devtools/test-meson-builds.sh: add pkg-config static builds Bruce Richardson
2020-06-30 14:14   ` [dpdk-dev] [PATCH v3 4/7] build: move pkg-config creation to separate file Bruce Richardson
2020-06-30 14:14   ` [dpdk-dev] [PATCH v3 5/7] build/pkg-config: output driver libs first for static build Bruce Richardson
2020-07-01  7:50     ` Thomas Monjalon
2020-07-01  8:43       ` Bruce Richardson
2020-07-01 14:42     ` Thomas Monjalon
2020-07-01 15:16       ` Bruce Richardson
2020-07-01 15:36         ` Thomas Monjalon
2020-07-01 15:45           ` Bruce Richardson
2020-07-01 16:04             ` Thomas Monjalon
2020-06-30 14:14   ` [dpdk-dev] [PATCH v3 6/7] build/pkg-config: improve static linking flags Bruce Richardson
2020-07-01 14:30     ` Thomas Monjalon
2020-07-01 14:33       ` Thomas Monjalon
2020-07-01 14:36         ` Bruce Richardson
2020-07-01 14:45           ` Thomas Monjalon
2020-06-30 14:14   ` [dpdk-dev] [PATCH v3 7/7] build/pkg-config: prevent overlinking Bruce Richardson
2020-07-01  7:56     ` Thomas Monjalon
2020-07-01  8:58       ` Bruce Richardson
2020-07-01 17:33   ` [dpdk-dev] [PATCH v3 0/7] improve DPDK static builds with meson Thomas Monjalon

Reply instructions:

You may reply publically 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=52156197ADF84D4FB1B836FA75938A8918E9B1BE@IRSMSX103.ger.corp.intel.com \
    --to=ian.stokes@intel.com \
    --cc=bluca@debian.org \
    --cc=bruce.richardson@intel.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=ktraynor@redhat.com \
    --cc=sunil.pai.g@intel.com \
    --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

DPDK patches and discussions

Archives are clonable:
	git clone --mirror http://inbox.dpdk.org/dev/0 dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dev dev/ http://inbox.dpdk.org/dev \
		dev@dpdk.org
	public-inbox-index dev


Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/ public-inbox