On Sun, Apr 18, 2021 at 08:45:25AM +0000, Xueming(Steven) Li wrote: > Hi Bruce, > > > -----Original Message----- > > From: dev <dev-boun...@dpdk.org> On Behalf Of Bruce Richardson > > Sent: Saturday, April 17, 2021 1:05 AM > > To: dev@dpdk.org > > Cc: Bruce Richardson <bruce.richard...@intel.com> > > 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