]> sigrok.org Git - sigrok-util.git/blob - cross-compile/mingw/README
sigrok-cross-mingw: upgrade libusb1 to version 1.0.25 for MXE builds
[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  - unzip
26  - pkg-config (>= 0.22)
27  - sdcc (needed for building the fx2lafw firmware)
28  - nsis
29  - MXE (*-w64-*.posix targets; *-pc-* and non-posix targets are not supported)
30
31
32 MXE setup
33 ---------
34
35 First, get the MXE cross-compile environment for MinGW-w64/Windows:
36
37  $ cd $HOME
38  $ git clone https://github.com/mxe/mxe.git mxe-git
39  $ cd mxe-git
40
41 Apply some fixes that are currently required for a proper build:
42
43  $ patch -p1 < mxe_fixes.patch
44  $ patch -p1 < libusb1_upgrade.patch
45
46 Build all required packages:
47
48  $ make MXE_TARGETS=i686-w64-mingw32.static.posix \
49    MXE_PLUGIN_DIRS=plugins/examples/qt5-freeze \
50    gcc glib libzip libusb1 libftdi1 hidapi glibmm qtbase qtimageformats \
51    qtsvg qttranslations boost check gendef libieee1284 \
52    qtbase_CONFIGURE_OPTS='-no-sql-mysql'
53
54 This will take a while.
55
56 You can also use "MXE_TARGETS=x86_64-w64-mingw32.static.posix" to build
57 64-bit installers instead.
58
59 See http://mxe.cc for details on MXE.
60
61 Note: We're "freezing" the Qt5 version to Qt 5.7.x, since that's the last
62 version that supports Windows XP (which we currently still want to support).
63
64
65 Building
66 --------
67
68  $ ./sigrok-cross-mingw
69
70 Per default it expects MXE in:
71
72  $HOME/mxe-git
73
74 Per default it will install the cross-compiled packages in:
75
76  $HOME/sr_mingw_release_32
77
78 This depends on whether you're doing a 64-bit or 32-bit build, and whether
79 you enabled debug builds or not.
80
81 Please edit the script if you want to change any settings.
82