Re: [dpdk-dev] [PATCH v3 0/4] add checking of header includes
From: Thomas Monjalon <hidden>
Date: 2021-01-26 15:50:32
26/01/2021 16:42, Bruce Richardson:
On Tue, Jan 26, 2021 at 04:31:36PM +0100, Thomas Monjalon wrote:quoted
26/01/2021 15:39, Bruce Richardson:quoted
Removing the ALLOW_INTERNAL_API is probably a good idea, but it does indeed throw up the errors with clang - but not gcc, which is strange. The offending headers seem to be (initially): * rte_ethdev_vdev.h * rte_ethdev_pci.h Are these public header files, or should they skip header checking - and installation - as internal-only?They are helpers for the drivers, so should be internal.Just to confirm, by that you mean that they should not be installed for end-application use?
I think yes they are not needed to be installed.
In which case, I believe that "rte_ethdev_driver", "rte_ethdev_vdev" and
"rte_ethdev_pci" should be removed from the "headers" list in
"librte_ethdev/meson.build". Current file list there is:
headers = files('rte_ethdev.h',
'rte_ethdev_driver.h',
'rte_ethdev_pci.h',
'rte_ethdev_trace.h',
'rte_ethdev_trace_fp.h',
'rte_ethdev_vdev.h',
'rte_dev_info.h',
'rte_flow.h',
'rte_flow_driver.h',
'rte_mtr.h',
'rte_mtr_driver.h',
'rte_tm.h',
'rte_tm_driver.h')
headers_no_chkincs += files('rte_eth_ctrl.h',
'rte_ethdev_core.h')
[Note that the "headers_no_chkincs" files still get installed, they just
skip header checking as indirect includes.]
Anything else that should be removed.
Also, tangential to this, it would probably be good if we could come up
with a different naming scheme for internal-only headers, to make the
difference between what is to be installed or not, a lot clearer!The difference is supposed to be the rte_ prefix in the file name. Doxygen will parse only these files: FILE_PATTERNS = rte_*.h cmdline.h I agree we should fix the internal filenames and not install them.