audk/BaseTools
Rodriguez, Christian a7ef158b07 BaseTools: Library hashing fix and optimization for --hash feature
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1788

In V3: Must generate hashes before attempting to copy from cache for
hash verifcation
In V2: Build failure caused by passing incorrect boolean parameter to
SaveFileOnChange(). Fixed for patch instances.

Library hashing is now supported by the --hash feature. The --hash
feature implementation assumed that the hashing could be done in
place once per module, but that isn't true for libraries due to the
fact that they are built as dependencies. So on a clean build, we now
generate the .hash after the library dependencies are complete.
Added early escape as optimization, if hash already exists in memory.

Signed-off-by: Christian Rodriguez <christian.rodriguez@intel.com>
Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Reviewed-by: Bob Feng <bob.c.feng@intel.com>
2019-05-21 13:18:06 +08:00
..
Bin BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
BinWrappers BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
Conf BaseTools:Delete FrameworkDatabase from BaseTools/Conf 2019-05-09 15:03:30 +08:00
Scripts BaseTools:update ConvertFceToStructurePcd.py with the char order PCD name. 2019-04-18 08:55:21 +08:00
Source BaseTools: Library hashing fix and optimization for --hash feature 2019-05-21 13:18:06 +08:00
Tests Revert "BaseTools:code of test python module is moved to edksetup" 2019-05-09 19:02:35 +08:00
UserManuals BaseTools/VfrCompile: Remove framework VFR support 2019-05-09 09:42:54 +08:00
.gitignore BaseTools gitignore: Ignore VS intermediate files *.obj and *.pdb 2016-11-18 11:07:46 +08:00
BuildEnv BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
GNUmakefile BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
Makefile BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
ReadMe.txt BaseTools: Various typo 2019-02-14 10:02:28 +08:00
get_vsvars.bat BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
set_vsprefix_envs.bat BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
toolsetup.bat BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00

ReadMe.txt

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This directory contains the next generation of EDK II build tools and template files.
Templates are located in the Conf directory, while the tools executables for
Microsoft Windows 32-bit Operating Systems are located in the Bin\Win32 directory, other
directory contains tools source.

1. Build step to generate the binary tools.

=== Windows/Visual Studio Notes ===

To build the BaseTools, you should run the standard vsvars32.bat script
from your preferred Visual Studio installation or you can run get_vsvars.bat
to use latest automatically detected version.

In addition to this, you should set the following environment variables:

 * EDK_TOOLS_PATH - Path to the BaseTools sub directory under the edk2 tree
 * BASE_TOOLS_PATH - The directory where the BaseTools source is located.
   (It is the same directory where this README.txt is located.)

After this, you can run the toolsetup.bat file, which is in the same
directory as this file.  It should setup the remainder of the environment,
and build the tools if necessary.

Please also refer to the 'BuildNotes.txt' file for more information on
building under Windows.

=== Unix-like operating systems ===

To build on Unix-like operating systems, you only need to type 'make' in
the base directory of the project.

=== Ubuntu Notes ===

On Ubuntu, the following command should install all the necessary build
packages to build all the C BaseTools:

  sudo apt-get install build-essential uuid-dev

=== Python sqlite3 module ===
On Windows, the cx_freeze will not copy the sqlite3.dll to the frozen
binary directory (the same directory as build.exe and GenFds.exe).
Please copy it manually from <PythonHome>\DLLs.

The Python distributed with most recent Linux will have sqlite3 module
built in. If not, please install sqlit3 package separately.

26-OCT-2011