fix a typo in a comment
[mirror_edk2.git] / BuildNotes.txt
index d88684421ee4db28a114eb8a7d8e1bb95b0229b2..f9f3cdd9342090fefe407300af03273806b53cab 100644 (file)
@@ -21,6 +21,8 @@ Package Contents
   EdkFatBinPkg   - Binary DXE drivers for the Fat 32 file system\r
   EdkShellBinPkg - Binary Shell applications and commands\r
   EdkNt32Pkg     - NT32 Emulation platform reference\r
+  EdkUnixPkg     - Posix/Unix Emulation platform reference (Currently this\r
+                   builds only on ia32 Linux, but is meant to be portable.)\r
 \r
 Note: MDE and MDK that appear in other documentation refer to the MdePkg and\r
 Tools packages, respectively.  While, these two packages are the minimum \r
@@ -95,6 +97,25 @@ Compiler Tool Chains:
     Microsoft ACPI Source Language Assembler, Version 1.0.13NT or later\r
     Intel ACPI Component Architecture, version 20060113\r
 \r
+Python\r
+\r
+    There are several tools implemented in Python and wxPython Widgets in the\r
+    Tools/Python directory. These are optional tools, and are not necessary in\r
+    order to use or build the edk2 code.  In order to use them you must\r
+    install Python 2.4.x and wxWidgets 2.8.x for your platform.  The tools\r
+    have been tested and work correctly on OS X, Linux and Windows.\r
+\r
+    There is a script called Install_Python_OSX.sh that will download and\r
+    install the correct versions for OS X. For other platforms, please find\r
+    the installers for your platform at the following sites:\r
+\r
+    - http://www.python.org/download/releases/2.4.4/ (Python interpreter)\r
+    - http://www.wxpython.org/download.php#binaries  (Python GUI extensions)\r
+\r
+    Your linux distribution may contain packages of python and wxPython, which\r
+    should work, provided they are are compatible with the above specified\r
+    versions.\r
+\r
 -----------------------------------------------\r
 Notes on Required Tools (Source Control System)\r
 -----------------------------------------------\r
@@ -180,6 +201,9 @@ Pre-defined targets in the build.xml file include:
     clean    - This target removes object files generated by commands.\r
     cleanall - This target removes all generated files and directories.\r
 \r
+Use the ANT option, -emacs, to remove the [cc] characters when an error occurs\r
+to provide a method for the Visual Studio IDE to open a file by double\r
+clicking the mouse on the file.  Add -emacs to the end of the build command.\r
 ----------------------------\r
 A Word on the GCC Tool Chain\r
 ----------------------------\r
@@ -194,10 +218,10 @@ Cygwin, Linux, and many other POSIX-compliant host operating environments. To
 compile the custom gcc tool chain, you need the following tools on your host\r
 computer: bash, gcc, 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
+Only the MdePkg, EdkModulePkg and EdkUnixPkg are currently supported by gcc\r
+builds. Other builds, such as the EdkNt32Pkg, will not compile with gcc. By\r
+default, the edk2 will try to build the NT32.fpd, which is not supported by\r
+gcc. So, you need to change the Tools/Conf/target.txt.\r
 \r
 The cross-compile build script has been tested on Cygwin, OS X and Linux. You\r
 should expect to hack on these scripts to make them work on your system. You\r
@@ -299,8 +323,37 @@ not support the EFIAPI calling convention the x64 tools do not support generatin
 PE32+ image.  The EFIAPI calling convention is very similar to the Microsoft x64 \r
 calling convention.\r
 \r
+We have added prelinary support for the MinGW64 Tool chain. This gcc tool\r
+chain is ported to follow the Microsft X64 ABI, and therefore is compatible\r
+with the EFI specification.\r
+\r
 On Itanium?Processors the gcc compiler does not support generating a PE32+ image.\r
 \r
+----------------------------------------\r
+A Word on EdkUnixPkg -- The Unix simulator\r
+----------------------------------------\r
+\r
+A unix port of the Nt32 simulator has been added to the project. It currently\r
+builds and runs on 32 bit Linux, but should be portable to other Unix\r
+variants. In order to build it, you should use the ELFGCC tool chain defintion\r
+in tools_def.txt, which is set in target.txt. These are two settings to make\r
+in Tools/Conf/target.txt:\r
+\r
+ACTIVE_PLATFORM       = EdkUnixPkg/Unix.fpd\r
+TOOL_CHAIN_TAG        = ELFGCC\r
+\r
+Once that is setup, type build, and then you will end up with the simulator in\r
+Build/Unix/DEBUG_ELFGCC/IA32/SecMain.exe. \r
+\r
+In order to use the gdb debugger with the simulator, you may need to load the\r
+correct symbol file for the various modules that are loaded. For example,\r
+\r
+add-symbol-file EdkModulePkg/Bus/Pci/PciBus/Dxe/PciBus/DEBUG/./PciBus.dll\r
+0x45dc6000\r
+\r
+You can see the names of the symbol files (they are in ELF format even though\r
+the extension is .dll) printed on the screen as the simulator comes up.\r
+\r
 -----------------------\r
 Notes on Documentation\r
 -----------------------\r
@@ -354,7 +407,7 @@ This command builds the active platform specified in text file target.txt. If
 the active platform is not specified target.txt, you must execute the build \r
 command from the sub-directory that contains FPD files. For more information \r
 about the active platform policy, see the \93EDK II Build and Packaging \r
-Architecture Specification.?
+Architecture Specification.?\r
 \r
 -------------------------------------------------------------------------------\r
 Detailed Starting Instructions\r
@@ -415,7 +468,7 @@ This command builds the active platform specified in text file target.txt. If
 the active platform is not specified, go to the sub-directory that contains FPD \r
 files and execute the build command. For more information about the active \r
 platform policy, see the \93EDK II Build and Packaging Architecture \r
-Specification.?
+Specification.?\r
 \r
 --------------------------\r
 Individual Platform Builds\r
@@ -480,7 +533,7 @@ the modules that the package contains, including the location of all MSA files,
 and public library names and headers that might be provided by a module in the\r
 package.  Packages are defined by SPD files.  (Found in the root of the Package\r
 subdirectory (i.e. EdkNt32Pkg).) The SPD file is further explained in \93EDK II \r
-Build and Packaging Architecture Specification.?
+Build and Packaging Architecture Specification.?\r
  \r
 B) Module Surface Area Definition (MSA) files.  A description of a module's \r
 surface area, with all module specific default flags and features specified.\r
@@ -667,3 +720,5 @@ Of particular note:
 =======================================================\r
 Virus scanned by McAfee VirusScan Enterprise 8.0.0, Virus Definitions 4890, no\r
 virus detected.\r
+\r
+vim:tw=78:ts=2:com=fb\:- :ai\r