DPDK patches and discussions
 help / color / mirror / Atom feed
* [RFC 0/6] Add a stricter headers check
@ 2024-11-27 11:26 David Marchand
  2024-11-27 11:26 ` [RFC 1/6] baseband/acc: fix exported header David Marchand
                   ` (5 more replies)
  0 siblings, 6 replies; 9+ messages in thread
From: David Marchand @ 2024-11-27 11:26 UTC (permalink / raw)
  To: dev; +Cc: thomas, bruce.richardson

As explained in patch 6, the current headers check can not catch
issues when a public header includes an internal header.
Fixing this from meson does not seem an easy task.

The approach of this RFC is to reimplement the check in a Makefile invoked
out of DPDK (like what is done for external compilation of examples).
This has the advantage of being simple, and avoiding any (non intentional)
implicit include path coming from the meson framework.

As there was no easy way to distinguish "indirect" headers in an
installed DPDK, I chose to move those headers in a new sub directory
(patch 5).

Patch 1-4 fixes have not been marked as backport material as those bugs
seems minor/easy to fix externally (by either including missing headers,
or enabling enable_driver_sdk option).

For now, I left the check_includes= option untouched, as there may be
users of this check and this check still catches issues without
requiring to install DPDK.


-- 
David Marchand

David Marchand (6):
  baseband/acc: fix exported header
  drivers: drop export of driver headers
  eventdev: do not include driver header in DMA adapter
  drivers: fix exported headers
  build: install indirect headers to a dedicated directory
  buildtools: externally check exported headers

 .ci/linux-build.sh                            |  7 +-
 buildtools/chkincs/Makefile                   | 77 +++++++++++++++++++
 buildtools/pkg-config/meson.build             |  8 +-
 devtools/test-meson-builds.sh                 |  6 +-
 drivers/baseband/acc/meson.build              |  2 +-
 drivers/bus/vmbus/rte_vmbus_reg.h             |  6 ++
 drivers/crypto/cnxk/rte_pmd_cnxk_crypto.h     |  4 +
 drivers/net/dpaa/rte_pmd_dpaa.h               |  2 +
 drivers/net/iavf/rte_pmd_iavf.h               |  6 ++
 drivers/net/mlx5/rte_pmd_mlx5.h               |  3 +
 drivers/raw/cnxk_bphy/rte_pmd_bphy.h          | 16 ++++
 drivers/raw/cnxk_gpio/rte_pmd_cnxk_gpio.h     |  3 +
 drivers/raw/dpaa2_cmdif/rte_pmd_dpaa2_cmdif.h |  2 +
 drivers/raw/ntb/rte_pmd_ntb.h                 |  2 +
 lib/bbdev/meson.build                         |  5 +-
 lib/eal/x86/include/meson.build               |  3 +-
 lib/ethdev/meson.build                        |  6 +-
 lib/eventdev/rte_event_dma_adapter.h          |  2 +-
 lib/meson.build                               |  2 +-
 lib/mldev/meson.build                         |  5 +-
 lib/rawdev/meson.build                        |  3 +-
 lib/regexdev/meson.build                      |  3 +-
 lib/security/meson.build                      |  3 +-
 23 files changed, 153 insertions(+), 23 deletions(-)
 create mode 100644 buildtools/chkincs/Makefile

-- 
2.47.0


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2024-11-27 13:49 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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-11-27 11:26 ` [RFC 6/6] buildtools: externally check exported headers David Marchand

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).