Add addition "-g" option to specify a file that contains the GUID Name and value.
[efi/basetools/.git] / Source / Python / Eot / Eot.py
index fc86f18..8335b30 100644 (file)
@@ -53,6 +53,7 @@ class Eot(object):
         self.SourceFileList = None\r
         self.IncludeDirList = None\r
         self.DecFileList = None\r
+        self.GuidList = None\r
         self.LogFile = None\r
 \r
         # Parse the options and args\r
@@ -63,6 +64,9 @@ class Eot(object):
 \r
         # Generate guid list of dec file list\r
         self.ParseDecFile(self.DecFileList)\r
+        \r
+        # Generate guid list from GUID list file\r
+        self.ParseGuidList(self.GuidList)\r
 \r
         # Init Eot database\r
         EotGlobalData.gDb = Database.Database(Database.DATABASE_PATH)\r
@@ -120,6 +124,22 @@ class Eot(object):
                         if len(list) == 2:\r
                             EotGlobalData.gGuidDict[list[0].strip()] = GuidStructureStringToGuidString(list[1].strip())\r
 \r
+    \r
+    ## ParseGuidList() method\r
+    #\r
+    #  Parse Guid list and get all GUID names with GUID values as {GuidName : GuidValue}\r
+    #  The Dict is stored in EotGlobalData.gGuidDict\r
+    #\r
+    #  @param self: The object pointer\r
+    #  @param GuidList: A list of all GUID and its value\r
+    #\r
+    def ParseGuidList(self, GuidList):\r
+        Path = os.path.join(EotGlobalData.gWORKSPACE, GuidList)\r
+        if os.path.isfile(Path):\r
+            for Line in open(Path):\r
+                (GuidName, GuidValue) = Line.split()\r
+                EotGlobalData.gGuidDict[GuidName] = GuidValue\r
+            \r
     ## ConvertLogFile() method\r
     #\r
     #  Parse a real running log file to get real dispatch order\r
@@ -525,6 +545,9 @@ class Eot(object):
 \r
         if Options.DecFileList:\r
             self.DecFileList = Options.DecFileList\r
+        \r
+        if Options.GuidList:\r
+            self.GuidList = Options.GuidList\r
 \r
         if Options.LogFile:\r
             self.LogFile = Options.LogFile\r
@@ -574,6 +597,8 @@ class Eot(object):
             help="Specify include dir list by a file")\r
         Parser.add_option("-e", "--dec files", action="store", type="string", dest="DecFileList",\r
             help="Specify dec file list by a file")\r
+        Parser.add_option("-g", "--guid list", action="store", type="string", dest="GuidList",\r
+            help="Specify guid file list by a file")\r
         Parser.add_option("-l", "--log filename", action="store", type="string", dest="LogFile",\r
             help="Specify real execution log file")\r
 \r