README.txt
1 You may run these scripts to build a UEFI/PI gcc cross compiler.
2
3 Cross compilers built with these scripts are tested on
4 Linux, OS X and Cygwin.
5
6 Please note that you may need to modify your edk2 tree's Conf/tools_def.txt
7 file to point to the location where you installed the cross compiler.
8
9 === tianoCross-gcc-4.1 ===
10
11 This script will build an x86 (ia32) cross compiler.
12
13 The results of this script are very similar to the 'mingw' cross compiler
14 which is commonly available on linux and OS X. But, since the cross
15 compiler produced by this script is tested, it is the only 'supported' way
16 to build UEFI/PI images.
17
18 To use this script, you will need:
19
20 * A recent version (3.0 or later should be fine) of gcc that is able to produce
21 executables for the machine that you want to run this compiler on (the host
22 machine).
23 * wget or curl
24 * tar
25 * bzip
26 * gzip
27 * bash
28 * As well as (possibly) others tools and development packages
29
30 === x86_64-mingw-gcc-build.py ==
31
32 This script will build an x86_64 (x64/Intel 64/amd64) cross compiler.
33
34 To use this script, you will need:
35
36 * A recent version (3.0 or later should be fine) of gcc that is able to
37 produce executables for the machine that you want to run this compiler
38 on (the host machine).
39 * Python 2.5
40 * texinfo
41 * bison
42 * flex
43 * libmpfr
44 * libgmp
45 * As well as (possibly) others tools and development packages
46
47 === Ubuntu Notes ===
48
49 On Ubuntu, the following command should install all the necessary build
50 packages to utilize the x86_64-mingw-gcc-build.py script:
51
52 sudo apt-get install build-essential texinfo bison flex libgmp3-dev libmpfr-dev
53
54 === CYGWIN Notes ===
55
56 You should setup cygwin to use binmode on all mounts. When you initially
57 install cygwin it gives you the choice of Unix file mode (recommended) or DOS
58 file mode. Unix mode will cause all the cygwin directories to be mounted in
59 binmode, while DOS will mount the dirs in textmode. Here is an example of a
60 cygwin install where the dirs are (properly) mounted in binmode.
61
62 C:\cygwin\bin on /usr/bin type user (binmode)
63 C:\cygwin\lib on /usr/lib type user (binmode)
64 c:\workspace on /workspace type system (binmode)
65 C:\cygwin on / type user (binmode)
66
67 If you use textmode, it is likely that the build will fail in a way that is
68 hard to debug.
69
70 Cygwin is pretty slow, so it is not recommended for large builds.
71
72