> > A large number of our header files and libraries are dependent on one > > another, > > which can lead to problems with circular dependencies if trying to tie some > > of > > those libraries together, e.g. when prototyping with pktdev, or other > > schemes > > to get a common API for ethdev/rings/KNI. :-) > > > > One small way to reduce issues when doing this is to eliminate #includes > > when > > they are not needed. While most includes in our headers are necessary, one > > common pattern seen is where a library just takes mbufs as part of it's API, > > but does not de-reference those in the header file. In cases like this, it's > > not necessary to include the whole mbuf header file just to allow pointers > > to > > mbuf structures - a forward declaration of "struct rte_mbuf" will do. > > Including the mbuf header file, also triggers inclusion of the mempool > > headers > > which causes the inclusion of the ring headers amongst others. > > > > Therefore, I propose changing the header files for our libraries to just use > > the forward declaration instead of the full header inclusion where possible. > > Series > Acked-by: Olivier Matz <olivier.matz at 6wind.com>
Applied, thanks