mirror of https://github.com/acidanthera/audk.git
Update the Release notes with more description of setting up gcc.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1672 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
6abf46d184
commit
7fe8ec4e44
|
@ -182,21 +182,60 @@ Pre-defined targets in the build.xml file include:
|
||||||
----------------------------
|
----------------------------
|
||||||
A Word on the GCC Tool Chain
|
A Word on the GCC Tool Chain
|
||||||
----------------------------
|
----------------------------
|
||||||
|
|
||||||
EDK II will not compile with a standard Linux gcc tool chain. While Linux
|
EDK II will not compile with a standard Linux gcc tool chain. While Linux
|
||||||
distributions are usually based on ELF, EDK II requires a version of gcc
|
distributions are usually based on ELF, EDK II requires a version of gcc that
|
||||||
that is configured to produce PE-COFF images. You will find a script in
|
is configured to produce PE-COFF images. You will find a script in <Root of
|
||||||
edk2/Tools/gcc that will download, configure, compile, and install a gcc
|
EDK2 tree>/Tools/gcc/tianoCross-gcc-4.1 that will download, configure, compile,
|
||||||
4.X cross-compile tool chain for EDK II development. This custom tool chain
|
and install a gcc 4.1 cross-compile tool chain for EDK II development. This
|
||||||
supports the IA-32 architecture. It can be built and run on Cygwin, Linux, and
|
custom tool chain supports the IA-32 architecture. It can be built and run on
|
||||||
many other POSIX-compliant host operating environments. To compile the custom
|
Cygwin, Linux, and many other POSIX-compliant host operating environments. To
|
||||||
gcc tool chain, you need the following tools on your host computer: bash, gcc,
|
compile the custom gcc tool chain, you need the following tools on your host
|
||||||
gmake, curl (or wget).
|
computer: bash, gcc, gmake, curl (or wget).
|
||||||
|
|
||||||
Only the MdePkg and EdkModulePkg are currently supported by gcc builds. Other
|
Only the MdePkg and EdkModulePkg are currently supported by gcc builds. Other
|
||||||
builds, such as the EdkNt32Pkg, will not compile with gcc. By default, the edk2
|
builds, such as the EdkNt32Pkg, will not compile with gcc. By default, the edk2
|
||||||
will try to build the NT32.fpd, which is not supported by gcc. So, you need to
|
will try to build the NT32.fpd, which is not supported by gcc. So, you need to
|
||||||
change the Tools/Conf/target.txt.
|
change the Tools/Conf/target.txt.
|
||||||
|
|
||||||
|
The cross-compile build script has been tested on Cygwin, OS X and Linux. You
|
||||||
|
should expect to hack on these scripts to make them work on your system. You
|
||||||
|
may need to install additional tools on your system to make the scripts work.
|
||||||
|
|
||||||
|
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 (which enables the download of the gcc compiler source code)
|
||||||
|
tar
|
||||||
|
bzip
|
||||||
|
gzip
|
||||||
|
bash
|
||||||
|
and possibly others
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
The platform to be built is identified by the Tools/Conf/target.txt file:
|
The platform to be built is identified by the Tools/Conf/target.txt file:
|
||||||
|
|
||||||
#
|
#
|
||||||
|
|
Loading…
Reference in New Issue