]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/AutoGen/AutoGen.py
Sync tool code to BuildTools project r1783.
[mirror_edk2.git] / BaseTools / Source / Python / AutoGen / AutoGen.py
index 9594ef0caee5544af213a4e143e0a57d0c9ef5a4..ba026a9b2635d04ebe799c29efa9dc794ab12090 100644 (file)
@@ -1094,7 +1094,12 @@ class PlatformAutoGen(AutoGen):
         # for overridding library instances with module specific setting
         PlatformModule = self.Platform.Modules[str(Module)]
 
-        # add forced library instance
+        # add forced library instances (specified under LibraryClasses sections)
+        for LibraryClass in self.Platform.LibraryClasses.GetKeys():
+            if LibraryClass.startswith("NULL"):
+                Module.LibraryClasses[LibraryClass] = self.Platform.LibraryClasses[LibraryClass]
+
+        # add forced library instances (specified in module overrides)
         for LibraryClass in PlatformModule.LibraryClasses:
             if LibraryClass.startswith("NULL"):
                 Module.LibraryClasses[LibraryClass] = PlatformModule.LibraryClasses[LibraryClass]
@@ -1170,7 +1175,7 @@ class PlatformAutoGen(AutoGen):
             M = LibraryInstance[LibraryClassName]
             LibraryList.append(M)
             if ConsumedByList[M] == []:
-                Q.insert(0, M)
+                Q.append(M)
 
         #
         # start the  DAG algorithm
@@ -1939,7 +1944,7 @@ class ModuleAutoGen(AutoGen):
             if Source != File:
                 CreateDirectory(Source.Dir)
 
-            if File.IsBinary and File == Source:
+            if File.IsBinary and File == Source and self._BinaryFileList != None and File in self._BinaryFileList:
                 RuleObject = self.BuildRules[TAB_DEFAULT_BINARY_FILE]
             elif FileType in self.BuildRules:
                 RuleObject = self.BuildRules[FileType]
@@ -2053,11 +2058,11 @@ class ModuleAutoGen(AutoGen):
                 self._ApplyBuildRule(AutoFile, TAB_UNKNOWN_FILE)
             if UniStringBinBuffer != None and UniStringBinBuffer.getvalue() != "":
                 AutoFile = PathClass(gAutoGenStringFormFileName % {"module_name":self.Name}, self.OutputDir)
-                self._AutoGenFileList[AutoFile] = UniStringBinBuffer.getvalue()\r
+                self._AutoGenFileList[AutoFile] = UniStringBinBuffer.getvalue()
                 AutoFile.IsBinary = True
                 self._ApplyBuildRule(AutoFile, TAB_UNKNOWN_FILE)
-            if UniStringBinBuffer != None:\r
-                UniStringBinBuffer.close()\r
+            if UniStringBinBuffer != None:
+                UniStringBinBuffer.close()
         return self._AutoGenFileList
 
     ## Return the list of library modules explicitly or implicityly used by this module