[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