]> sigrok.org Git - sigrok-util.git/blobdiff - cross-compile/mingw/README
sigrok-cross-mingw: Always use the latest Zadig.
[sigrok-util.git] / cross-compile / mingw / README
index 86e04b16772d4fd5ca62565f482ce0d6b2b7211e..feb9cd6889373cd41ae654b604122704dd4cdd95 100644 (file)
@@ -3,13 +3,13 @@ README
 -------------------------------------------------------------------------------
 
 This is a small script for cross-compiling sigrok and its dependencies
-for Windows/MinGW systems.
+for MinGW-w64/Windows systems.
 
 
 Status
 ------
 
-Work in progress. This does NOT yet fully work.
+Working.
 
 
 Requirements
@@ -18,20 +18,40 @@ Requirements
  - bash
  - gcc
  - make
+ - cmake
  - git
+ - wget
+ - unzip
+ - p7zip
  - pkg-config (>= 0.22)
- - MXE
+ - sdcc (needed for building the fx2lafw firmware)
+ - nsis
+ - MXE (*-w64-* targets, the *-pc-* targets are not supported)
 
 
 MXE setup
 ---------
 
-First, setup the MXE cross-compile environment for MinGW/Windows:
+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
- $ make gcc glib libzip libftdi gtk2 qt boost nsis
+
+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".
+
+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 qtbase qtsvg boost check
 
 This will take a while.