]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/UPT/Parser/InfParser.py
Sync BaseTool trunk (version r2474) into EDKII BaseTools.
[mirror_edk2.git] / BaseTools / Source / Python / UPT / Parser / InfParser.py
index aa44e8038de2731e7f1931a25d2ac9fc1686e0a1..fb90c396f74c9746b72707f20b3e686d382f3a25 100644 (file)
@@ -26,6 +26,7 @@ from copy import deepcopy
 from Library.String import GetSplitValueList\r
 from Library.String import ConvertSpecialChar\r
 from Library.Misc import ProcessLineExtender\r
+from Library.Misc import ProcessEdkComment\r
 from Library.Parsing import NormPath\r
 from Library.ParserValidate import IsValidInfMoudleTypeList\r
 from Library.ParserValidate import IsValidArch\r
@@ -164,6 +165,12 @@ class InfParser(InfSectionParser):
         #\r
         FileLinesList = ProcessLineExtender(FileLinesList)\r
         \r
+        #\r
+        # Process EdkI INF style comment if found\r
+        #\r
+        OrigLines = [Line for Line in FileLinesList]\r
+        FileLinesList, EdkCommentStartPos = ProcessEdkComment(FileLinesList)\r
+        \r
         #\r
         # Judge whether the INF file is Binary INF or not\r
         #\r
@@ -332,12 +339,23 @@ class InfParser(InfSectionParser):
         #\r
         # Found the first section, No file header.\r
         #\r
-        if not DefineSectionParsedFlag:\r
+        if DefineSectionParsedFlag and not HeaderCommentEnd:\r
             Logger.Error("InfParser", \r
                          FORMAT_INVALID, \r
                          ST.ERR_INF_PARSER_HEADER_MISSGING, \r
                          File=self.FullPath)\r
         \r
+        #\r
+        # EDKII INF should not have EDKI style comment\r
+        #\r
+        if EdkCommentStartPos != -1:\r
+            Logger.Error("InfParser", \r
+                         FORMAT_INVALID, \r
+                         ST.ERR_INF_PARSER_EDKI_COMMENT_IN_EDKII, \r
+                         File=self.FullPath,\r
+                         Line=EdkCommentStartPos + 1,\r
+                         ExtraData=OrigLines[EdkCommentStartPos])\r
+        \r
         #\r
         # extract [Event] [Hob] [BootMode] sections \r
         #            \r