forked from niXman/mingw-builds
-
Notifications
You must be signed in to change notification settings - Fork 8
/
README
93 lines (75 loc) · 3.99 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
The scripts provided by the MinGW-W64 project[1] are designed
for building the dual-target(i686/x86_64) MinGW-W64 compiler for i686/x86_64 hosts.
The scripts are distributed under the 'BSD 3' license[2].
In order to use the scripts provided by the MinGW-W64 project it is needed:
1. Windows-64bit or Linux + Wine-64bit
2. Install MSYS2:
http://sourceforge.net/projects/msys2/
3. Get the scripts into '<msys root>/home/<user>/mingw-w64-builds':
"cd && git clone <paste correct url>"
4. In the MSYS file structure delete the '/MinGW' directory.
5. Delete the paths pointing to any preinstalled MinGW from the 'PATH'
environment variable.
6. Go into the MinGW-builds root directory.
"cd && cd mingw-w64-builds"
7. Options:
'--mode=[gcc|python|clang]-version' - what package to build with version.
'--arch=<i686|x86_64>' - build architecture.
'--buildroot=<path>' - using '<path>' as build directory.
By default used MSYS user home directory.
'--fetch-only' - only download all the sources without start building.
'--update-sources' - try to update sources from repositories before build.
'--exceptions=<model>' - exceptions handling model.
Available: dwarf, seh(gcc>=4.8.0 only), sjlj.
'--use-lto' - building with using LTO.
'--no-strip' - don't strip executables during install.
'--no-multilib' - build GCC without multilib support (default for DWARF and SEH exception models).
'--static-gcc' - build static GCC.
'--dyn-deps' - build GCC with dynamically dependencies.
'--rt-version=<v3|v4>' - version of mingw-w64 runtime to build.
'--rev=N' - number of the build revision.
'--with-testsuite' - run testsuite for packages that contain flags for it.
'--threads=<posix|win32>' - used threads model.
'--enable-languages=<langs>' - comma separated list(without spaces) of gcc supported languages.
available languages: ada,c,c++,fortran,objc,obj-c++
For more options run: "./build --help"
8. Run:
"./build --mode=gcc-4.8.1 --arch=i686" for building i686-MinGW-w64
"./build --mode=gcc-4.8.1 --arch=x86_64" for building x86_64-MinGW-w64
"./build --mode=gcc-4.8.1 --arch=x86_64 --preload" for preload sources and building x86_64-MinGW-w64
"./build --mode=gcc-4.8.1 --arch=i686 --exceptions=dwarf" for building i686-MinGW-w64 with DWARF exception handling
For example, during the process of building of the i686-gcc-4.7.2 will
be created the following directories:
<buildroot>/i686-4.7.2-release-posix-sjlj-rev1/build
<buildroot>/i686-4.7.2-release-posix-sjlj-rev1/libs
<buildroot>/i686-4.7.2-release-posix-sjlj-rev1/logs
<buildroot>/i686-4.7.2-release-posix-sjlj-rev1/prefix
For x86_64:
<buildroot>/x86_64-4.7.2-release-posix-sjlj-rev1/build
<buildroot>/x86_64-4.7.2-release-posix-sjlj-rev1/libs
<buildroot>/x86_64-4.7.2-release-posix-sjlj-rev1/logs
<buildroot>/x86_64-4.7.2-release-posix-sjlj-rev1/prefix
And the sources directory:
<buildroot>/mingw-sources
The archives with the built MinGW will be created in '<buildroot>/archives/'
At the moment, successfully building the following versions:
gcc-4.6.2
gcc-4.6.3
gcc-4.6.4
gcc-4.7.0
gcc-4.7.1
gcc-4.7.2
gcc-4.7.3
gcc-4.8.0
gcc-4.8.1
gcc-4.8.2
gcc-4_6-branch (currently 4.6.5 prerelease)
gcc-4_7-branch (currently 4.7.4 prerelease)
gcc-4_8-branch (currently 4.8.3 prerelease)
gcc-trunk (currently 4.9.0 snapshot)
Builds also contains patches for building Python 2.7.3, 2.7.4, 2.7.5 and 3.3.0 versions for support gdb pretty printers.
Big thanks for these patches to:
2010-2012 Roumen Petrov, Руслан Ижбулатов
2012 Ray Donnelly
[1] http://sourceforge.net/projects/mingw-w64/
[2] http://www.opensource.org/licenses/BSD-3-Clause