From: Bruce Richardson <bruce.richardson@intel.com>
To: Thomas Monjalon <thomas@monjalon.net>
Cc: Marat Khalili <marat.khalili@huawei.com>, "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [RFC] doc: updating doxy-api-index.md and doxy-api.conf.in
Date: Tue, 30 Jun 2026 17:45:02 +0100 [thread overview]
Message-ID: <akPyjgQwQxLw1KQV@bricha3-mobl1.ger.corp.intel.com> (raw)
In-Reply-To: <cesJxiasRY6aqEM1iZ_leA@monjalon.net>
On Tue, Jun 30, 2026 at 06:10:59PM +0200, Thomas Monjalon wrote:
> Hello,
>
> 30/06/2026 11:03, Marat Khalili:
> > I noticed that a few header files contain docstring-like comments but are not
> > present in doc/api/doxy-api-index.md and/or (fewer) in doc/api/doxy-api.conf.in
> > There seem to be no checks anywhere in the process that would make sure these
> > index files are updated. Do we even care, or is it unsupported legacy? If we do
> > care, would a check or an automatic generation fix be more promising?
>
> Some internal files have doxygen comments, not sure why,
> probably to run Doxygen manually on these files.
>
> In the scope of our public documentation,
> the goal was to document all and only public API.
>
> If you see some public API not referenced, it is a bug.
> And yes a script to check this may be useful.
>
Something like this could work as a quick check that all public headers are
getting indexed. Doesn't help with verifying that all contents within the
files have comments, but maybe its an easy start point:
diff --git a/drivers/meson.build b/drivers/meson.build
index 4d95604ecd..5a9ba68d54 100644
--- a/drivers/meson.build
+++ b/drivers/meson.build
@@ -278,6 +278,23 @@ foreach subpath:subdirs
dpdk_headers += headers
dpdk_drivers_headers += driver_sdk_headers
+ # On Linux, best-effort check that public headers are named correctly
+ # and that the driver directory is referenced in the Doxygen config so
+ # that its API gets indexed.
+ if is_linux and meson.version().version_compare('>= 0.59.0') and headers.length() > 0
+ foreach h:headers
+ hname = fs.name(h)
+ if not hname.startswith('rte_')
+ warning('drivers/@0@: public header "@1@" does not start with "rte_"'.format(drv_path, hname))
+ endif
+ endforeach
+ if run_command('grep', '-qF', '@TOPDIR@/drivers/' + drv_path,
+ dpdk_source_root / 'doc' / 'api' / 'doxy-api.conf.in',
+ check: false).returncode() != 0
+ warning('drivers/@0@: has public headers but not listed in doxy-api.conf.in'.format(drv_path))
+ endif
+ endif
+
if headers.length() > 0
dpdk_includes += include_directories(drv_path)
endif
diff --git a/lib/meson.build b/lib/meson.build
index af5c160cb8..d897b2c73a 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -209,6 +209,23 @@ foreach l:libraries
dpdk_indirect_headers += indirect_headers
dpdk_drivers_headers += driver_sdk_headers
+ # On Linux, best-effort check that public headers are named correctly
+ # and that the library directory is referenced in the Doxygen config so
+ # that its API gets indexed.
+ if is_linux and meson.version().version_compare('>= 0.59.0') and headers.length() > 0
+ foreach h:headers
+ hname = fs.name(h)
+ if not (hname.startswith('rte_') or hname.startswith('cmdline'))
+ warning('lib/@0@: public header "@1@" does not start with "rte_" or "cmdline"'.format(l, hname))
+ endif
+ endforeach
+ if run_command('grep', '-qF', '@TOPDIR@/lib/' + l,
+ dpdk_source_root / 'doc' / 'api' / 'doxy-api.conf.in',
+ check: false).returncode() != 0
+ warning('lib/@0@: has public headers but not listed in doxy-api.conf.in'.format(l))
+ endif
+ endif
+
libname = 'rte_' + name
includes += include_directories(l)
dpdk_includes += include_directories(l)
next prev parent reply other threads:[~2026-06-30 16:45 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-30 9:03 [RFC] doc: updating doxy-api-index.md and doxy-api.conf.in Marat Khalili
2026-06-30 16:10 ` Thomas Monjalon
2026-06-30 16:45 ` Bruce Richardson [this message]
2026-07-02 20:00 ` [PATCH 0/7] doc: build for all public headers Marat Khalili
2026-07-02 20:00 ` [PATCH 1/7] doc: detect ignored " Marat Khalili
2026-07-02 20:00 ` [PATCH 2/7] doc: document rte_os.h Marat Khalili
2026-07-02 20:00 ` [PATCH 3/7] doc: fix typos in rte_bus_pci.h Marat Khalili
2026-07-02 20:00 ` [PATCH 4/7] doc: fix typos in rte_bus_vmbus.h Marat Khalili
2026-07-02 20:00 ` [PATCH 5/7] doc: add missing globs to doxy-api.conf.in Marat Khalili
2026-07-02 20:00 ` [PATCH 6/7] doc: add missing drivers " Marat Khalili
2026-07-02 20:00 ` [PATCH 7/7] doc: add missing headers to doxy-api-index.md Marat Khalili
2026-07-06 10:52 ` [PATCH v2 0/7] doc: build for all public headers Marat Khalili
2026-07-06 10:52 ` [PATCH v2 1/7] doc: detect ignored " Marat Khalili
2026-07-06 10:52 ` [PATCH v2 2/7] doc: document rte_os.h Marat Khalili
2026-07-06 10:52 ` [PATCH v2 3/7] doc: fix typos in rte_bus_pci.h Marat Khalili
2026-07-06 10:52 ` [PATCH v2 4/7] doc: fix typos in rte_bus_vmbus.h Marat Khalili
2026-07-06 10:52 ` [PATCH v2 5/7] doc: add missing globs to doxy-api.conf.in Marat Khalili
2026-07-06 10:52 ` [PATCH v2 6/7] doc: add missing drivers " Marat Khalili
2026-07-06 10:52 ` [PATCH v2 7/7] doc: add missing headers to doxy-api-index.md Marat Khalili
2026-07-06 13:14 ` [PATCH v2 0/7] doc: build for all public headers Marat Khalili
2026-07-07 8:50 ` [PATCH v3 0/8] " Marat Khalili
2026-07-07 8:50 ` [PATCH v3 1/8] doc: detect ignored " Marat Khalili
2026-07-07 8:50 ` [PATCH v3 2/8] doc: document rte_os.h Marat Khalili
2026-07-07 8:50 ` [PATCH v3 3/8] doc: fix typos in rte_avp_common.h Marat Khalili
2026-07-07 8:50 ` [PATCH v3 4/8] doc: fix typos in rte_bus_pci.h Marat Khalili
2026-07-07 8:50 ` [PATCH v3 5/8] doc: fix typos in rte_bus_vmbus.h Marat Khalili
2026-07-07 8:50 ` [PATCH v3 6/8] doc: add missing globs to doxy-api.conf.in Marat Khalili
2026-07-07 8:50 ` [PATCH v3 7/8] doc: add missing drivers " Marat Khalili
2026-07-07 8:50 ` [PATCH v3 8/8] doc: add missing headers to doxy-api-index.md Marat Khalili
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=akPyjgQwQxLw1KQV@bricha3-mobl1.ger.corp.intel.com \
--to=bruce.richardson@intel.com \
--cc=dev@dpdk.org \
--cc=marat.khalili@huawei.com \
--cc=thomas@monjalon.net \
/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