X-Git-Url: https://sigrok.org/gitweb/?p=sigrok-util.git;a=blobdiff_plain;f=cross-compile%2Fmingw%2FREADME;h=8f206c07e9a800277e98a97e9bbb7cd1c15bd567;hp=cdfdd4f87c3cfe4ad4984c02baccf6cafd9ba088;hb=ef311ddb9282ea0cb1ff1a0365f8368c270f742c;hpb=d1cd735b70a77d9cfe1d84dd95a1cf461b621960 diff --git a/cross-compile/mingw/README b/cross-compile/mingw/README index cdfdd4f..8f206c0 100644 --- a/cross-compile/mingw/README +++ b/cross-compile/mingw/README @@ -21,12 +21,11 @@ Requirements - cmake - git - wget - - unzip - p7zip - 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 +37,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: +Apply some fixes that are currently required for a proper build: - $ make MXE_TARGETS=i686-w64-mingw32.static gcc winpthreads + $ patch -p1 < mxe_fixes.patch -In src/gcc.mk change "--enable-threads=win32" to "--enable-threads=posix". +Build all required packages: -Then build gcc again: - - $ make MXE_TARGETS=i686-w64-mingw32.static gcc - -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 libftdi1 \ - glibmm qt boost check + $ make MXE_TARGETS=i686-w64-mingw32.static.posix \ + MXE_PLUGIN_DIRS=plugins/examples/qt5-freeze \ + gcc glib libzip libusb1 libftdi1 glibmm qtbase qtimageformats qtsvg \ + 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 +70,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.