From: Bruce Richardson <bruce.richardson@intel.com>
To: David Marchand <david.marchand@redhat.com>
Cc: <dev@dpdk.org>
Subject: Re: [PATCH v5 8/9] buildtools/chkincs: use a staging directory for headers
Date: Mon, 29 Sep 2025 10:43:15 +0100 [thread overview]
Message-ID: <aNpUszmhWSxvEtQ7@bricha3-mobl1.ger.corp.intel.com> (raw)
In-Reply-To: <CAJFAV8zKKRdiSyHvNwQu5u6WUrrJX2uAApfThAwwkhR+JFuARQ@mail.gmail.com>
On Mon, Sep 29, 2025 at 11:06:48AM +0200, David Marchand wrote:
> On Mon, 29 Sept 2025 at 10:16, Bruce Richardson
> <bruce.richardson@intel.com> wrote:
> >
> > 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 <david.marchand@redhat.com>
> > > ---
> > > 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 <bruce.richardson@intel.com>
>
> Thanks for the review.
>
> I got an interesting comment from a rabbit (in the middle of a lot of
> noise ;-)).
> https://github.com/ovsrobot/dpdk/pull/106#discussion_r2382870892
>
> That's not a common case, but this could be tricky to someone moving
> around/renaming headers.
>
> What do you think?
>
I think we should probably do some cleanup for the headers, yes, because
moving headers is one case where we would really like the CI to confirm
everything is ok (since moving things probably implies other rework as
well).
next prev parent reply other threads:[~2025-09-29 9:43 UTC|newest]
Thread overview: 90+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-27 11:26 [RFC 0/6] Add a stricter headers check David Marchand
2024-11-27 11:26 ` [RFC 1/6] baseband/acc: fix exported header David Marchand
2024-11-27 11:26 ` [RFC 2/6] drivers: drop export of driver headers David Marchand
2024-11-27 11:26 ` [RFC 3/6] eventdev: do not include driver header in DMA adapter David Marchand
2024-11-27 13:49 ` [EXTERNAL] " Amit Prakash Shukla
2024-11-27 11:26 ` [RFC 4/6] drivers: fix exported headers David Marchand
2024-11-27 11:26 ` [RFC 5/6] build: install indirect headers to a dedicated directory David Marchand
2024-11-27 11:42 ` Bruce Richardson
2024-12-10 13:36 ` David Marchand
2024-11-27 11:26 ` [RFC 6/6] buildtools: externally check exported headers David Marchand
2024-12-13 10:50 ` [PATCH v2 0/6] Add a stricter headers check David Marchand
2024-12-13 10:50 ` [PATCH v2 1/6] baseband/acc: fix exported header David Marchand
2024-12-13 11:01 ` Bruce Richardson
2024-12-13 10:50 ` [PATCH v2 2/6] drivers: drop export of driver headers David Marchand
2024-12-13 11:03 ` Bruce Richardson
2024-12-16 9:13 ` Andrew Rybchenko
2024-12-13 10:50 ` [PATCH v2 3/6] eventdev: do not include driver header in DMA adapter David Marchand
2024-12-13 11:04 ` Bruce Richardson
2024-12-13 10:50 ` [PATCH v2 4/6] drivers: fix exported headers David Marchand
2024-12-13 11:14 ` Bruce Richardson
2024-12-13 13:46 ` David Marchand
2024-12-16 8:15 ` David Marchand
2024-12-13 17:10 ` Stephen Hemminger
2024-12-13 10:50 ` [PATCH v2 5/6] build: install indirect headers to a dedicated directory David Marchand
2024-12-13 10:50 ` [PATCH v2 6/6] buildtools: externally check exported headers David Marchand
2024-12-13 11:27 ` [PATCH v2 0/6] Add a stricter headers check Bruce Richardson
2024-12-13 13:38 ` David Marchand
2025-09-24 17:25 ` [PATCH v3 0/7] " David Marchand
2025-09-24 17:25 ` [PATCH v3 1/7] baseband/acc: fix exported header David Marchand
2025-09-24 17:25 ` [PATCH v3 2/7] drivers: drop export of driver headers David Marchand
2025-09-24 17:25 ` [PATCH v3 3/7] eventdev: do not include driver header in DMA adapter David Marchand
2025-09-24 17:25 ` [PATCH v3 4/7] gpudev: fix driver header for Windows David Marchand
2025-09-25 7:53 ` Bruce Richardson
2025-09-25 8:43 ` David Marchand
2025-09-24 17:25 ` [PATCH v3 5/7] drivers: fix some exported headers David Marchand
2025-09-24 17:25 ` [PATCH v3 6/7] buildtools/chkincs: use a staging directory for headers David Marchand
2025-09-25 8:00 ` Bruce Richardson
2025-09-25 8:42 ` David Marchand
2025-09-25 9:22 ` Bruce Richardson
2025-09-25 10:29 ` David Marchand
2025-09-25 10:31 ` Bruce Richardson
2025-09-25 9:31 ` Bruce Richardson
2025-09-25 10:17 ` Morten Brørup
2025-09-25 10:22 ` Bruce Richardson
2025-09-25 10:22 ` David Marchand
2025-09-25 10:31 ` Bruce Richardson
2025-09-24 17:25 ` [PATCH v3 7/7] power: separate public and driver headers David Marchand
2025-09-25 12:31 ` [PATCH v4 0/7] Add a stricter headers check David Marchand
2025-09-25 12:31 ` [PATCH v4 1/7] baseband/acc: fix exported header David Marchand
2025-09-25 12:31 ` [PATCH v4 2/7] drivers: drop export of driver headers David Marchand
2025-09-25 12:34 ` [EXTERNAL] " Akhil Goyal
2025-09-25 12:31 ` [PATCH v4 3/7] eventdev: do not include driver header in DMA adapter David Marchand
2025-09-25 12:31 ` [PATCH v4 4/7] gpudev: fix driver header for Windows David Marchand
2025-09-25 12:43 ` Bruce Richardson
2025-09-25 12:31 ` [PATCH v4 5/7] drivers: fix some exported headers David Marchand
2025-09-25 12:44 ` Bruce Richardson
2025-09-25 12:31 ` [PATCH v4 6/7] buildtools/chkincs: use a staging directory for headers David Marchand
2025-09-25 14:46 ` Bruce Richardson
2025-09-26 8:14 ` David Marchand
2025-09-26 9:06 ` Bruce Richardson
2025-09-26 9:18 ` David Marchand
2025-09-25 12:31 ` [PATCH v4 7/7] power: separate public and driver headers David Marchand
2025-09-26 12:40 ` [PATCH v5 0/9] Add a stricter headers check David Marchand
2025-09-26 12:40 ` [PATCH v5 1/9] baseband/acc: fix exported header David Marchand
2025-09-26 12:40 ` [PATCH v5 2/9] drivers: drop export of driver headers David Marchand
2025-09-26 12:40 ` [PATCH v5 3/9] eventdev: do not include driver header in DMA adapter David Marchand
2025-09-26 12:40 ` [PATCH v5 4/9] gpudev: fix driver header for Windows David Marchand
2025-09-26 12:40 ` [PATCH v5 5/9] drivers: fix some exported headers David Marchand
2025-09-26 12:40 ` [PATCH v5 6/9] eal/arm: fix C++ build for 32-bit memcpy David Marchand
2025-09-26 13:01 ` Bruce Richardson
2025-09-26 19:55 ` Morten Brørup
2025-09-27 6:33 ` Mattias Rönnblom
2025-09-26 12:41 ` [PATCH v5 7/9] build: factorize headers installation David Marchand
2025-09-26 13:08 ` Bruce Richardson
2025-09-26 12:41 ` [PATCH v5 8/9] buildtools/chkincs: use a staging directory for headers David Marchand
2025-09-29 8:16 ` Bruce Richardson
2025-09-29 9:06 ` David Marchand
2025-09-29 9:43 ` Bruce Richardson [this message]
2025-09-26 12:41 ` [PATCH v5 9/9] power: separate public and driver headers David Marchand
2025-09-29 8:17 ` Bruce Richardson
2025-09-30 6:57 ` [PATCH v6 0/9] Add a stricter headers check David Marchand
2025-09-30 6:57 ` [PATCH v6 1/9] baseband/acc: fix exported header David Marchand
2025-09-30 6:57 ` [PATCH v6 2/9] drivers: drop export of driver headers David Marchand
2025-09-30 6:57 ` [PATCH v6 3/9] eventdev: do not include driver header in DMA adapter David Marchand
2025-09-30 6:57 ` [PATCH v6 4/9] gpudev: fix driver header for Windows David Marchand
2025-09-30 6:57 ` [PATCH v6 5/9] drivers: fix some exported headers David Marchand
2025-09-30 6:57 ` [PATCH v6 6/9] eal/arm: fix C++ build for 32-bit memcpy David Marchand
2025-09-30 6:57 ` [PATCH v6 7/9] build: factorize headers installation David Marchand
2025-09-30 6:57 ` [PATCH v6 8/9] buildtools/chkincs: use a staging directory for headers David Marchand
2025-09-30 6:57 ` [PATCH v6 9/9] power: separate public and driver headers David Marchand
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aNpUszmhWSxvEtQ7@bricha3-mobl1.ger.corp.intel.com \
--to=bruce.richardson@intel.com \
--cc=david.marchand@redhat.com \
--cc=dev@dpdk.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).