]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ReleaseNotes.txt
Syncronized the file list in each msa and spd files
[mirror_edk2.git] / ReleaseNotes.txt
index d1866b379494e991e5b3256405a7137416e48738..fc1d46c34ec9c9f92911f34792d8dd62e284eaa5 100644 (file)
@@ -65,10 +65,12 @@ Java Development Kit ( Java 5.0 or later)
 Java Tools\r
     Apache-ANT, version 1.6.5 or later (http://ant.apache.org)\r
     Ant-contrib, version 1.0b2 or later\r
-      (http://sourceforge.net/project/showfiles.php?group_id=36177)\r
+      (http://prdownloads.sourceforge.net/ant-contrib/ant-contrib-1.0b2-bin.zip?download)\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
+    XMLBeans, version 2.1.0 (http://xmlbeans.apache.org)\r
+      DO NOT download the latest XMLBeans, version 2.2.0. It cannot work with\r
+      Saxon8, version 8.1.1.\r
 \r
 Other Tools\r
     TortoiseSVN version 1.3.3. (http://tortoisesvn.tigris.org/)\r
@@ -111,7 +113,7 @@ The URL of the document repository is:
 \r
 \r
 -----------------------\r
-Notes On Required Tools (MS Windows environment example)\r
+Notes On Required Tools (With examples for Windows, OS X, and Linux) \r
 -----------------------\r
 Software Installation Order:\r
   After installing the compiler tools and your Subversion client, the following\r
@@ -121,10 +123,12 @@ Software Installation Order:
 Java Development Kit:\r
  \r
    The Java Environment Variable must be set before attempting to build.\r
-       i.e. For Sun JDK (see note below*):\r
-              set JAVA_HOME=c:\ Java\jdk1.5.0_06  \r
-       i.e. For Bea Systems:\r
-              set JAVA_HOME=c:\Program Files\Java\jrockit-R26.0.0-jdk1.5.0_04\r
+       For Sun JDK (see note below*):\r
+              set JAVA_HOME=c:\Java\jdk1.5.0_06  (Windows example)\r
+              export JAVA_HOME=/Library/Java/Home/ (OS X example)\r
+              export JAVA_HOME=/usr/lib/j2sdk1.5-sun/ (Linux example)\r
+       For Bea Systems:\r
+              set JAVA_HOME=c:\Java\jrockit-R26.0.0-jdk1.5.0_04\r
  \r
   *When using the Sun JDK5.0\r
     During installation, you should specify the install directory as C:\Java\r
@@ -143,13 +147,15 @@ Java Tools:
     The Apache-ANT requires the ANT_HOME environment variable to be set before\r
     attempting to build:\r
          i.e.  set ANT_HOME=c:\<full path to where ant was installed>\r
+          export ANT_HOME=~/ExternalTools/apache-ant (OS X and Linux example)\r
 \r
     The ant-contrib.jar file should be installed in the %ANT_HOME%\lib \r
     directory.\r
 \r
     The XMLBeans, requires the XMLBEANS_HOME environment variable to be set\r
     before attempting to build:\r
-         i.e. set XMLBEANS_HOME=C:\<full path to where xmlbeans  was installed>\r
+         i.e. set XMLBEANS_HOME=C:\<full path to where xmlbeans was installed>\r
+          export XMLBEANS_HOME=~/ExternalTools/xmlbeans (OS X and Linux example)\r
 \r
     The saxon8.jar file should be copied to the %XMLBEANS_HOME%\lib directory.\r
 \r
@@ -161,119 +167,23 @@ Java Tools:
  \r
 -------------------------------------------------------------------------------\r
 Quick Start\r
------------\r
-Copy the target.template file in the Tools/Conf directory to target.txt, which\r
-must also be in the Tools/Conf directory.\r
-\r
-Edit the text file, target.txt, located in the Tools/Conf directory. This \r
-file contains options for setting the active platform and restricting the build. \r
-The restictions are used to limit the build output by specifying build target(s), \r
-tagname(s) and architecture(s) to less than the full set of possible options. \r
-\r
-The ACTIVE_PLATFORM MUST BE SET.  All other options need not be set, however by \r
-unsetting these options (by removing the line from the file, or leaving the Value \r
-empty) will result in all available build possibilites when typing build.  By\r
-default EDK II can build a matrix of binaries, using different target types, tool\r
-chain tags and architectures.  Options to target.txt file are as follows:\r
-\r
-ACTIVE_PLATFORM =  Value   REQUIRED\r
-  Where Value is the WORKSPACE relative path and filename of a Framework Platform \r
-  Definition (FPD) File.  Example:\r
-\r
-ACTIVE_PLATFORM = MdePkg/MdePkg.fpd\r
-\r
-TARGET = Value             OPTIONAL\r
-  Where Value is a list of one or more of the following: DEBUG, RELEASE or a User\r
-  Defined Target type, such as PERF. Example: \r
-\r
-TARGET = DEBUG RELEASE\r
-\r
-TARGET_ARCH = Value        OPTIONAL\r
-  Where Value is a list of one or more supported Architectures: IA32, X64, IPF or\r
-  EBC.  Example: \r
-\r
-TARGET_ARCH = IA32 X64 EBC\r
-\r
-TOOL_CHAIN_CONF = Value    OPTIONAL\r
-  Where Value is the Filename of an alternate tools_def.txt file created by the\r
-  user.  The alternate tools_def.txt files must be in the Tools/Conf directory.\r
-  These tool definitions are scoped to the WORKSPACE (location of the EDK \r
-  installation) and cannot be shared between WORKSPACES. (You can copy the files\r
-  from one workspace to another.) Example: \r
-\r
-TOOL_CHAIN_CONF = alfred.txt\r
-\r
-TOOL_CHAIN_TAG = Value     OPTIONAL\r
-  Where Value is a list of TagName entries as defined in the tools_def.txt file.\r
-  The TagName can be used to specify different versions of a compiler, i.e., \r
-  gcc 4.0 and gcc 4.1 which will allow you to build binaries with both tool chains \r
-  during the same build - useful during testing of a new compiler tool chain, or \r
-  for changing compiler flags to check out performance with a different set of \r
-  flags than flags used for production.  Example:\r
-\r
-TOOL_CHAIN_TAG = GCC40 GCC41\r
-\r
-To clear a restriction, just remove any data after the equal sign.  To clear\r
-the TARGET_ARCH limitation that was set above, enter: \r
-\r
-TARGET_ARCH =\r
-\r
------------\r
-Copy the tools_def.template file in Tools/Conf to tools_def.txt in the same\r
-directory.\r
-\r
-Edit the tools definition file, tools_def.txt, also located in the Tools/Conf \r
-directory. This file contains the names of the compiler tool chains and the \r
-location of the compiler binaries.  It has been pre-populated with the standard \r
-location for the Microsoft tool chains and includes the standard location of \r
-the Intel C Compiler for EFI Byte Code (EBC.)  In addition, EDK II provides\r
-support for Cygwin, Linux and OS X GCC compiler tool chains.  A script has been\r
-provided in the Tools/gcc directory as well as instructions in obtaining and\r
-building a version of GCC that has been tested.  The tools_def.txt file has\r
-the GCC binary locations that are created using this script.\r
-\r
-Both target.txt and tools_def.txt files are formatted as Property = Value, \r
-which must appear on a single line.  Spanning a Value entry over multiple\r
-lines is not supported at this time.  In the target.txt file, the Property is\r
-a single, uppercase word with underscore characters. These Property names are\r
-fixed by the build system.  The tools_def.txt file's Property is an underscore\r
-delimited coding, which supports some user defined values.  The coding for\r
-the Property is:  TARGET_TAGNAME_ARCH_COMMAND_ATTR  The Value, is either a \r
-full path, full path and filename or a reserved word.\r
-\r
-TARGET  - DEBUG and RELEASE are predefined, however the user may define one or\r
-          more of their own TARGET types in this file.\r
-\r
-TAGNAME - HOST, MSFT, GCC, INTC are predefined, however the user may define \r
-          one or more of their own TAGNAME keywords in this file.\r
-\r
-ARCH    - EDK II supports IA32, X64, IPF and EBC at this time.\r
-\r
-COMMAND - Predefined command codes are listed in the tools_def.txt file, however\r
-          the user can specify additional command codes for their one, non-\r
-          standard tools.\r
-\r
-ATTR    - Predefined Attributes are listed in the tools_def.txt file.\r
-\r
-NOTE: The TAGNAME: HOST is reserved and MUST be defined in order to build the\r
-      included Tiano tools from their C source files.  These tools have been\r
-      built and tested using both Microsoft and GCC tool chains.\r
-NOTE: The "*" symbol may be used as a wildcard character in most of these\r
-      fields, refer to the tools_def.txt and the "EDK II Build and Packaging\r
-      Architecture Specification" for more details.\r
-\r
-\r
 -----------\r
 Follow the instructions at https://edk2.tianocore.org/servlets/ProjectSource to\r
 checkout the entire EDK II source tree.\r
 \r
 In a command window, change to the top level directory of the Edk II sources.\r
-  Set the WORKSPACE environment variable, e.g.:\r
 \r
-    c:\> set WORKSPACE=C:\MyWork\Edk2\r
+If the active compiler tool chain is GCC, you must set the\r
+environment variable, TOOL_CHAIN to "gcc" before running the\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\Edk2\> edksetup\r
+    c:\MyWork\edkii\> edksetup ForceBuild\r
+\r
+On Unix 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
 (This command will be referred to as the setup command throughout the rest of\r
 this document.)\r
@@ -281,12 +191,23 @@ this document.)
             This configures the environment to include the TianoTools and the\r
             Java applications and libraries.\r
 \r
-If you are confident that none of the tool tool sources have changed, and you\r
-only want to set up the workspace environment you may execute:\r
-   c:\MyWork\Edk2\> edksetup skip\r
+Any changes to the tool source code or XML Schema documents will require that\r
+you run:\r
+   c:\MyWork\edkii\> edksetup ForceBuild\r
+\r
+You will need to set the WORKSPACE environment variable, or run the edksetup\r
+script (without any arguments) any time you want to build.\r
+\r
+  Set the WORKSPACE environment variable, e.g.:\r
+\r
+    c:\> set WORKSPACE=C:\MyWork\edkii\r
+\r
+You may need to edit the text files, Tools/Conf/target.txt and/or\r
+Tools/Conf/tools_def.txt (created by edksetup,) using your favorite \r
+text editor to point to the tools you want to use to build EDK II binaries.\r
 \r
 Once this is completed, you are ready to test the Build, by executing:\r
-    c:\MyWork\Edk2\> build\r
+    c:\MyWork\edkii\> build\r
 \r
 This command builds active platform specified in text file target.txt. If \r
 active platform is not specified, go to sub-directory which contains FPD files and\r
@@ -300,7 +221,7 @@ After running the setup command, you can build individual platforms.
   In the command window, \r
   1. Set active platform in target.txt, and type "build" in whatever directory;\r
   2. or cd to the platform (FPD file) that you want to build, and just type:\r
-    c:\MyWork\Edk2\EdkNt32Pkg\> build\r
+    c:\MyWork\edkii\EdkNt32Pkg\> build\r
 \r
   Note that active platform with the high priority to build, that means active \r
   platform will be built even if exists FPD file under current directory. More \r
@@ -320,7 +241,7 @@ Individual Module Builds
 After running the setup command, you can build individual modules.\r
   In the command window, cd to the module that you want to build, and just\r
   type:\r
-    c:\MyWork\Edk2\MdePkg\Library\BaseLib\> build\r
+    c:\MyWork\edkii\MdePkg\Library\BaseLib\> build\r
 \r
   Note active platform must be set for individual module build. \r
 \r
@@ -488,20 +409,23 @@ Example Ppi Entries (NOTE: The Guid entry is a single line in the SPD file):
     element as described above.\r
 \r
 --------------------------------------- \r
-7) Define a new PCD entry in a package:\r
+7) Declare a new PCD entry in a package:\r
   - This release requires manual editing of the SPD file to include the new\r
     PCD.  New Pcd entries are added to the PcdDefinitions section of the\r
     <PackageName>.spd file using the following example for the format:\r
     NOTE: The hex <Token> value must be unique.\r
 \r
-<PcdDefinitions>\r
+<PcdDeclarations>\r
   <PcdEntry ItemType="FIXED_AT_BUILD">\r
     <C_Name>PcdMaximumUnicodeStringLength</C_Name>\r
     <Token>0x00000001</Token>\r
+    <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
     <DatumType>UINT32</DatumType>\r
+    <ValidUsage>FIXED_AT_BUILD</ValidUsage>\r
     <DefaultValue>1000000</DefaultValue>\r
+    <HelpText>The maximum lengh for unicode string.</HelpText>\r
   </PcdEntry>\r
-</PcdDefinition>\r
+</PcdDeclarations>\r
   \r
 ------------------------------\r
 8) Declare a new Library Class:\r