]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/ReadMe.txt
Patch from open source community for CryptoPkg to allow it to build for ARM using...
[mirror_edk2.git] / BaseTools / ReadMe.txt
index 55378109b82a06b7626f5cb5be3608b6760ed4c7..37691e98fd985b01d06e72ccb5347a1238ddf8aa 100644 (file)
@@ -1,16 +1,55 @@
 This directory contains the next generation of EDK II build tools and template files.\r
 Templates are located in the Conf directory, while the tools executables for\r
 This directory contains the next generation of EDK II build tools and template files.\r
 Templates are located in the Conf directory, while the tools executables for\r
-Microsoft Windows 32-bit Operating Systems are located in the Bin\Win32 directory.\r
+Microsoft Windows 32-bit Operating Systems are located in the Bin\Win32 directory, other \r
+directory contatins tools source.\r
 \r
 \r
-The binary tools will be updated only after passing developer testing.\r
+1. Build step to generate the binary tools.\r
 \r
 \r
-The BaseTools package will be updated with new tools only after all testing on a set\r
-of binary tools has successfully completed.\r
+=== Windows/Visual Studio Notes ===\r
+\r
+To build the BaseTools, you should run the standard vsvars32.bat script.\r
+\r
+In addition to this, you should set the following environment variables:\r
+\r
+ * EDK_TOOLS_PATH - Path to the BaseTools sub directory under the edk2 tree\r
+ * BASE_TOOLS_PATH - The directory where the BaseTools source is located.\r
+   (It is the same directory where this README.txt is located.)\r
+ * PYTHON_FREEZER_PATH - Path to where the python freezer tool is installed\r
+\r
+After this, you can run the toolsetup.bat file, which is in the same\r
+directory as this file.  It should setup the remainder of the environment,\r
+and build the tools if necessary.\r
+\r
+Please also refer to the 'BuildNotes.txt' file for more information on\r
+building under Windows.\r
+\r
+=== Unix-like operating systems ===\r
+\r
+To build on Unix-like operating systems, you only need to type 'make' in\r
+the base directory of the project.\r
+\r
+=== Ubuntu Notes ===\r
+\r
+On Ubuntu, the following command should install all the necessary build\r
+packages to build all the C BaseTools:\r
+\r
+  sudo apt-get install build-essentials uuid-dev\r
+\r
+=== Python sqlite3 module ===\r
+On Windows, the cx_freeze will not copy the sqlite3.dll to the frozen \r
+binary directory (the same directory as build.exe and GenFds.exe). \r
+Please copy it manually from <PythonHome>\DLLs.\r
+\r
+The Python distributed with most recent Linux will have sqlite3 module\r
+built in. If not, please install sqlit3 package separately.\r
+\r
+2. The binary tools will be updated only after passing developer testing.\r
 \r
 Current state of the tools is Proto-Type - not all tool functions have been implemented\r
 and there may be bugs in these tools.  These tools are under constant development at\r
 this time.\r
 \r
 \r
 Current state of the tools is Proto-Type - not all tool functions have been implemented\r
 and there may be bugs in these tools.  These tools are under constant development at\r
 this time.\r
 \r
+3. Tool usage introduction.\r
 BaseTools Simple Usage:\r
 1) Change the directory to the EDK2 root directory, where the edksetup.bat is\r
 2) Run "edksetup.bat NewBuild"\r
 BaseTools Simple Usage:\r
 1) Change the directory to the EDK2 root directory, where the edksetup.bat is\r
 2) Run "edksetup.bat NewBuild"\r
@@ -26,19 +65,9 @@ Notes:
    after you call "nmake cleanall", you have to call "build" command to rebuild platform\r
         or modules because the AutoGen.* files have been be removed. The "makefile" itself\r
         cannot generate AutoGen.* files. Only "build" command can.\r
    after you call "nmake cleanall", you have to call "build" command to rebuild platform\r
         or modules because the AutoGen.* files have been be removed. The "makefile" itself\r
         cannot generate AutoGen.* files. Only "build" command can.\r
-3) build.exe in %WORKSPACE%\BaseTools\Bin\Win32 is generated from following revision of\r
-   Python source code:\r
-        r658 <buildtools_project>\BaseTools\Source\Python\Autogen\r
-        r723 <buildtools_project>\BaseTools\Source\Python\build\r
-        r700 <buildtools_project>\BaseTools\Source\Python\Common\r
-        r695 <buildtools_project>\BaseTools\Source\Python\CommonDataClass\r
-        r710 <buildtools_project>\BaseTools\Source\Python\GenFds\r
-        \r
-4) GenFds.exe has is a combo of the follow python source.(This is a temporary branch)\r
-        r700 <buildtools_project>\BaseTools\Source\Python\Common\r
-        r695 <buildtools_project>\BaseTools\Source\Python\CommonDataClass\r
-        r710 <buildtools_project>\BaseTools\Source\Python\GenFds\r
-       \r
+3) All .exe binary file including C and python tools are generated from:\r
+    r1911 <buildtools_project>\BaseTools\Source\.\r
+\r
 Brief usage for Migration Tool MigrationMsa2Inf.exe:\r
 1. Command line format:\r
   MigrationMsa2Inf [options]\r
 Brief usage for Migration Tool MigrationMsa2Inf.exe:\r
 1. Command line format:\r
   MigrationMsa2Inf [options]\r
@@ -96,29 +125,46 @@ Brief usage for Migration Tool MigrationMsa2Inf.exe:
    f. When tool generates [LibraryClasses] section, the recommended library instances are lost. (No impact to build)\r
  \r
 7. Pyton Source\r
    f. When tool generates [LibraryClasses] section, the recommended library instances are lost. (No impact to build)\r
  \r
 7. Pyton Source\r
-   r682 <buildtools_project>\BaseTools\Source\Python\MigrationMsa2Inf\r
-\r
-\r
-Brief Usage for PcdSyntax Update:\r
-Usage:\r
-  PcdSyntaxUpdate.exe <directory_name>\r
-It searches all INF, DEC and DSC file under <directory_name> and update them with the following rules:\r
-1. Update INF files to conform to INF spec 0.44: \r
-   a. Rename PCD section name: e.g. [PcdsFeatureFlag] -> [FeaturePcd]\r
-   b. Adjust PCD section item format: e.g. PcdDebugClearMemoryValue|gEfiMdePkgTokenSpaceGuid -> gEfiMdePkgTokenSpaceGuid.PcdDebugClearMemoryValue\r
-   c. Update the syntax of binary INF file (not PCD related) \r
-2. Update DEC files to confirm to DEC spec 0.36\r
-   Adjust PCD section item format: e.g. PcdWinNtPhysicalDisk|0x00001000|gEfiNt32PkgTokenSpaceGuid|VOID*|L"E:RW;245760;512"-> gEfiNt32PkgTokenSpaceGuid.PcdWinNtFlashFvRecoverySize|0x0|UINT32|0x00001011\r
-3. Update DSC files to confirm to DSC spec \r
-   a. Adjust string/array typed PCD item format: e.g. PcdWinNtMemorySizeForSecMain|gEfiNt32PkgTokenSpaceGuid|L"64!64"|12 -> gEfiNt32PkgTokenSpaceGuid.PcdWinNtMemorySizeForSecMain|L"64!64"|VOID*|12\r
-   b. Adjust non-string/array typed PCD item format: e.g. PcdWinNtBootMode|gEfiNt32PkgTokenSpaceGuid|1 -> gEfiNt32PkgTokenSpaceGuid.PcdWinNtBootMode|1\r
-   c. Update the override library class in [Components] section: e.g.\r
-   <LibraryClass> {\r
-      PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
-   }\r
-   To \r
-   <LibraryClasses> {\r
-      PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
-   }\r
-\r
-30-August-2007\r
+   BaseTools\Source\Python\MigrationMsa2Inf\r
+\r
+Brief usage for Migration Tool Spd2Dec.exe:\r
+1. Command line format:\r
+  Spd2Dec [options] input_filename\r
+2. Input File:\r
+  A syntactically valid SPD file\r
+3. Output Files:\r
+  A DEC file whose syntax confirms to DEC spec.\r
+     \r
+4. Example:\r
+   a. Spd2Dec -o c:\work\EdkII\Nt32Pkg\Nt32.spd c:\work\EdkII\Nt32Pkg\Nt32.dec\r
+   b. Spd2Dec -a c:\work\EdkII\Nt32Pkg\Nt32.spd\r
+   Example a & b are equivalent to migrate Nt32 package SPD file from EDKII to EDKII' snytax.\r
+  \r
+6. Pyton Source\r
+   BaseTools\Source\Python\spd2dec\r
+\r
+Brief usage for Migration Tool Fpd2Dsc.exe:\r
+1. Command line format:\r
+  Fpd2Dsc [options] input_filename\r
+2. Input File:\r
+  A syntactically valid FPD file\r
+3. Output Files:\r
+  A DSC file which syntax confirms to DSC spec.\r
+4. Prerequisite:\r
+   a. The workspace directory must be specified either by environment variable or -w option.\r
+     \r
+5. Example:\r
+   WORKSAPCE has already been set: $(WORKSPACE) = c:\work\EdkII. \r
\r
+   a. Fpd2Dsc -o c:\work\EdkII\Nt32Pkg\Nt32.dsc c:\work\EdkII\Nt32Pkg\Nt32.fpd\r
+   b. Fpd2Dsc -a c:\work\EdkII\Nt32Pkg\Nt32.fpd\r
+   Example a & b are equivalent to migrate Nt32 platform description file from EDKII to EDKII' snytax.\r
+  \r
+6. Known Limitations:\r
+   a. Tool does not handle Libraries Section since no related info in original FPD file. Developers need  to handle it manually in the output DSC file.\r
+   b. If MSA file which is corresponds to module guid could not be found in currect workspace, tool will dump the module guid.\r
\r
+7. Pyton Source\r
+   BaseTools\Source\Python\fpd2dsc\r
+\r
+4-Mar-2010\r