07/03/2019 11:24, Bruce Richardson: > On Thu, Mar 07, 2019 at 09:45:57AM +0100, Thomas Monjalon wrote: > > 07/03/2019 04:27, Anand Rawat: > > > On 3/6/2019 3:31 AM, Thomas Monjalon wrote: > > > > 06/03/2019 05:16, Anand Rawat: > > > >> Added header files to support windows on x86 platforms. > > > >> Updated rte_config to include rte_windows.h for windows > > > >> build. > > > > [...] > > > >> --- a/config/rte_config.h > > > >> +++ b/config/rte_config.h > > > >> +/* windows specific*/ > > > >> +#ifdef RTE_EXEC_ENV_WINDOWS > > > >> +#include <rte_windows.h> > > > >> +#endif > > > > > > > > Include in the config file looks wrong. > > > > >> --- /dev/null > > > >> +++ b/lib/librte_eal/windows/eal/include/exec-env/rte_windows.h > > > > > > > > I think we could remove the sub-directory exec-env. > > > > Could we include this file from rte_common.h? > > > rte_windows.h defines types and substitution macros which are > > > needed to support common code on windows. So it should be > > > included as a global include for every library on windows. > > > rte_common.h is not included in all the source code and headers > > > we currently build for windows. > > > > I think it is not an issue adding some rte_common.h include > > here and there. > > > > I'd be hesitant about putting it in rte_common.h without knowing the > scope of the changes - "here and there" could end up being "everywhere".
It's already almost everywhere, and I think it's normal, it is the meaning of "common". % git grep rte_common.h | wc -l 459 % git grep rte_common.h lib | fgrep .h: | wc -l 79 If some .c files doesn't have rte_common.h included directly or indirectly from other includes, it may be fixed. > Another alternative is to see if most/all the definitions could actually be > put in dpdk_conf and thereby go into the standard config.h file generated > at build time. Anything that couldn't be done via macros or defines in the > config could then look to be put maybe in rte_common.h or other locations, > perhaps. I think we should keep the semantic of what a config file is. I don't see the need of adding more than strict config in it.