self.CurrentFvName = None\r
self.__Token = ""\r
self.__SkippedChars = ""\r
+ GlobalData.gFdfParser = self\r
\r
# Used to section info\r
self.__CurSection = []\r
ffsInf.CurrentLineNum = self.CurrentLineNumber\r
ffsInf.CurrentLineContent = self.__CurrentLine()\r
\r
+ #Replace $(SAPCE) with real space\r
+ ffsInf.InfFileName = ffsInf.InfFileName.replace('$(SPACE)', ' ')\r
+\r
if ffsInf.InfFileName.replace('$(WORKSPACE)', '').find('$') == -1:\r
#do case sensitive check for file path\r
ErrorCode, ErrorInfo = PathClass(NormPath(ffsInf.InfFileName), GenFdsGlobalVariable.WorkSpaceDir).Validate()\r
# @param FfsInfObj for whom option is got\r
#\r
def __GetInfOptions(self, FfsInfObj):\r
+ if self.__IsKeyword("FILE_GUID"):\r
+ if not self.__IsToken("="):\r
+ raise Warning("expected '='", self.FileName, self.CurrentLineNumber)\r
+ if not self.__GetNextGuid():\r
+ raise Warning("expected GUID value", self.FileName, self.CurrentLineNumber)\r
+ FfsInfObj.OverrideGuid = self.__Token\r
\r
if self.__IsKeyword( "RuleOverride"):\r
if not self.__IsToken( "="):\r
\r
\r
if self.__GetNextToken():\r
- p = re.compile(r'([a-zA-Z0-9\-]+|\$\(TARGET\)|\*)_([a-zA-Z0-9\-]+|\$\(TOOL_CHAIN_TAG\)|\*)_([a-zA-Z0-9\-]+|\$\(ARCH\)|\*)')\r
- if p.match(self.__Token):\r
+ p = re.compile(r'([a-zA-Z0-9\-]+|\$\(TARGET\)|\*)_([a-zA-Z0-9\-]+|\$\(TOOL_CHAIN_TAG\)|\*)_([a-zA-Z0-9\-]+|\$\(ARCH\))')\r
+ if p.match(self.__Token) and p.match(self.__Token).span()[1] == len(self.__Token):\r
FfsInfObj.KeyStringList.append(self.__Token)\r
if not self.__IsToken(","):\r
return\r
else:\r
FfsFileObj.CurrentLineNum = self.CurrentLineNumber\r
FfsFileObj.CurrentLineContent = self.__CurrentLine()\r
- FfsFileObj.FileName = self.__Token\r
+ FfsFileObj.FileName = self.__Token.replace('$(SPACE)', ' ')\r
self.__VerifyFile(FfsFileObj.FileName)\r
\r
if not self.__IsToken( "}"):\r