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 |
|
---|