gcc tool chain, you need the following tools on your host computer: bash, gcc, \r
gmake, curl (or wget).\r
\r
+Only the MdePkg and EdkModulePkg are currently supported by gcc builds. Other\r
+builds, such as the EdkNt32Pkg, will not compile with gcc. By default, the edk2\r
+will try to build the NT32.fpd, which is not supported by gcc. So, you need to\r
+change the Tools/Conf/target.txt.\r
+\r
+The platform to be built is identified by the Tools/Conf/target.txt file:\r
+\r
+#\r
+# PROPERTY Type Use Description\r
+# ---------------- -------- -------- -----------------------------------------------------------\r
+# ACTIVE_PLATFORM Filename Recommended Specify the WORKSPACE relative Path and Filename \r
+# of the platform FPD file that will be used for the build\r
+# This line is required if and only if the current working\r
+# directory does not contain one or more FPD files.\r
+\r
+ACTIVE_PLATFORM =\r
+ \r
+You can leave it black, as above, or set it to any .fpd file in the workspace.\r
+If you leave it blank, then you just cd to the dir that contains the .fpd that\r
+you would like to build (MdePkg/ or EdkModulePkg/) and then type build.\r
+\r
+----------------------------\r
+A Word on compiling on Linux\r
+----------------------------\r
+\r
+In order to compile on Linux, you will need to have the e2fsprogs-dev package\r
+installed. Check your distribution for the rpm, deb or other package format.\r
+This package contains the uuid library and header that are used by some of the\r
+host tools.\r
+\r
+If you are running on x86_64 Linux, then you should install a 64 bit version of\r
+the Java JDK. The version that was used was jdk-1_5_0_07-linux-amd64-rpm.bin.\r
+It may be downloaded from sun.com.\r
+\r
+-----------------------------------------\r
+A Word on compiling under Cygwin with gcc\r
+-----------------------------------------\r
+\r
+Cygwin is a POSIX style operating environment for Windows. It is possible to\r
+compile the EDK 2 using gcc and cygwin. There are a few extra steps necessary\r
+to make this happen. There is a JNI (Java Native Interface) library in the\r
+Tools. In order to compile this under Cygwin, the 'linux' java headers must be\r
+installed to the $JAVA_HOME dir on the windows system. To accomplish this, you\r
+must install the JDK on a linux system, and then copy\r
+linux:$JAVA_HOME/include/linux/ to windows:$JAVA_HOME/include. These are really\r
+typedefs needed by gcc.\r
+\r
+Compiling under cygwin is slow, because the underlying file accesses are slow\r
+in cygwin. For this reason, we do not encourage the use of cygwin. A true unix\r
+system will be a superior choice for those wishing to compile with gcc.\r
+\r
+Make sure that you select the e2fsprogs development package when you install\r
+cygwin. It is necessary for the GenFvImage tool.\r
\r
-----------------------\r
Notes on Documentation\r
In a command window, change to the top-level directory of the EDK II source.\r
\r
To test your tool chain setup and to build the supplied tools, execute:\r
- c:\MyWork\edkii\> edksetup ForceBuild\r
+ c:\MyWork\edkii\> edksetup ForceRebuild\r
\r
(The edksetup script is referred to as the setup command throughout the \r
rest of this document.)\r
edksetup script. Example: export TOOL_CHAIN=gcc\r
\r
To test your tool chain setup and to build the supplied tools, execute:\r
- c:\MyWork\edkii\> edksetup ForceBuild\r
+ c:\MyWork\edkii\> edksetup ForceRebuild\r
\r
On Linux systems, you must source the edksetup.sh file to load the correct\r
settings into your shell.\r
\r
. edksetup.sh # Note the dot.\r
\r
+If you have recently updated your code from subversion, the tools will need to\r
+be rebuilt if there were any code changes made to them. You can request that\r
+the tools get rebuilt by typing:\r
+\r
+ . edksetup.sh Rebuild # Unix-like systems\r
+ edksetup.bat Rebuild # Windows\r
+\r
The edksetup script is referred to as the setup command throughout the \r
rest of this document.\r
NOTE: You should run the setup command at the start of every session.\r
\r
Any changes to the tool source code or XML Schema documents require that\r
you execute the following:\r
- c:\MyWork\edkii\> edksetup ForceBuild\r
+ c:\MyWork\edkii\> edksetup ForceRebuild\r
\r
You must set the WORKSPACE environment variable, or run the edksetup\r
script (without any arguments), any time you want to build.\r