From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by dpdk.org (Postfix) with ESMTP id 435D62BB8 for ; Thu, 29 Mar 2018 15:54:46 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga105.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 29 Mar 2018 06:54:45 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.48,376,1517904000"; d="scan'208";a="32471915" Received: from silpixa00399126.ir.intel.com (HELO silpixa00399126.ger.corp.intel.com) ([10.237.223.223]) by fmsmga002.fm.intel.com with ESMTP; 29 Mar 2018 06:54:43 -0700 From: Bruce Richardson To: dev@dpdk.org Cc: hemant.agrawal@nxp.com, shreyansh.jain@nxp.com, Bruce Richardson Date: Thu, 29 Mar 2018 14:54:30 +0100 Message-Id: <20180329135436.92878-1-bruce.richardson@intel.com> X-Mailer: git-send-email 2.14.3 Subject: [dpdk-dev] [PATCH 0/6] enable easier app compilation testing with meson X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Mar 2018 13:54:46 -0000 Summary: With this set you can test building all applicable examples by calling meson with "-Dexamples=all" When building DPDK with meson, it's possible to specify a list of sample apps to have built along with the main code. However, specifying a full list of all apps can be unwieldy, so this set adds support for passing "all" as the examples to be built. With "all", meson just adds all subdirectories of "examples" to the build, so the first few patches are ensuring that we don't get an error by attempting to build an unsupported application. On linux, only 7 apps were unsupported, in that they had not been given a meson.build file. On FreeBSD, a few others had to have their meson.build files updated to report them as unsupported. In terms of behaviour, the meson.build file for each app will report if the app can be built or not. If "all" is requested, then a message is printed and the meson run can continue. If, however, the app is requested by name, then an error is reported and the meson run halts. The final two patches in the series are more cleanup, the former improves error reporting, while the last patch is a performance improvement. Meson runs quickly enough in the normal case, but with a full set of examples, the dependency chain resolution can slow things down. Reducing the lists of dependencies makes a noticable difference in this case. [NOTE: this slowness and speedup only applies to the meson run; the actual build using ninja is as fast as ever!] Bruce Richardson (6): examples: add empty meson files for unsupported examples examples/l2fwd-cat: make build dependent on pqos library examples: disable unsupported examples on BSD examples: allow building all examples as part of meson build examples: improve error report for missing meson deps drivers/dpaa*: reduce meson dependency lists drivers/bus/dpaa/meson.build | 2 +- drivers/bus/fslmc/meson.build | 2 +- drivers/crypto/dpaa2_sec/meson.build | 2 +- drivers/event/dpaa/meson.build | 2 +- drivers/event/dpaa2/meson.build | 2 +- drivers/mempool/dpaa2/meson.build | 2 +- drivers/net/dpaa/meson.build | 2 +- drivers/net/dpaa2/meson.build | 2 +- examples/ethtool/meson.build | 10 +++++++ examples/kni/meson.build | 3 +++ examples/l2fwd-cat/meson.build | 4 ++- examples/l3fwd-power/meson.build | 3 +++ examples/meson.build | 48 ++++++++++++++++++++++++--------- examples/multi_process/meson.build | 10 +++++++ examples/netmap_compat/meson.build | 10 +++++++ examples/performance-thread/meson.build | 10 +++++++ examples/quota_watermark/meson.build | 10 +++++++ examples/server_node_efd/meson.build | 10 +++++++ examples/tep_termination/meson.build | 3 +++ examples/vhost/meson.build | 3 +++ examples/vhost_scsi/meson.build | 3 +++ examples/vm_power_manager/meson.build | 10 +++++++ 22 files changed, 131 insertions(+), 22 deletions(-) create mode 100644 examples/ethtool/meson.build create mode 100644 examples/multi_process/meson.build create mode 100644 examples/netmap_compat/meson.build create mode 100644 examples/performance-thread/meson.build create mode 100644 examples/quota_watermark/meson.build create mode 100644 examples/server_node_efd/meson.build create mode 100644 examples/vm_power_manager/meson.build -- 2.14.3