summaryrefslogtreecommitdiffstats
path: root/BaseTools/gcc/README.txt
diff options
context:
space:
mode:
Diffstat (limited to 'BaseTools/gcc/README.txt')
-rw-r--r--BaseTools/gcc/README.txt71
1 files changed, 71 insertions, 0 deletions
diff --git a/BaseTools/gcc/README.txt b/BaseTools/gcc/README.txt
new file mode 100644
index 0000000000..ea7dd64576
--- /dev/null
+++ b/BaseTools/gcc/README.txt
@@ -0,0 +1,71 @@
+You may run these scripts to build a UEFI/PI gcc cross compiler.
+
+Cross compilers built with these scripts are tested on
+Linux, OS X and Cygwin.
+
+Please note that you may need to modify your edk2 tree's Conf/tools_def.txt
+file to point to the location where you installed the cross compiler.
+
+=== tianoCross-gcc-4.1 ===
+
+This script will build an x86 (ia32) cross compiler.
+
+The results of this script are very similar to the 'mingw' cross compiler
+which is commonly available on linux and OS X. But, since the cross
+compiler produced by this script is tested, it is the only 'supported' way
+to build UEFI/PI images.
+
+To use this script, you will need:
+
+ * A recent version (3.0 or later should be fine) of gcc that is able to produce
+ executables for the machine that you want to run this compiler on (the host
+ machine).
+ * wget or curl
+ * tar
+ * bzip
+ * gzip
+ * bash
+ * As well as (possibly) others tools and development packages
+
+=== x86_64-mingw-gcc-build.py ==
+
+This script will build an x86_64 (x64/Intel 64/amd64) cross compiler.
+
+To use this script, you will need:
+
+ * A recent version (3.0 or later should be fine) of gcc that is able to
+ produce executables for the machine that you want to run this compiler
+ on (the host machine).
+ * Python 2.5
+ * texinfo
+ * bison
+ * flex
+ * libmpfr
+ * libgmp
+ * As well as (possibly) others tools and development packages
+
+=== Ubuntu Notes ===
+
+On Ubuntu, the following command should install all the necessary build
+packages to utilize the x86_64-mingw-gcc-build.py script:
+
+ sudo apt-get install build-essential texinfo bison flex libgmp3-dev libmpfr-dev
+
+=== CYGWIN Notes ===
+
+You should setup cygwin to use binmode on all mounts. When you initially
+install cygwin it gives you the choice of Unix file mode (recommended) or DOS
+file mode. Unix mode will cause all the cygwin directories to be mounted in
+binmode, while DOS will mount the dirs in textmode. Here is an example of a
+cygwin install where the dirs are (properly) mounted in binmode.
+
+C:\cygwin\bin on /usr/bin type user (binmode)
+C:\cygwin\lib on /usr/lib type user (binmode)
+c:\workspace on /workspace type system (binmode)
+C:\cygwin on / type user (binmode)
+
+If you use textmode, it is likely that the build will fail in a way that is
+hard to debug.
+
+Cygwin is pretty slow, so it is not recommended for large builds.
+