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