This document contains instructions to build Wireshark natively on Windows using GCC and MinGW-w64 with the MSYS2 distribution. Steps to setup the build environment: 1. Download and install MSYS2 from https://www.msys2.org. 2. Open the MSYS2 MSYS shell. 3. Update with "pacman -Syu" as many times as necessary. You may also wish to install base-devel at this point: pacman -S base-devel. Anytime you want to run pacman it's recommended to do so from the MSYS shell. 4. Install pactoys for convenience: $ pacman -S pactoys 5. Install the dependencies. From the source directory run: $ ./tools/msys2-setup.sh --install-all Individual packages can be installed using pacboy: $ pacboy -S toolchain:x cmake:x ninja:x ccache:x There isn't a native git package provided with MSYS2 so it's recommended that you continue using the Git-For-Windows installer (or see [1]). From this point on it's a typical ninja build: 1. Open the MSYS2 MINGW64 shell. 2. Create the build directory. This example will assume the build directory is under the source directory: $ cd $srcdir && mkdir build && cd build 3. Run cmake: $ cmake -DENABLE_CCACHE=Yes -DENABLE_WERROR=No .. 4. Build by running "ninja" in the build directory: $ ninja Currently the Wireshark MinGW-w64 build using MSYS2 has the following limitations: * The ETW extcap (etwdump) does not build. * Some optional dependencies are not available in the official MSYS2 repositories. These are: - AirPcap - libsmi - Kerberos - Lua-unicode (Lua 5.1 is available and can be used instead) - SBC codec - BCG729 codec * There is no Wireshark binary package available. More work is needed to implement this. To be decided if it will use NSIS or something else. * Many compiler warnings to be fixed. References: [1]https://github.com/git-for-windows/git/wiki/Install-inside-MSYS2-proper