Sync BaseTools Branch (version r2323) to EDKII main trunk.

Signed-off-by: lgao4


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12379 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
lgao4 2011-09-19 09:03:59 +00:00
parent 65fd395218
commit df692f024b
34 changed files with 31 additions and 6 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,3 +1,3 @@
//This file is for build version number auto generation //This file is for build version number auto generation
// //
#define __BUILD_VERSION "Build 2318" #define __BUILD_VERSION "Build 2322"

View File

@ -207,8 +207,13 @@ class WorkspaceAutoGen(AutoGen):
# Make global macros available when parsing FDF file # Make global macros available when parsing FDF file
# #
InputMacroDict.update(self.BuildDatabase.WorkspaceDb._GlobalMacros) InputMacroDict.update(self.BuildDatabase.WorkspaceDb._GlobalMacros)
#
# Mark now build in AutoGen Phase
#
GlobalData.gAutoGenPhase = True
Fdf = FdfParser(self.FdfFile.Path) Fdf = FdfParser(self.FdfFile.Path)
Fdf.ParseFile() Fdf.ParseFile()
GlobalData.gAutoGenPhase = False
PcdSet = Fdf.Profile.PcdDict PcdSet = Fdf.Profile.PcdDict
ModuleList = Fdf.Profile.InfList ModuleList = Fdf.Profile.InfList
self.FdfProfile = Fdf.Profile self.FdfProfile = Fdf.Profile

View File

@ -1,3 +1,3 @@
#This file is for build version number auto generation #This file is for build version number auto generation
# #
gBUILD_VERSION = "Build 2318" gBUILD_VERSION = "Build 2322"

View File

@ -34,3 +34,7 @@ gBuildingModule = ''
## Regular expression for matching macro used in DSC/DEC/INF file inclusion ## Regular expression for matching macro used in DSC/DEC/INF file inclusion
gMacroPattern = re.compile("\$\(([_A-Z][_A-Z0-9]*)\)", re.UNICODE) gMacroPattern = re.compile("\$\(([_A-Z][_A-Z0-9]*)\)", re.UNICODE)
#
# A global variable for whether current build in AutoGen phase or not.
#
gAutoGenPhase = False

View File

@ -45,6 +45,7 @@ from Common.BuildToolError import *
from Common import EdkLogger from Common import EdkLogger
from Common.Misc import PathClass from Common.Misc import PathClass
from Common.String import NormPath from Common.String import NormPath
from Common import GlobalData
import re import re
import os import os
@ -2416,6 +2417,16 @@ class FdfParser:
else: else:
FfsFileObj.FileName = self.__Token FfsFileObj.FileName = self.__Token
if FfsFileObj.FileName.replace('$(WORKSPACE)', '').find('$') == -1: if FfsFileObj.FileName.replace('$(WORKSPACE)', '').find('$') == -1:
#
# For file in OUTPUT_DIRECTORY will not check whether it exist or not at AutoGen phase.
#
if not GlobalData.gAutoGenPhase:
#do case sensitive check for file path
ErrorCode, ErrorInfo = PathClass(NormPath(FfsFileObj.FileName), GenFdsGlobalVariable.WorkSpaceDir).Validate()
if ErrorCode != 0:
EdkLogger.error("GenFds", ErrorCode, ExtraData=ErrorInfo)
else:
if not InputMacroDict["OUTPUT_DIRECTORY"] in FfsFileObj.FileName:
#do case sensitive check for file path #do case sensitive check for file path
ErrorCode, ErrorInfo = PathClass(NormPath(FfsFileObj.FileName), GenFdsGlobalVariable.WorkSpaceDir).Validate() ErrorCode, ErrorInfo = PathClass(NormPath(FfsFileObj.FileName), GenFdsGlobalVariable.WorkSpaceDir).Validate()
if ErrorCode != 0: if ErrorCode != 0:

View File

@ -912,6 +912,10 @@ class Build():
EdkLogger.info("No flash definition file found. FV [%s] will be ignored." % " ".join(self.FvList)) EdkLogger.info("No flash definition file found. FV [%s] will be ignored." % " ".join(self.FvList))
self.FvList = [] self.FvList = []
else: else:
#
# Mark now build in AutoGen Phase
#
GlobalData.gAutoGenPhase = True
FdfParserObj = FdfParser(str(self.Fdf)) FdfParserObj = FdfParser(str(self.Fdf))
for key in self.Db._GlobalMacros: for key in self.Db._GlobalMacros:
InputMacroDict[key] = self.Db._GlobalMacros[key] InputMacroDict[key] = self.Db._GlobalMacros[key]
@ -920,6 +924,7 @@ class Build():
if fvname.upper() not in FdfParserObj.Profile.FvDict.keys(): if fvname.upper() not in FdfParserObj.Profile.FvDict.keys():
EdkLogger.error("build", OPTION_VALUE_INVALID, EdkLogger.error("build", OPTION_VALUE_INVALID,
"No such an FV in FDF file: %s" % fvname) "No such an FV in FDF file: %s" % fvname)
GlobalData.gAutoGenPhase = False
# #
# Merge Arch # Merge Arch