------------------------------------------------------------------------------- README ------------------------------------------------------------------------------- This is a small script for cross-compiling sigrok and its dependencies for MinGW-w64/Windows systems. Status ------ Working. Requirements ------------ - bash - gcc - make - cmake - git - wget - p7zip - unzip - pkg-config (>= 0.22) - sdcc (needed for building the fx2lafw firmware) - nsis - MXE (*-w64-*.posix targets; *-pc-* and non-posix targets are not supported) MXE setup --------- First, get the MXE cross-compile environment for MinGW-w64/Windows: $ cd $HOME $ git clone https://github.com/mxe/mxe.git mxe-git $ cd mxe-git Apply some fixes that are currently required for a proper build: $ patch -p1 < mxe_fixes.patch Build all required packages: $ make MXE_TARGETS=i686-w64-mingw32.static.posix \ MXE_PLUGIN_DIRS=plugins/examples/qt5-freeze \ gcc glib libzip libusb1 libftdi1 hidapi glibmm qtbase qtimageformats qtsvg qttranslations boost check gendef libieee1284 \ qtbase_CONFIGURE_OPTS='-no-sql-mysql' This will take a while. You can also use "MXE_TARGETS=x86_64-w64-mingw32.static.posix" to build 64-bit installers instead. See http://mxe.cc for details on MXE. Note: We're "freezing" the Qt5 version to Qt 5.7.x, since that's the last version that supports Windows XP (which we currently still want to support). Building -------- $ ./sigrok-cross-mingw Per default it expects MXE in: $HOME/mxe-git Per default it will install the cross-compiled packages in: $HOME/sr_mingw_release_32 This depends on whether you're doing a 64-bit or 32-bit build, and whether you enabled debug builds or not. Please edit the script if you want to change any settings.