[dpdk-dev] [EXTERNAL] [PATCH 0/6] MinGW-w64 support

Narcisa Ana Maria Vasile Narcisa.Vasile at microsoft.com
Wed Feb 5 02:49:14 CET 2020

Hi Dmitry, 

Thanks for the patches! I was able to compile and run natively, after applying the Meson patch that you mentioned.

I'm having some trouble with cross-compilation:

python3 meson.py -Dexamples=helloworld ../../dpdk/build ../../dpdk --cross-file ../../dpdk/meson_mingw.txt
The Meson build system
Version: 0.53.1
Source dir: /mnt/d/dpdk
Build dir: /mnt/d/dpdk/build
Build type: cross build
Program cat found: YES (/bin/cat)
Project name: DPDK
Project version: 20.02.0-rc1
C compiler for the build machine: cc (gcc 7.4.0 "cc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0")
C linker for the build machine: cc GNU ld.bfd 2.30

meson.build:4:0: ERROR: Unable to determine dynamic linker

Any ideas on how to fix this issue?

Narcisa Vasile

-----Original Message-----
From: dev <dev-bounces at dpdk.org> On Behalf Of Dmitry Kozlyuk
Sent: Thursday, January 30, 2020 7:08 PM
To: dev at dpdk.org
Cc: Dmitry Kozlyuk <dmitry.kozliuk at gmail.com>; Bruce Richardson <bruce.richardson at intel.com>; Thomas Monjalon <thomas at monjalon.net>; Olivier Matz <olivier.matz at 6wind.com>; Harini Ramakrishnan <Harini.Ramakrishnan at microsoft.com>; Omar Cardona <ocardona at microsoft.com>; Pallavi Kadam <pallavi.kadam at intel.com>; Ranjit Menon <ranjit.menon at intel.com>; John McNamara <john.mcnamara at intel.com>; Marko Kovacevic <marko.kovacevic at intel.com>
Subject: [EXTERNAL] [dpdk-dev] [PATCH 0/6] MinGW-w64 support

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]: https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fmingw-w64.org&data=02%7C01%7CNarcisa.Vasile%40microsoft.com%7C9ecc756fe41941539c3208d7a5fac686%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637160368803628802&sdata=GcrGNIMkp0PjfmOXoKkbdA4ttMYQLv3cB24riDfPx%2Fk%3D&reserved=0

Dmitry Kozlyuk (6):
  eal: introduce portable format attribute
  eal: use portable format attribute
  cmdline: use portable format attribute
  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 +++++
 doc/guides/windows_gsg/build_dpdk.rst       | 57 +++++++++++++++++----
 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/meson.build                             |  8 ++-
 meson_mingw.txt                             | 14 +++++
 10 files changed, 108 insertions(+), 17 deletions(-)  create mode 100644 meson_mingw.txt


More information about the dev mailing list