From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bruce Richardson Subject: Re: [PATCH 0/8] Support sample applications with new build system Date: Thu, 19 Oct 2017 09:39:13 +0100 Message-ID: <20171019083913.GB6140@bricha3-MOBL3.ger.corp.intel.com> References: <20171017161220.59941-1-bruce.richardson@intel.com> <1508346711.15699.5.camel@debian.org> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Cc: dev@dpdk.org To: Luca Boccassi Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id C0CBA199A9 for ; Thu, 19 Oct 2017 10:39:28 +0200 (CEST) Content-Disposition: inline In-Reply-To: <1508346711.15699.5.camel@debian.org> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 > > 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