[dpdk-dev] [PATCH v3 02/10] eal/windows: do not expose private EAL facilities

Thomas Monjalon thomas at monjalon.net
Wed Apr 22 00:40:41 CEST 2020


14/04/2020 21:44, Dmitry Kozlyuk:
> The goal of rte_os.h is to mitigate OS differences for EAL users.
> In Windows EAL, rte_os.h did excessive things:
> 
> 1. It included platform SDK headers (windows.h, etc). Those files are
>    huge, require specific inclusion order, and are generally unused by
>    the code including rte_os.h. Declarations from platform SDK may
>    break otherwise platform-independent code, e.g. min, max, ERROR.
> 
> 2. It included pthread.h, which is clearly not always required.
> 
> 3. It defined functions private to Windows EAL.
> 
> Reorganize Windows EAL includes in the following way:
> 
> 1. Create rte_windows.h to properly import Windows-specific facilities.
>    Primary users are bus drivers, tests, and external applications.
> 
> 2. Remove platform SDK includes from rte_os.h to prevent breaking
>    otherwise portable code by including rte_os.h on Windows.
>    Copy necessary definitions to avoid including those headers.
> 
> 3. Remove pthread.h include from rte_os.h.
> 
> 4. Move declarations private to Windows EAL into eal_windows.h.
> 
> Fixes: 428eb983f5f7 ("eal: add OS specific header file")
> 
> Signed-off-by: Dmitry Kozlyuk <dmitry.kozliuk at gmail.com>

Applied as a separate patch because it is needed for a patch
fixing compilation on Windows.





More information about the dev mailing list