X-Git-Url: https://sigrok.org/gitweb/?p=sigrok-util.git;a=blobdiff_plain;f=cross-compile%2Fmingw%2FREADME;h=79efbbf9bfd2533ec56e859b7b848f01d2c5235a;hp=713e387e15d9e2666e6ba332b15d5a17665076a9;hb=d24d85a21fddac4021e5eb9916fdfb39c38d51c1;hpb=404eb3564b645e19b52a8e3db7ae9040f2868f6e diff --git a/cross-compile/mingw/README b/cross-compile/mingw/README index 713e387..79efbbf 100644 --- a/cross-compile/mingw/README +++ b/cross-compile/mingw/README @@ -21,12 +21,12 @@ Requirements - cmake - git - wget - - unzip - p7zip + - unzip - pkg-config (>= 0.22) - sdcc (needed for building the fx2lafw firmware) - nsis - - MXE (*-w64-* targets, the *-pc-* targets are not supported) + - MXE (*-w64-*.posix targets; *-pc-* and non-posix targets are not supported) MXE setup @@ -38,25 +38,27 @@ First, get the MXE cross-compile environment for MinGW-w64/Windows: $ git clone https://github.com/mxe/mxe.git mxe-git $ cd mxe-git -For now we need to build gcc and winpthreads in two steps. First: - - $ make MXE_TARGETS=i686-w64-mingw32.static gcc winpthreads - -In src/gcc.mk change "--enable-threads=win32" to "--enable-threads=posix". +Apply some fixes that are currently required for a proper build: -Then build gcc again: + $ patch -p1 < mxe_fixes.patch - $ make MXE_TARGETS=i686-w64-mingw32.static gcc +Build all required packages: -We now have a system that supports C++11 std::thread. Now build the rest: - - $ make MXE_TARGETS=i686-w64-mingw32.static glib libzip libusb1 libftdi \ - qt boost check + $ 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 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 -------- @@ -69,7 +71,10 @@ Per default it expects MXE in: Per default it will install the cross-compiled packages in: - $HOME/sr_mingw + $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.