On Fri, Sep 26, 2025 at 02:41:01PM +0200, David Marchand wrote: > A problem with the current headers check is that it relies on > meson dependencies objects that come with their include_directories > directives, and all of those point at the library / driver sources. > > This means that we won't detect a public header including a private > (as in, not exported) header, or a driver only header. > > To address this issue, a staging directory is added and every header > is copied to it. > > Drivers and library headers are staged to two different directories > and the check is updated accordingly. > > Signed-off-by: David Marchand <[email protected]> > --- > Changes since v4: > - split global_inc (isolating config include path from EAL headers), > - moved all changes under buildtools/chkincs, > > Changes since v3: > - removed update of global_inc (which was unneeded, and probably was > what triggered a Windows clang build issue reported by CI), > - moved all staging operations under a check on check_includes= option, > - moved staging directories under buildtools/chkincs/, > - renamed all variables to reflect those concern the headers check, > - made chkincs binaries depend on staging deps instead of having the > libraries/drivers depend on them, > - added C++ check for driver headers (missed in v3), > > --- > Played around a bit last week with options for doing chkincs, however, I didn't find anything obviously simpler or better than this. Let's go with this solution!
Acked-by: Bruce Richardson <[email protected]>

