Message ID | 20201112094142.1781861-1-bruce.richardson@intel.com (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 8B50DA09D3; Thu, 12 Nov 2020 10:42:10 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 2965D6004; Thu, 12 Nov 2020 10:42:09 +0100 (CET) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id 9D707592B for <dev@dpdk.org>; Thu, 12 Nov 2020 10:42:06 +0100 (CET) IronPort-SDR: OhQbMaF5xX99XyDAYiubqVzEzXtpDNDMCcHmteNpYJXWBTvA855jSLxsRxL+vi1dtwU2mjYVka T3ZPFwTy/hRg== X-IronPort-AV: E=McAfee;i="6000,8403,9802"; a="167700230" X-IronPort-AV: E=Sophos;i="5.77,471,1596524400"; d="scan'208";a="167700230" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Nov 2020 01:42:05 -0800 IronPort-SDR: R1zp0dfs6xoEqrWCwqMmI+lTXsEZDkb2Q0nLZZfCLYNnuwS9Z50XJbOGCFCvtuoNFSYamNQuA+ P+UsqjSYHXKA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,471,1596524400"; d="scan'208";a="339347876" Received: from silpixa00399126.ir.intel.com ([10.237.222.4]) by orsmga002.jf.intel.com with ESMTP; 12 Nov 2020 01:42:04 -0800 From: Bruce Richardson <bruce.richardson@intel.com> To: dev@dpdk.org Cc: david.marchand@redhat.com, Bruce Richardson <bruce.richardson@intel.com> Date: Thu, 12 Nov 2020 09:41:38 +0000 Message-Id: <20201112094142.1781861-1-bruce.richardson@intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20201110170809.1309043-1-bruce.richardson@intel.com> References: <20201110170809.1309043-1-bruce.richardson@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH v4 0/4] improve examples installation X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org Sender: "dev" <dev-bounces@dpdk.org> |
Series | improve examples installation | |
Message
Bruce Richardson
Nov. 12, 2020, 9:41 a.m. UTC
This patch improves the installation of the examples when "ninja install" is run. It removes issues with the directory structure being flattened out, and removes from the install list any examples that are not buildable with built DPDK code. V4: resubmit v3 to retest in CI hopefully with proper patch tracking V3: fix issues with building on Windows V2: add support for filtering examples that won't build Bruce Richardson (4): examples: fix flattening directory layout on install examples/l2fwd-keepalive: skip build when no librt examples: stop processing build file if build is impossible examples: skip installing unbuildable examples examples/distributor/meson.build | 3 + examples/ethtool/meson.build | 4 ++ examples/ioat/meson.build | 3 + examples/ip_pipeline/meson.build | 4 ++ examples/kni/meson.build | 4 ++ examples/l2fwd-cat/meson.build | 4 ++ examples/l2fwd-keepalive/meson.build | 8 ++- examples/meson.build | 61 ++++++++++--------- examples/ntb/meson.build | 2 + .../l3fwd-thread/meson.build | 4 ++ .../pthread_shim/meson.build | 4 ++ examples/pipeline/meson.build | 4 ++ examples/vdpa/meson.build | 2 + examples/vhost/meson.build | 2 + examples/vhost_blk/meson.build | 2 + examples/vhost_crypto/meson.build | 4 ++ meson.build | 5 ++ 17 files changed, 91 insertions(+), 29 deletions(-) -- 2.25.1
Comments
On Thu, Nov 12, 2020 at 10:42 AM Bruce Richardson <bruce.richardson@intel.com> wrote: > > This patch improves the installation of the examples when "ninja install" is > run. It removes issues with the directory structure being flattened out, and > removes from the install list any examples that are not buildable with built > DPDK code. > > V4: resubmit v3 to retest in CI hopefully with proper patch tracking > > V3: fix issues with building on Windows > > V2: add support for filtering examples that won't build > > Bruce Richardson (4): > examples: fix flattening directory layout on install > examples/l2fwd-keepalive: skip build when no librt > examples: stop processing build file if build is impossible > examples: skip installing unbuildable examples Thanks Bruce. This series looks good to me. My only comment is about vm_power_manager which won't build without the internal librte_power header. It builds fine with meson, because I guess meson pulls this library directory into the include flags of the example, but it won't build outside. We can skip it in devtools/test-meson-builds.sh but, on the other hand, I would exclude it from installing until it is fixed (in a future release).
On Thu, Nov 12, 2020 at 12:14:27PM +0100, David Marchand wrote: > On Thu, Nov 12, 2020 at 10:42 AM Bruce Richardson > <bruce.richardson@intel.com> wrote: > > > > This patch improves the installation of the examples when "ninja install" is > > run. It removes issues with the directory structure being flattened out, and > > removes from the install list any examples that are not buildable with built > > DPDK code. > > > > V4: resubmit v3 to retest in CI hopefully with proper patch tracking > > > > V3: fix issues with building on Windows > > > > V2: add support for filtering examples that won't build > > > > Bruce Richardson (4): > > examples: fix flattening directory layout on install > > examples/l2fwd-keepalive: skip build when no librt > > examples: stop processing build file if build is impossible > > examples: skip installing unbuildable examples > > Thanks Bruce. > This series looks good to me. > > My only comment is about vm_power_manager which won't build without > the internal librte_power header. > It builds fine with meson, because I guess meson pulls this library > directory into the include flags of the example, but it won't build > outside. > > We can skip it in devtools/test-meson-builds.sh but, on the other > hand, I would exclude it from installing until it is fixed (in a > future release). > Yes, good point. Rather than adding special logic for it, I think we just add it in the initialization of the exclusion array in patch 4, i.e. -dpdk_examples_exclude = []$ +dpdk_examples_exclude = ['vm_power_manager'] Can this be done on apply, or do you want a v5 for it? /Bruce
On Thu, Nov 12, 2020 at 12:38 PM Bruce Richardson <bruce.richardson@intel.com> wrote: > > My only comment is about vm_power_manager which won't build without > > the internal librte_power header. > > It builds fine with meson, because I guess meson pulls this library > > directory into the include flags of the example, but it won't build > > outside. > > > > We can skip it in devtools/test-meson-builds.sh but, on the other > > hand, I would exclude it from installing until it is fixed (in a > > future release). > > > Yes, good point. > Rather than adding special logic for it, I think we just add it in the > initialization of the exclusion array in patch 4, i.e. > > -dpdk_examples_exclude = []$ > +dpdk_examples_exclude = ['vm_power_manager'] > > Can this be done on apply, or do you want a v5 for it? CI is happy with v4. I tested this additional change, lgtm too. I would add something in the commitlog to give some context: """ vm_power_manager relies on an internal header and can't build outside the dpdk tree. Hence, it is still built with meson but it is excluded from install examples until it has been fixed. """ WDYT?
On Thu, Nov 12, 2020 at 02:48:52PM +0100, David Marchand wrote: > On Thu, Nov 12, 2020 at 12:38 PM Bruce Richardson > <bruce.richardson@intel.com> wrote: > > > My only comment is about vm_power_manager which won't build without > > > the internal librte_power header. > > > It builds fine with meson, because I guess meson pulls this library > > > directory into the include flags of the example, but it won't build > > > outside. > > > > > > We can skip it in devtools/test-meson-builds.sh but, on the other > > > hand, I would exclude it from installing until it is fixed (in a > > > future release). > > > > > Yes, good point. > > Rather than adding special logic for it, I think we just add it in the > > initialization of the exclusion array in patch 4, i.e. > > > > -dpdk_examples_exclude = []$ > > +dpdk_examples_exclude = ['vm_power_manager'] > > > > Can this be done on apply, or do you want a v5 for it? > > CI is happy with v4. > > I tested this additional change, lgtm too. > I would add something in the commitlog to give some context: > > """ > vm_power_manager relies on an internal header and can't build outside > the dpdk tree. > Hence, it is still built with meson but it is excluded from install > examples until it has been fixed. > """ > > WDYT? > LGTM
12/11/2020 10:41, Bruce Richardson: > This patch improves the installation of the examples when "ninja install" is > run. It removes issues with the directory structure being flattened out, and > removes from the install list any examples that are not buildable with built > DPDK code. > > V4: resubmit v3 to retest in CI hopefully with proper patch tracking > > V3: fix issues with building on Windows > > V2: add support for filtering examples that won't build > > Bruce Richardson (4): > examples: fix flattening directory layout on install > examples/l2fwd-keepalive: skip build when no librt > examples: stop processing build file if build is impossible > examples: skip installing unbuildable examples Applied without last patch, thanks. After offline discussions with Bruce and David, the decision is to rework the patch 4 as part of another series that David is preparing. In short: we keep the option to install all examples and add a new option to install only buildable examples.