[dpdk-dev] [PATCH 0/8] Support sample applications with new build system
Bruce Richardson
bruce.richardson at intel.com
Thu Oct 19 10:39:13 CEST 2017
On Wed, Oct 18, 2017 at 06:11:51PM +0100, Luca Boccassi wrote:
> On Tue, 2017-10-17 at 17:12 +0100, Bruce Richardson wrote:
> > This patchset enables sample apps to be used with the new meson build
> > system. The work is really three-fold:
> >
> > * fix issues and pre-requisites to get the sample apps compiling,
> > such as
> > ensuring that all needed PMDs are enabled, e.g. bond PMD for bond
> > example
> > * allow examples - one or more - to built as part of a regular build,
> > so as
> > to allow easier testing of feature X using its sample app
> > * change the example app Makefiles so that when compiled as
> > standalone
> > entities they use the pkg-config information when available, and
> > only the
> > DPDK makefile system if pkgconfig info is not installed.
> >
> > Bruce Richardson (8):
> > build: add maths library to libs in pkg-config file
> > build: add detection and use of libnuma
> > lpm: install vector header files
> > event: add skeleton and sw eventdevs to meson build
> > net/bonding: add to meson build
> > examples: allow building examples as part of a meson build
> > examples: put app name and sources at top of makefiles
> > examples: use pkg-config info when building examples
> >
> > config/meson.build | 11 ++++
> > drivers/event/meson.build | 35 ++++++++++
> > drivers/event/skeleton/meson.build | 32 +++++++++
> > drivers/event/sw/meson.build | 37 +++++++++++
> > drivers/meson.build | 2 +-
> > drivers/net/bonding/meson.build | 39 +++++++++++
> > drivers/net/meson.build | 3 +-
> > examples/bond/Makefile | 35 ++++++++--
> > examples/bond/meson.build | 40 ++++++++++++
> > examples/cmdline/Makefile | 29 +++++++++
> > examples/cmdline/meson.build | 39 +++++++++++
> > examples/distributor/Makefile | 35 ++++++++--
> > examples/distributor/meson.build | 40 ++++++++++++
> > examples/eventdev_pipeline_sw_pmd/Makefile | 35 ++++++++--
> > examples/eventdev_pipeline_sw_pmd/meson.build | 40 ++++++++++++
> > examples/exception_path/Makefile | 35 ++++++++--
> > examples/exception_path/meson.build | 39 +++++++++++
> > examples/helloworld/Makefile | 35 ++++++++--
> > examples/helloworld/meson.build | 39 +++++++++++
> > examples/ip_fragmentation/Makefile | 35 ++++++++--
> > examples/ip_fragmentation/meson.build | 40 ++++++++++++
> > examples/ip_pipeline/Makefile | 93
> > ++++++++++++++++++---------
> > examples/ip_pipeline/meson.build | 63
> > ++++++++++++++++++
> > examples/ip_reassembly/Makefile | 35 ++++++++--
> > examples/ip_reassembly/meson.build | 40 ++++++++++++
> > examples/ipsec-secgw/Makefile | 55 +++++++++++-----
> > examples/ipsec-secgw/meson.build | 41 ++++++++++++
> > examples/ipv4_multicast/Makefile | 35 ++++++++--
> > examples/ipv4_multicast/meson.build | 40 ++++++++++++
> > examples/kni/Makefile | 34 ++++++++--
> > examples/kni/meson.build | 40 ++++++++++++
> > examples/l2fwd-cat/Makefile | 37 +++++++++--
> > examples/l2fwd-cat/meson.build | 42 ++++++++++++
> > examples/l2fwd-crypto/Makefile | 34 ++++++++--
> > examples/l2fwd-crypto/meson.build | 40 ++++++++++++
> > examples/l2fwd-jobstats/Makefile | 34 ++++++++--
> > examples/l2fwd-jobstats/meson.build | 40 ++++++++++++
> > examples/l2fwd-keepalive/Makefile | 36 +++++++++--
> > examples/l2fwd-keepalive/meson.build | 40 ++++++++++++
> > examples/l2fwd/Makefile | 34 ++++++++--
> > examples/l2fwd/meson.build | 39 +++++++++++
> > examples/l3fwd-acl/Makefile | 34 ++++++++--
> > examples/l3fwd-acl/meson.build | 40 ++++++++++++
> > examples/l3fwd-power/Makefile | 34 ++++++++--
> > examples/l3fwd-power/meson.build | 40 ++++++++++++
> > examples/l3fwd-vf/Makefile | 34 ++++++++--
> > examples/l3fwd-vf/meson.build | 40 ++++++++++++
> > examples/l3fwd/Makefile | 34 ++++++++--
> > examples/l3fwd/meson.build | 40 ++++++++++++
> > examples/link_status_interrupt/Makefile | 34 ++++++++--
> > examples/link_status_interrupt/meson.build | 39 +++++++++++
> > examples/load_balancer/Makefile | 34 ++++++++--
> > examples/load_balancer/meson.build | 40 ++++++++++++
> > examples/meson.build | 59 +++++++++++++++++
> > examples/multi_process/l2fwd_fork/Makefile | 12 ++--
> > examples/packet_ordering/Makefile | 34 ++++++++--
> > examples/packet_ordering/meson.build | 40 ++++++++++++
> > examples/ptpclient/Makefile | 34 ++++++++--
> > examples/ptpclient/meson.build | 39 +++++++++++
> > examples/qos_meter/Makefile | 34 ++++++++--
> > examples/qos_meter/meson.build | 40 ++++++++++++
> > examples/qos_sched/Makefile | 34 ++++++++--
> > examples/qos_sched/meson.build | 41 ++++++++++++
> > examples/rxtx_callbacks/Makefile | 34 ++++++++--
> > examples/rxtx_callbacks/meson.build | 39 +++++++++++
> > examples/skeleton/Makefile | 34 ++++++++--
> > examples/skeleton/meson.build | 39 +++++++++++
> > examples/tep_termination/Makefile | 34 ++++++++--
> > examples/tep_termination/meson.build | 40 ++++++++++++
> > examples/timer/Makefile | 34 ++++++++--
> > examples/timer/meson.build | 40 ++++++++++++
> > examples/vhost/Makefile | 34 ++++++++--
> > examples/vhost/meson.build | 40 ++++++++++++
> > examples/vhost_scsi/Makefile | 39 ++++++++---
> > examples/vhost_scsi/meson.build | 41 ++++++++++++
> > examples/vmdq/Makefile | 34 ++++++++--
> > examples/vmdq/meson.build | 39 +++++++++++
> > examples/vmdq_dcb/Makefile | 34 ++++++++--
> > examples/vmdq_dcb/meson.build | 39 +++++++++++
> > lib/librte_eal/linuxapp/eal/meson.build | 3 +
> > lib/librte_lpm/meson.build | 3 +
> > lib/librte_vhost/meson.build | 3 +
> > meson.build | 5 ++
> > meson_options.txt | 2 +
> > 84 files changed, 2699 insertions(+), 248 deletions(-)
> > create mode 100644 drivers/event/meson.build
> > create mode 100644 drivers/event/skeleton/meson.build
> > create mode 100644 drivers/event/sw/meson.build
> > create mode 100644 drivers/net/bonding/meson.build
> > create mode 100644 examples/bond/meson.build
> > create mode 100644 examples/cmdline/meson.build
> > create mode 100644 examples/distributor/meson.build
> > create mode 100644 examples/eventdev_pipeline_sw_pmd/meson.build
> > create mode 100644 examples/exception_path/meson.build
> > create mode 100644 examples/helloworld/meson.build
> > create mode 100644 examples/ip_fragmentation/meson.build
> > create mode 100644 examples/ip_pipeline/meson.build
> > create mode 100644 examples/ip_reassembly/meson.build
> > create mode 100644 examples/ipsec-secgw/meson.build
> > create mode 100644 examples/ipv4_multicast/meson.build
> > create mode 100644 examples/kni/meson.build
> > create mode 100644 examples/l2fwd-cat/meson.build
> > create mode 100644 examples/l2fwd-crypto/meson.build
> > create mode 100644 examples/l2fwd-jobstats/meson.build
> > create mode 100644 examples/l2fwd-keepalive/meson.build
> > create mode 100644 examples/l2fwd/meson.build
> > create mode 100644 examples/l3fwd-acl/meson.build
> > create mode 100644 examples/l3fwd-power/meson.build
> > create mode 100644 examples/l3fwd-vf/meson.build
> > create mode 100644 examples/l3fwd/meson.build
> > create mode 100644 examples/link_status_interrupt/meson.build
> > create mode 100644 examples/load_balancer/meson.build
> > create mode 100644 examples/meson.build
> > create mode 100644 examples/packet_ordering/meson.build
> > create mode 100644 examples/ptpclient/meson.build
> > create mode 100644 examples/qos_meter/meson.build
> > create mode 100644 examples/qos_sched/meson.build
> > create mode 100644 examples/rxtx_callbacks/meson.build
> > create mode 100644 examples/skeleton/meson.build
> > create mode 100644 examples/tep_termination/meson.build
> > create mode 100644 examples/timer/meson.build
> > create mode 100644 examples/vhost/meson.build
> > create mode 100644 examples/vhost_scsi/meson.build
> > create mode 100644 examples/vmdq/meson.build
> > create mode 100644 examples/vmdq_dcb/meson.build
>
> Reviewed-by: Luca Boccassi <bluca at debian.org>
>
> Forgot to write that regardless of what we can do with the static +
> dynamic builds, the series looks good. Thanks!
>
Yes, still a few loose ends on the static+dynamic, e.g. how to link
testpmd and samples by default. My current thinking is to use the meson
"default_library" option to select that.
/Bruce
More information about the dev
mailing list