X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=ReleaseNotes.txt;h=5d8c66e8d6f42d1791cc04985e0e4f963f8a152f;hp=372703ef820c2df056ffea6a1314572abbbaaebf;hb=5343eab11a2dfefaef0e332dad7269a65be41e56;hpb=3c367f9de6345969bbf70453e74f741acb840cb1 diff --git a/ReleaseNotes.txt b/ReleaseNotes.txt index 372703ef82..5d8c66e8d6 100644 --- a/ReleaseNotes.txt +++ b/ReleaseNotes.txt @@ -1,7 +1,7 @@ Intel(R) Platform Innovation Framework for EFI EFI Development Kit II (EDK II) Root Package 1.00 -2006-07-06 +2006-07-12 Copyright (c) 2006, Intel Corporation @@ -41,6 +41,8 @@ Note: Documents have the following filenames: (MDE_Package_Spec_0_50.rtf) EDK II C Coding Standards Specification v0.50 (C_Coding_Standards_Specification_ 0_50.rtf) + EDK II Subversion Setup Guide + (edk2-subversion-setup.rtf) Pre-Requisites -------------- @@ -100,17 +102,6 @@ Tianocore.org website, as part of the checkout procedures. The URL of the EDK II repository is: https://edk2.tianocore.org/svn/edk2/trunk/edk2 ------------------------ -Notes On Documentation ------------------------ -The documents are being managed by the Subversion Source Control on -Tianocore.org. The document repository is "docs" and must be checked out -separately from the EDK II source tree. Refer to the checkout procedures on -the Tianocore.org website for EDK II. - -The URL of the document repository is: - https://edk2.tianocore.org/svn/edk2/trunk/docs - ----------------------- Notes On Required Tools (With examples for Windows, OS X, and Linux) @@ -164,144 +155,135 @@ Java Tools: set PATH=%PATH%;%ANT_HOME%\bin;%XMLBEANS_HOME%\bin Linux/OS X bash shell example: export PATH=$PATH:${ANT_HOME}/bin:${XMLBEANS_HOME}/bin - -------------------------------------------------------------------------------- -Quick Start ------------ -For editing text files under Windows, use the Wordpad application. Notepad -does not handle UNIX style newline characters properly. -Copy the target.template file in the Tools/Conf directory to target.txt, which -must also be in the Tools/Conf directory. +-------------------- +A Word on Apache-ANT +-------------------- +The Apache-ANT program is a build tool that uses XML-based project files. +Similar to Makefiles, these project files may contain multiple targets. Most +build.xml files in EDK II are auto-generated; any edits performed on the +build.xml files will be overwritten the next time build is executed. -Edit the text file, target.txt, located in the Tools/Conf directory. This -file contains options for setting the active platform and restricting the build. -The restictions are used to limit the build output by specifying build target(s), -tagname(s) and architecture(s) to less than the full set of possible options. +Pre-defined targets in the build.xml file include: + all - This target builds binaries for defined architectures + clean - This target removes object files generated by commands + cleanall - This target removes all generated files and directories. -The ACTIVE_PLATFORM must be set unless the current working directory contains one -or more FPD files. All other options need not be set, however by unsetting these -options (by removing the line from the file, or leaving the Value empty) will -result in all available build possibilites when typing build. By default EDK II -can build a matrix of binaries, using different target types, tool chain tags and -architectures. Options to target.txt file are as follows: +------------------------ +A Word on GCC tool chain +------------------------ +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 +that is configured to produce PE-COFF images. You will find a script in +edk2/Tools/gcc that will download, configure, compile, and install a gcc +4.X cross-compile tool chain for EDK II development. It has support for +the IA32 architecture. It can be built and run on Cygwin, Linux, and many +other POSIX compliant host operating environments. There are a few tools +that you will need on your host computer in order to compile the tool +chain. Among them are bash, gcc, gmake, curl (or wget). -ACTIVE_PLATFORM = Value RECOMMENDED - Where Value is the WORKSPACE relative path and filename of a Framework Platform - Definition (FPD) File. Example: -ACTIVE_PLATFORM = MdePkg/MdePkg.fpd +----------------------- +Notes On Documentation +----------------------- +The documents are being managed by the Subversion Source Control on +Tianocore.org. The document repository is "docs" and must be checked out +separately from the EDK II source tree. Refer to the checkout procedures on +the Tianocore.org website for EDK II. -TARGET = Value OPTIONAL - Where Value is a list of one or more of the following: DEBUG, RELEASE or a User - Defined Target type, such as PERF. Example: +The URL of the document repository is: + https://edk2.tianocore.org/svn/edk2/trunk/docs -TARGET = DEBUG RELEASE + +------------------------------------------------------------------------------- +Quick Start +----------- +(assumes Microsoft Tools and OS Environment, for GCC Tools or Unix, please see +"Detailed Starting Instructions" below) -TARGET_ARCH = Value OPTIONAL - Where Value is a list of one or more supported Architectures: IA32, X64, IPF or - EBC. Example: +Follow the instructions at https://edk2.tianocore.org/servlets/ProjectSource to +checkout the entire EDK II source tree. + +In a command window, change to the top level directory of the Edk II sources. -TARGET_ARCH = IA32 X64 EBC +To test your tool chain setup and to build the Supplied Tools, execute: + c:\MyWork\edkii\> edksetup ForceBuild -TOOL_CHAIN_CONF = Value OPTIONAL - Where Value is the Filename of an alternate tools_def.txt file created by the - user. The alternate tools_def.txt files must be in the Tools/Conf directory. - These tool definitions are scoped to the WORKSPACE (location of the EDK - installation) and cannot be shared between WORKSPACES. (You can copy the files - from one workspace to another.) Example: +(The edksetup command will be referred to as the setup command throughout the +rest of this document.) + NOTE: You should run the setup command at the start of every session. + This configures the environment to include the TianoTools and the + Java applications and libraries. -TOOL_CHAIN_CONF = alfred.txt +You will need to set the WORKSPACE environment variable, or run the edksetup +script (without any arguments) any time you want to build. -TOOL_CHAIN_TAG = Value OPTIONAL - Where Value is a list of TagName entries as defined in the tools_def.txt file. - The TagName can be used to specify different versions of a compiler, i.e., - gcc 4.0 and gcc 4.1 which will allow you to build binaries with both tool chains - during the same build - useful during testing of a new compiler tool chain, or - for changing compiler flags to check out performance with a different set of - flags than flags used for production. Example: + Set the WORKSPACE environment variable, e.g.: -TOOL_CHAIN_TAG = GCC40 GCC41 + c:\> set WORKSPACE=C:\MyWork\edkii -To clear a restriction, just remove any data after the equal sign. To clear -the TARGET_ARCH limitation that was set above, enter: +You may need to edit the text files, Tools/Conf/target.txt and +Tools/Conf/tools_def.txt (created by edksetup,) using your favorite +text editor to ensure that the paths to the tools you want to use +to build EDK II binaries are correct. These files contain the default +paths (as per the default installation of the tools), so a customized +install may require this manual process. -TARGET_ARCH = +Once this is completed, you are ready to test the Build, by executing: + c:\MyWork\edkii\> build ------------ -Copy the tools_def.template file in Tools/Conf to tools_def.txt in the same -directory. - -Edit the tools definition file, tools_def.txt, also located in the Tools/Conf -directory. This file contains the names of the compiler tool chains and the -location of the compiler binaries. It has been pre-populated with the standard -location for the Microsoft tool chains and includes the standard location of -the Intel C Compiler for EFI Byte Code (EBC.) In addition, EDK II provides -support for Cygwin, Linux and OS X GCC compiler tool chains. A script has been -provided in the Tools/gcc directory as well as instructions in obtaining and -building a version of GCC that has been tested. The tools_def.txt file has -the GCC binary locations that are created using this script. - -Both target.txt and tools_def.txt files are formatted as Property = Value, -which must appear on a single line. Spanning a Value entry over multiple -lines is not supported at this time. In the target.txt file, the Property is -a single, uppercase word with underscore characters. These Property names are -fixed by the build system. The tools_def.txt file's Property is an underscore -delimited coding, which supports some user defined values. The coding for -the Property is: TARGET_TAGNAME_ARCH_COMMAND_ATTR The Value, is either a -full path, full path and filename or a reserved word. - -TARGET - DEBUG and RELEASE are predefined, however the user may define one or - more of their own TARGET types in this file. - -TAGNAME - HOST, MSFT, GCC, INTC are predefined, however the user may define - one or more of their own TAGNAME keywords in this file. - -ARCH - EDK II supports IA32, X64, IPF and EBC at this time. - -COMMAND - Predefined command codes are listed in the tools_def.txt file, however - the user can specify additional command codes for their one, non- - standard tools. - -ATTR - Predefined Attributes are listed in the tools_def.txt file. - -NOTE: The TAGNAME: HOST is reserved and MUST be defined in order to build the - included Tiano tools from their C source files. These tools have been - built and tested using both Microsoft and GCC tool chains. -NOTE: The "*" symbol may be used as a wildcard character in most of these - fields, refer to the tools_def.txt and the "EDK II Build and Packaging - Architecture Specification" for more details. +This command builds active platform specified in text file target.txt. If +active platform is not specified, go to sub-directory which contains FPD files and +type build. More information about active platform policy reference to specification +<>. +------------------------------------------------------------------------------- +Detailed Start Instructions +--------------------------- ------------ Follow the instructions at https://edk2.tianocore.org/servlets/ProjectSource to checkout the entire EDK II source tree. In a command window, change to the top level directory of the Edk II sources. - Set the WORKSPACE environment variable, e.g.: - c:\> set WORKSPACE=C:\MyWork\Edk2 +If the active compiler tool chain is GCC, you must set the +environment variable, TOOL_CHAIN to "gcc" before running the +edksetup script. Example: export TOOL_CHAIN=gcc To test your tool chain setup and to build the Supplied Tools, execute: - c:\MyWork\Edk2\> edksetup + c:\MyWork\edkii\> edksetup ForceBuild On Unix systems you must source the edksetup.sh file to load the correct settings into your shell. . edksetup.sh # Note the dot. -(This command will be referred to as the setup command throughout the rest of -this document.) +The edksetup command will be referred to as the setup command throughout the +rest of this document.) NOTE: You should run the setup command at the start of every session. This configures the environment to include the TianoTools and the Java applications and libraries. -If you are confident that none of the tool tool sources have changed, and you -only want to set up the workspace environment you may execute: - c:\MyWork\Edk2\> edksetup skip +Any changes to the tool source code or XML Schema documents will require that +you run: + c:\MyWork\edkii\> edksetup ForceBuild + +You will need to set the WORKSPACE environment variable, or run the edksetup +script (without any arguments) any time you want to build. + + Set the WORKSPACE environment variable, e.g.: + + c:\> set WORKSPACE=C:\MyWork\edkii + +You may need to edit the text files, Tools/Conf/target.txt and +Tools/Conf/tools_def.txt (created by edksetup,) using your favorite +text editor to ensure that the paths to the tools you want to use +to build EDK II binaries are correct. These files contain the default +paths (as per the default installation of the tools), so a customized +tool installation may require this manual process. Once this is completed, you are ready to test the Build, by executing: - c:\MyWork\Edk2\> build + c:\MyWork\edkii\> build This command builds active platform specified in text file target.txt. If active platform is not specified, go to sub-directory which contains FPD files and @@ -315,7 +297,7 @@ After running the setup command, you can build individual platforms. In the command window, 1. Set active platform in target.txt, and type "build" in whatever directory; 2. or cd to the platform (FPD file) that you want to build, and just type: - c:\MyWork\Edk2\EdkNt32Pkg\> build + c:\MyWork\edkii\EdkNt32Pkg\> build Note that active platform with the high priority to build, that means active platform will be built even if exists FPD file under current directory. More @@ -335,35 +317,10 @@ Individual Module Builds After running the setup command, you can build individual modules. In the command window, cd to the module that you want to build, and just type: - c:\MyWork\Edk2\MdePkg\Library\BaseLib\> build + c:\MyWork\edkii\MdePkg\Library\BaseLib\> build Note active platform must be set for individual module build. -------------------------------------------------------------------------------- -A Word on Apache-ANT --------------------- -The Apache-ANT program is a build tool that uses XML-based project files. -Similar to Makefiles, these project files may contain multiple targets. Most -build.xml files in EDK II are auto-generated; any edits performed on the -build.xml files will be overwritten the next time build is executed. - -Pre-defined targets in the build.xml file include: - all - This target builds binaries for defined architectures - clean - This target removes object files generated by commands - cleanall - This target removes all generated files and directories. - -A Word on GCC tool chain ------------------------- -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 -that is configured to produce PE-COFF images. You will find a script in -edk2/Tools/gcc that will download, configure, compile, and install a gcc -4.X cross-compile tool chain for EDK II development. It has support for -the IA32 architecture. It can be built and run on Cygwin, Linux, and many -other POSIX compliant host operating environments. There are a few tools -that you will need on your host computer in order to compile the tool -chain. Among them are bash, gcc, gmake, curl (or wget). - ------------------------------------------------------------------------------- General Information: