[dpdk-dev] [PATCH v3 0/4] add checking of header includes
Thomas Monjalon
thomas at monjalon.net
Tue Jan 26 16:50:26 CET 2021
26/01/2021 16:42, Bruce Richardson:
> On Tue, Jan 26, 2021 at 04:31:36PM +0100, Thomas Monjalon wrote:
> > 26/01/2021 15:39, Bruce Richardson:
> > > 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.
More information about the dev
mailing list