[dpdk-dev] [PATCH 4/6] build: MinGW-w64 support for Meson
    Dmitry Kozlyuk 
    dmitry.kozliuk at gmail.com
       
    Wed Feb  5 00:21:38 CET 2020
    
    
  
> I really like this patch.
> So both GCC (with MinGW) and native clang are supported?
Thanks. Yes, I tested both toolchains.
> [...]
> > +# MS linker requires special treatment.
> > +# FIXME: use cc.get_linker_id() after upgrading to Meson >=0.53.  
> 
> What does it mean? It won't work with meson 0.53?
It will work for any Meson version, I meant that Meson 0.54 will introduce a
better way to determine linker ID. Can you suggest a better wording?
> 
> > +is_ms_linker = is_windows and (cc.get_id() == 'clang')  
> [...]
> > +if is_windows
> > +	# Require platform SDK for Windows 7 and above.
> > +	add_project_arguments('-D_WIN32_WINNT=0x0601', language: 'c')  
> 
> Please explain. Why Windows 7 is needed? What this define is doing?
Yes, Windows 7 and above is need for already existing code in eal_lcore.c,
specifically for GetLogicalProcessorInformation() call.
When including <windows.h>, one must define minimum API version the
application is compiled against [0]. MSVC and Clang default to the version of
platform SDK (that is, maximum supported). MinGW defaults to Windows XP, so
this definition must be either in <rte_os.h> before #include <windows.h> or
here. Because other files may include <windows.h>, I'd prefer to have a
global definition via compiler command-line.
[0]:
https://docs.microsoft.com/en-us/windows/win32/WinProg/using-the-windows-headers
-- 
Dmitry Kozlyuk
    
    
More information about the dev
mailing list