This patch series add support for building DPDK using MinGW-w64. MinGW-w64 provides GNU toolchain and independent platform SDK on Windows. It also supports cross-compilation to Windows from POSIX systems by providing cross tollchains and libraries [0]. It does NOT emulate a full POSIX environment, like Cygwin or MSYS do.
There are advantages in using MinGW-w64 in addition to Clang: 1. Cross-compilation out-of-the-box. MinGW-w64 is provides a pthread implementation, GNU getopt, and Windows platform SDK. 2. Easier porting of POSIX applications using DPDK to Windows, because application code can use the same benefits as mentioned above. 3. Having both primary compilers enabled on Windows provides more diagnostics and generally prevents non-portable code. [0]: http://mingw-w64.org v2 Changes: Add patch to use lowercase system header filenames. Move Meson cross-file for x86 to arch directory. Change wording in comments. Add Meson version warning in documentation. Dmitry Kozlyuk (7): eal: introduce portable format attribute eal: use portable format attribute cmdline: use portable format attribute eal/windows: use lowercase filenames for system headers build: MinGW-w64 support for Meson build: add cross-file for MinGW-w64 doc: guide for Windows build using MinGW-w64 config/meson.build | 14 +++++ config/x86/meson_mingw.txt | 14 +++++ doc/guides/windows_gsg/build_dpdk.rst | 65 ++++++++++++++++++--- lib/librte_cmdline/cmdline.h | 4 +- lib/librte_eal/common/include/rte_common.h | 17 +++++- lib/librte_eal/common/include/rte_debug.h | 2 +- lib/librte_eal/common/include/rte_devargs.h | 2 +- lib/librte_eal/common/include/rte_log.h | 4 +- lib/librte_eal/meson.build | 3 + lib/librte_eal/windows/eal/include/rte_os.h | 4 +- lib/meson.build | 8 ++- 11 files changed, 118 insertions(+), 19 deletions(-) create mode 100644 config/x86/meson_mingw.txt -- 2.25.0