From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 9BC10A0524; Mon, 19 Apr 2021 15:09:53 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 842EA41283; Mon, 19 Apr 2021 15:09:53 +0200 (CEST) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by mails.dpdk.org (Postfix) with ESMTP id 811B64123B for ; Mon, 19 Apr 2021 15:09:51 +0200 (CEST) IronPort-SDR: 0aOkaWSKs/FAiPiIaK6tW5rb6Jyc8AauJazv3gTTBubRmtKJ3fLif9jeosXXCBaKSIn1h7uXd5 uWCv/9c807Mw== X-IronPort-AV: E=McAfee;i="6200,9189,9959"; a="182454275" X-IronPort-AV: E=Sophos;i="5.82,234,1613462400"; d="scan'208";a="182454275" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Apr 2021 06:06:29 -0700 IronPort-SDR: gywyvjN9mjHKhRMFgTUZRlOTG9hPjZwsdLI8DvANhVXeQSVSMGzG+VBw8jmUcU5YZvVuywxAqa hworoZCbf4Aw== X-IronPort-AV: E=Sophos;i="5.82,234,1613462400"; d="scan'208";a="462732860" Received: from bricha3-mobl.ger.corp.intel.com ([10.252.30.74]) by orsmga001-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-SHA; 19 Apr 2021 06:06:28 -0700 Date: Mon, 19 Apr 2021 14:06:24 +0100 From: Bruce Richardson To: "Xueming(Steven) Li" Cc: "dev@dpdk.org" Message-ID: References: <20210401115009.1063844-1-bruce.richardson@intel.com> <20210416170458.50188-1-bruce.richardson@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Subject: Re: [dpdk-dev] [PATCH 00/14] Build file updates X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list 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 Sun, Apr 18, 2021 at 08:45:25AM +0000, Xueming(Steven) Li wrote: > Hi Bruce, > > > -----Original Message----- > > From: dev On Behalf Of Bruce Richardson > > Sent: Saturday, April 17, 2021 1:05 AM > > To: dev@dpdk.org > > Cc: Bruce Richardson > > Subject: [dpdk-dev] [PATCH 00/14] Build file updates > > > > This RFC contains 5 changes/updates to the DPDK build and build files. > > > > The changes in this set are: > > 1. Use "continue" keyword, new in 0.49 to shorten and reduce indentation levels > > in the foreach loops when building library or driver components. > > 2. For libraries, drop support for header-only libraries, which was added just > > for the "compat" lib which had a single header, and is now part of EAL. This > > similarly reduces indentation levels and makes the code easier to follow > > 3. Since the larger blocks of meson code in our repo is seeing massive > > whitespace changes, take the opportunity to switch our indentation style for > > meson files from that of C-files using tabs, to Meson/Python style using > > spaces. [More below on this for discussion] > > 4. Remove the "librte_" prefix from all our library directories. While as useful > > cleanup, the main driver for this was that it simplifies the matching for #5 > > below. > > 5. Add a "disable_libs" build option to allow the user to optionally not build > > certain components. Include in this an explicit list of libraries which are > > "known safe" to disable in the build. For now this is a short list of three > > libs, all of which are safe because they are not buildable on FreeBSD. More > > work is needed to expand this list in future. > > Great feature, very useful for PMD developer who only focus on some specific > class driver, most drivers and libs are not relevant, disable them will speed up > build process significantly, this always happen when switch release or rebase code. > > Currently I collected a long disabled driver list for my minimal build, have to update > time to time as dpdk community grows quickly. An enable_list might be more efficient > here to allow minimal lib/drivers for net, vdpa etc.. plus specific pmd driver for NIC on hand. > Managing such a list should not be too much work if wildcards are used appropriately. Here is the disable_drivers option I use which just enables the necessary bus drivers, as well as intel NIC and rawdev drivers (or rather NIC and rawdev drivers whose names start with "i" or "e". It does enable a few extra drivers I don't care about, but not many!) "base*/*,bus/[!pv]*,c*/*,event/*,net/[!ie]*,r*/[!i]*,vdpa/*" /Bruce