[dpdk-dev] [PATCH v2 00/19] ensure headers have correct includes
Bruce Richardson
bruce.richardson at intel.com
Thu Jan 21 16:15:37 CET 2021
On Thu, Jan 21, 2021 at 10:36:18AM +0100, Thomas Monjalon wrote:
> 21/01/2021 10:33, Bruce Richardson:
> > On Thu, Jan 21, 2021 at 10:25:07AM +0100, David Marchand wrote:
> > > Is rte_byteorder.h inclusion in rte_mbuf.h still necessary?
> > >
> > Good question. The checks I was doing were only for missing headers.
> > Checking for superfluous headers is more complicated and not something I've
> > looked at. I know it was previously suggested to use the
> > "include-what-you-use" tool on DPDK, if anyone wants to attempt that.
>
> I would love having an integration of include-what-you-use in our build system.
> I don't know whether it's trivial or difficult with meson.
>
Did some initial investigation here, and here are some basic instructions
based on how I got it running on my Ubuntu 20.10 system. The positive is
that "iwyu_tool" can run on DPDK build dirs without any extra work on our
part.
1. Install iwyu from Ubuntu packaging.
2. Install clang-9 package:
* This is not a dependency of iwyu, but probably should be
* The version of clang installed *must* match that used to build iwyu
[I had clang-10 installed which didn't work for this]
* If you get errors about missing standard headers e.g. stddef.h,
the version mismatch is likely the issue.
3. Configure a clang build of DPDK:
* CC=clang meson <args> build-clang
4. "iwyu_tool" supports the build database format used by meson, so just
run: "iwyu_tool -p build-clang"
Be warned, this runs really slowly and produces lots of output!
Regards,
/Bruce
More information about the dev
mailing list