Option 2. MinGW-w64 Toolchain
-----------------------------
-Obtain the latest version from
-`MinGW-w64 website <http://mingw-w64.org/doku.php/download>`_.
-On Windows, install to a folder without spaces in its name, like ``C:\MinGW``.
-This path is assumed for the rest of this guide.
-
+On Linux, i.e. for cross-compilation, install MinGW-w64 via a package manager.
Version 4.0.4 for Ubuntu 16.04 cannot be used due to a
`MinGW-w64 bug <https://sourceforge.net/p/mingw-w64/bugs/562/>`_.
+On Windows, obtain the latest version installer from
+`MinGW-w64 repository <https://sourceforge.net/projects/mingw-w64/files/>`_.
+Any thread model (POSIX or Win32) can be chosen, DPDK does not rely on it.
+Install to a folder without spaces in its name, like ``C:\MinGW``.
+This path is assumed for the rest of this guide.
+
Install the Build System
------------------------
meson -Dexamples=helloworld build
ninja -C build
+Option 2. Cross-Compile with MinGW-w64
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Run the helloworld example
-==========================
-
-Navigate to the examples in the build directory and run `dpdk-helloworld.exe`.
+The cross-file option must be specified for Meson.
+Depending on the distribution, paths in this file may need adjustments.
.. code-block:: console
- cd C:\Users\me\dpdk\build\examples
- dpdk-helloworld.exe
- hello from core 1
- hello from core 3
- hello from core 0
- hello from core 2
-
-Note for MinGW-w64: applications are linked to ``libwinpthread-1.dll``
-by default. To run the example, either add toolchain executables directory
-to the PATH or copy the library to the working directory.
-Alternatively, static linking may be used (mind the LGPLv2.1 license).
+ meson --cross-file config/x86/cross-mingw -Dexamples=helloworld build
+ ninja -C build