Compiler Tool Chain\r
Microsoft* Visual Studio .NET 2003* (http://www.microsoft.com)\r
or\r
- GCC version 4.x or later (http://gcc.gnu.org)\r
+ A special GCC version 4.x or later (http://gcc.gnu.org). See below.\r
\r
Assembler Tool Chain\r
Microsoft Macro Assembler, version 6.15 or later\r
or\r
- GCC version 4.x or later\r
+ GNU binutils 2.16.1 or later\r
\r
Java Development Kit ( Java 5.0 or later)\r
Sun* jdk-1.5.0_04 or later (http://java.sun.com)\r
\r
Java Tools\r
Apache-ANT, version 1.6.5 or later (http://ant.apache.org)\r
- Ant-contrib, version 1.0b2 or later (http://antcontrib.sourceforge.net)\r
+ Ant-contrib, version 1.0b2 or later\r
+ (http://sourceforge.net/project/showfiles.php?group_id=36177)\r
Saxon8, version 8.1.1\r
(http://prdownloads.sourceforge.net/saxon/saxonb8-1-1.zip?download)\r
XMLBeans, version 2.1.0 or later (http://xmlbeans.apache.org) \r
Optional Tools\r
--------------\r
Compiler Tool Chains:\r
- Intel C++ Compiler for Windows, ver. 9.0 or later (http://www.intel,com)\r
- Intel C Compiler for EFI Byte Code, ver. 1.2 or later\r
+ Intel C++ Compiler for Windows, ver. 9.0 or later (http://www.intel.com)\r
+ Intel C Compiler for EFI Byte Code, ver. 1.2 or later \r
+ (http://www.intel.com/cd/software/products/asmo-na/eng/compilers/efibc/index.htm)\r
Microsoft Driver Development Kit, version 3790.1830 or later\r
+ (http://www.microsoft.com/whdc/devtools/ddk/orderddkcd.mspx)\r
Microsoft ACPI Source Language Assembler, Version 1.0.13NT or later\r
Intel ACPI Component Architecture, version 20060113\r
\r
-------------------------------------------------------------------------------\r
Quick Start\r
-----------\r
-Edit the text file, tools_def.txt, located in the Tools/Conf directory. This\r
-file contains the names of the compiler tool chains and the location of the\r
-compiler binaries. It has been pre-populated with the standard location for\r
-the Microsoft tool chains and includes the standard location of the Intel C \r
+Edit the text file, msft_tools_def.txt, located in the Tools/Conf directory.\r
+This file contains the names of the compiler tool chains and the location of\r
+the compiler binaries. It has been pre-populated with the standard location\r
+for the Microsoft tool chains and includes the standard location of the Intel C\r
Compiler for EFI Byte Code (EBC)\r
\r
Follow the instructions at https://edk2.tianocore.org/servlets/ProjectSource to\r
\r
This command builds all of the packages, including the NT32 reference platform.\r
\r
+------------------------------------\r
+Build Architectures other than IA32.\r
+------------------------------------\r
+\r
+By default, we are set up to build the ia32 architecture. If you would like to\r
+build for IPF, x64 and EBC, please copy MdePkg/MdePkg-All-Arch.fpd to\r
+MdePkg/MdePkg.fpd. For EdkModulePkg, copy EdkModulePkg-All-Archs.fpd to\r
+EdkModulePkg.fpd. Note, you may also add only the architecture you want from\r
+the -All-Archs files to the main fpd file. This is preferred if you do not have\r
+all the compilers installed.\r
+\r
+Optionally, you may modify the path to the compiler in\r
+Tools/Conf/msft_tools_def.txt. The flags for the ARCH tool chain are set in the\r
+file names by Tools/Conf/VENDOR_tools.txt, where VENDOR is set in\r
+Tools/Conf/msft_tools.txt.\r
+\r
+For example, if IPF_VENDOR = WINDDK, then the flags for the IPF DDK compiler\r
+will be specified in Tools/Conf/winddk_tools.txt.\r
+\r
-------------------------\r
Individual Package Builds\r
-------------------------\r
The EdkNt32Pkg has a special target; "run" that will execute the Nt32 emulation\r
platform under Microsoft Windows.\r
\r
+To exit the Nt32 emulation platform, you may type reset at the EFI Shell>\r
+command prompt. Alternately, you may use the Graphical interface, Boot\r
+Maintenance Manager screen's Reset System command.\r
+\r
------------------------\r
Individual Module Builds\r
------------------------\r
\r
A Word on GCC tool chain\r
------------------------\r
-You will find a script in the tree that will download, configure, compile, and\r
-install a gcc 4.0.2 tool chain for development. It has support for the ia32\r
-architecture. It can be built and run on Cygwin, Linux, and many other POSIX\r
-compliant host environments. There are a few tools that you will need on your\r
-host computer in order to compile the tool chain. Among them are bash, gcc,\r
-gmake, curl (or wget).\r
+EDK2 will not compile with a standard Linux gcc tool chain. While Linux\r
+distributions are usually based on ELF, EDK2 requires a version of gcc that is\r
+configured to produce PE-COFF images. You will find a script in edk2/Tools/gcc\r
+that will download, configure, compile, and install a gcc 4.X cross-compile\r
+tool chain for EDK2 development. It has support for the ia32 architecture. It\r
+can be built and run on Cygwin, Linux, and many other POSIX compliant host\r
+operating environments. There are a few tools that you will need on your host\r
+computer in order to compile the tool chain. Among them are bash, gcc, gmake,\r
+curl (or wget).\r
\r
-------------------------------------------------------------------------------\r
\r
=============================================================== \r
Mechanisms:\r
----------\r
-A quick understanding:\r
+A brief overview:\r
\r
A) Surface Area Package Description (SPD) file contains information about the\r
modules that the package contains, including the location of all MSA files, and\r