]> sigrok.org Git - sigrok-util.git/blob - cross-compile/mingw/README
mingw/msys2: Make build directory names reflect debug/release and 32/64
[sigrok-util.git] / cross-compile / mingw / README
1 -------------------------------------------------------------------------------
2 README
3 -------------------------------------------------------------------------------
4
5 This is a small script for cross-compiling sigrok and its dependencies
6 for MinGW-w64/Windows systems.
7
8
9 Status
10 ------
11
12 Working.
13
14
15 Requirements
16 ------------
17
18  - bash
19  - gcc
20  - make
21  - cmake
22  - git
23  - wget
24  - p7zip
25  - pkg-config (>= 0.22)
26  - sdcc (needed for building the fx2lafw firmware)
27  - nsis
28  - MXE (*-w64-* targets, the *-pc-* targets are not supported)
29
30
31 MXE setup
32 ---------
33
34 First, get the MXE cross-compile environment for MinGW-w64/Windows:
35
36  $ cd $HOME
37  $ git clone https://github.com/mxe/mxe.git mxe-git
38  $ cd mxe-git
39
40 Apply some fixes that are currently required for a proper build:
41
42  $ patch -p1 < mxe_fixes.patch
43
44 Build all required packages:
45
46  $ make MXE_TARGETS=i686-w64-mingw32.static.posix \
47    MXE_PLUGIN_DIRS=plugins/examples/qt5-freeze \
48    gcc glib libzip libusb1 libftdi1 glibmm qtbase qtimageformats qtsvg \
49    boost check gendef qtbase_CONFIGURE_OPTS='-no-sql-mysql'
50
51 This will take a while.
52
53 See http://mxe.cc for details on MXE.
54
55 Note: We're "freezing" the Qt5 version to Qt 5.7.x, since that's the last
56 version that supports Windows XP (which we currently still want to support).
57
58
59 Building
60 --------
61
62  $ ./sigrok-cross-mingw
63
64 Per default it expects MXE in:
65
66  $HOME/mxe-git
67
68 Per default it will install the cross-compiled packages in:
69
70  $HOME/sr_mingw
71
72 Please edit the script if you want to change any settings.
73