On Wed, Feb 26, 2020 at 8:25 PM Dmitry Kozlyuk <dmitry.kozl...@gmail.com> wrote: > > 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 > > v4 Changes: > > Fix Windows headers include case. > Recommend the latest Meson in docs (build fixed with 0.53.2). > > v3 Changes: > > Rebase onto the latest Windows EAL. > Prevent format attribute conflict with upcoming v20.05 patches. > Remove redundant CFLAGS from Meson. > Remove links to Meson bugtracker from docs (PR merged into upstream). > Fix Clang warnings using about GNU options. > > 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/windows: use lowercase filenames for system headers > eal/windows: support builing with MinGW-w64 > build: MinGW-w64 support for Meson > build: add cross-file for MinGW-w64 > doc: guide for Windows build using MinGW-w64 > build: fix linker warnings with Clang on Windows > > config/meson.build | 26 ++++++-- > config/x86/meson_mingw.txt | 13 ++++ > doc/guides/windows_gsg/build_dpdk.rst | 62 +++++++++++++++++--- > 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/eal.c | 6 +- > lib/librte_eal/windows/eal/include/getopt.h | 4 ++ > lib/librte_eal/windows/eal/include/pthread.h | 2 +- > lib/librte_eal/windows/eal/include/rte_os.h | 6 +- > lib/meson.build | 8 ++- > 14 files changed, 133 insertions(+), 26 deletions(-) > create mode 100644 config/x86/meson_mingw.txt > I reviewed and tested the v4 series and everything works ok.
Tested-by: William Tu <u9012...@gmail.com> Thanks