On Wed, Sep 4, 2024 at 5:17 PM Anatoly Burakov <anatoly.bura...@intel.com> wrote: > > Currently, the only way to set up a build directory for DPDK development > is through running Meson directly. This has a number of drawbacks. > > For one, the default configuration is very "fat", meaning everything gets > enabled and built (aside from examples, which have to be enabled > manually), so while Meson is very good at minimizing work needed to rebuild > DPDK, for any change that affects a lot of components (such as editing an > EAL header), there's a lot of rebuilding to do. > > It is of course possible to reduce the number of components built through > meson options, but this mechanism isn't perfect, as the user needs to > remember exact spelling of all the options and components, and currently > it doesn't handle inter-component dependencies very well (e.g. if net/ice > is enabled, common/iavf is not automatically enabled, so net/ice can't be > built unless user also doesn't forget to specify common/iavf).
There should be an explicit error explaining why the driver is not enabled. Is it not the case? > > Enter this script. It relies on Meson's introspection capabilities as well > as the dependency graphs generated by our build system to display all > available components, and handle any dependencies for them automatically, > while also not forcing user to remember any command-line options and lists > of drivers, and instead relying on interactive TUI to display list of > available options. It can also produce builds that are as minimal as > possible (including cutting down libraries being built) by utilizing the > fact that our dependency graphs report which dependency is mandatory and > which one is optional. > > Because it is not meant to replace native Meson build configuration but > is rather targeted at users who are not intimately familiar wtih DPDK's > build system, it is run in interactive mode by default. However, it is > also possible to run it without interaction, in which case it will pass > all its parameters to Meson directly, with added benefit of dependency > tracking and producing minimal builds if desired. > > Signed-off-by: Anatoly Burakov <anatoly.bura...@intel.com> There is no documentation. And it is a devtools script and not a usertools, iow, no point in installing this along a built dpdk. I don't see a lot of value in such script. In my opinion, people who really want to tune their dpdk build should enter the details carefully and understand the implications. But other than that, I have no strong objection. -- David Marchand