Lines Matching refs:Arch
377 # @param Arch: Build arch
382 # @var Arch: To store value for Build Arch
391 def __init__(self, Arch, Platform = None, Package = None, Module = None):
392 Arch = Arch
429 # { (PcdGuid, PcdCName, Arch) : DecFileName }
453 for Arch in DataType.ARCH_LIST:
454 self.Build[Arch] = ItemBuild(Arch)
482 for Arch in DataType.ARCH_LIST:
483 for Item in Platform.Header[Arch].SupArchList:
487 for Arch in DataType.ARCH_LIST:
488 for Item in Platform.Header[Arch].BuildTargets:
491 for Arch in self.SupArchList:
492 self.SkuId = Platform.Header[Arch].SkuIdName
499 for Arch in Item.SupArchList:
503 for Arch in Item.SupArchList:
507 for Arch in Item.SupArchList:
518 self.UpdateLibraryClassOfModule(Module, Lib.Name, Arch, Lib.FilePath)
529 for Arch in Item.SupArchList:
535 # Go through each arch to get all items in DscDatabase to PlatformDatabase
540 for Arch in self.SupArchList:
547 Pb.PlatformName = Platform.Header[Arch].Name
549 EdkLogger.error("AutoGen", PARSER_ERROR, "The BaseName of platform %s is not defined for arch %s" % (Dsc, Arch))
550 Pb.Guid = Platform.Header[Arch].Guid
551 Pb.Version = Platform.Header[Arch].Version
552 Pb.DscSpecification = Platform.Header[Arch].DscSpecification
553 Pb.OutputDirectory = Platform.Header[Arch].OutputDirectory
555 Pb.BuildNumber = Platform.Header[Arch].BuildNumber
567 if Arch in Item.SupArchList:
574 if Arch in Item.SupArchList:
581 SupModuleList = self.FindSupModuleListOfLibraryClass(Item, Platform.LibraryClasses.LibraryList, Arch)
582 if Arch in Item.SupArchList:
600 if Arch in Item.SupArchList:
614 for Dec in self.Build[Arch].PackageDatabase:
615 Pcds = self.Build[Arch].PackageDatabase[Dec].Pcds
635 self.Build[Arch].PlatformDatabase[Dsc] = Pb
640 # Go through each arch to get all items in DecDatabase to PackageDatabase
646 for Arch in self.SupArchList:
653 Pb.PackageName = Package.Header[Arch].Name
655 EdkLogger.error("AutoGen", PARSER_ERROR, "The BaseName of package %s is not defined for arch %s" % (Dec, Arch))
657 Pb.Guid = Package.Header[Arch].Guid
658 Pb.Version = Package.Header[Arch].Version
664 if Arch in Item.SupArchList:
671 if Arch in Item.SupArchList:
678 if Arch in Item.SupArchList:
685 if Arch in Item.SupArchList:
692 if Arch in Item.SupArchList:
699 if Arch in Item.SupArchList:
713 self.Build[Arch].PackageDatabase[Dec] = Pb
718 # Go through each arch to get all items in InfDatabase to ModuleDatabase
724 for Arch in self.SupArchList:
725 if not self.IsModuleDefinedInPlatform(Inf, Arch, InfList) or Arch not in Module.Header:
728 ModuleHeader = Module.Header[Arch]
737 EdkLogger.error("AutoGen", PARSER_ERROR, "The BaseName of module %s is not defined for arch %s" % (Inf, Arch))
779 if Arch in Item.SupArchList:
784 Pb.Binaries.append(ModuleBinaryFileClass(FileName, FileType, Target, FeatureFlag, Arch.split()))
790 if Arch in Item.SupArchList:
802 if Arch in Item.SupArchList:
809 if Arch in Item.SupArchList:
816 if Arch in Item.SupArchList:
823 if Arch in Item.SupArchList:
830 if Arch in Item.SupArchList:
837 if Arch in Item.SupArchList:
843 self.FindBuildOptions(Arch, Inf, Pb.BuildOptions)
849 if Arch in Item.SupArchList:
857 if Arch in Item.SupArchList:
866 Instance = self.FindLibraryClassInstanceOfLibrary(Lib, Arch, Type)
874 Instance = self.FindLibraryClassInstanceOfModule(Lib, Arch, Pb.ModuleType, Inf)
883 if Arch in Item.SupArchList:
890 if Arch in Item.SupArchList:
894 Pb.Pcds[(Name, Guid)] = self.FindPcd(Arch, Inf, Name, Guid, Type)
899 self.Build[Arch].ModuleDatabase[Inf] = Pb
907 for Arch in self.SupArchList:
908 PlatformDatabase = self.Build[Arch].PlatformDatabase
912 if not self.IsModuleDefinedInPlatform(Inf, Arch, InfList):
914 Module = self.Build[Arch].ModuleDatabase[Inf]
916 self.UpdateLibrariesOfModule(Platform, Module, Arch)
926 # @param Arch: The supportted arch of the module
928 def UpdateLibrariesOfModule(self, Platform, Module, Arch):
929 ModuleDatabase = self.Build[Arch].ModuleDatabase
935 EdkLogger.verbose("Library instances of module [%s] [%s]:" % (str(Module), Arch))
945 ExtraData="\t%s [%s]" % (str(Module), Arch))
962 EdkLogger.verbose("Library instances of module [%s] [%s]:" % (str(Module), Arch))
1008 ExtraData="\t%s [%s]" % (str(Module), Arch))
1110 Module.Pcds[Key] = self.FindPcd(Arch, str(Module), LibPcd.TokenCName, LibPcd.TokenSpaceGuidCName, LibPcd.Type)
1173 for (Guid, Name, Type, Arch) in self.UnFoundPcdInDsc:
1174 Dec = self.UnFoundPcdInDsc[(Guid, Name, Type, Arch)]
1175 Pcds = self.Build[Arch].PackageDatabase[Dec].Pcds
1201 # @param Arch: Supportted Arch
1204 def UpdateLibraryClassOfModule(self, InfFileName, LibraryClass, Arch, InstanceFilePath):
1209 LibList = LibraryModule.Header[Arch].LibraryClass
1221 NewLib.SupModuleList = DataType.SUP_MODULE_LIST # LibraryModule.Header[Arch].ModuleType.split()
1222 LibraryModule.Header[Arch].LibraryClass.append(NewLib)
1235 if Arch in Lib.SupArchList:
1238 Lib.SupArchList.append(Arch)
1243 Lib.SupArchList = [Arch]
1280 # @param Arch: Supportted Arch
1286 def FindLibraryClassInstanceOfModule(self, Lib, Arch, ModuleType, ModuleName):
1293 if Arch in Module.SupArchList:
1301 return self.FindLibraryClassInstanceOfLibrary(Lib, Arch, ModuleType)
1309 # @param Arch: Supportted Arch
1315 def FindLibraryClassInstanceOfLibrary(self, Lib, Arch, Type):
1318 if (Lib, Type) in self.Build[Arch].PlatformDatabase[Dsc].LibraryClasses:
1319 return self.Build[Arch].PlatformDatabase[Dsc].LibraryClasses[(Lib, Type)]
1320 elif (Lib, '') in self.Build[Arch].PlatformDatabase[Dsc].LibraryClasses:
1321 return self.Build[Arch].PlatformDatabase[Dsc].LibraryClasses[(Lib, '')]
1329 # @param Arch: Supportted Arch
1333 def FindBuildOptions(self, Arch, ModuleName, BuildOptions):
1341 if Arch in Module.SupArchList:
1354 # @param Arch: Supportted Arch
1362 def FindPcd(self, Arch, ModuleName, Name, Guid, Type):
1378 for Dsc in self.Build[Arch].PlatformDatabase.keys():
1379 Pcds = self.Build[Arch].PlatformDatabase[Dsc].Pcds
1418 if Arch in Module.SupArchList:
1441 for Dec in self.Build[Arch].PackageDatabase.keys():
1442 Pcds = self.Build[Arch].PackageDatabase[Dec].Pcds
1455 for Dec in self.Build[Arch].PackageDatabase.keys():
1456 Pcds = self.Build[Arch].PackageDatabase[Dec].Pcds
1465 ErrorMsg = "Pcd '%s.%s [%s]' defined in module '%s' is not found in any package for Arch '%s'" % (Guid, Name, NewType, ModuleName, Arch)
1474 SkuIds = self.Build[Arch].PlatformDatabase.values()[0].SkuIds
1476 self.UnFoundPcdInDsc[(Guid, Name, NewType, Arch)] = FoundInDecFile
1499 # @param Arch: Supportted Arch
1503 def FindSupModuleListOfLibraryClass(self, LibraryClass, OverridedLibraryClassList, Arch):
1524 # If not itself, check arch first
1526 if Arch in LibraryClass.SupArchList:
1528 # If arch is supportted, remove all related module type
1530 if Arch in Item.SupArchList:
1543 # @param Arch: Supportted Arch
1549 def IsModuleDefinedInPlatform(self, Inf, Arch, InfList):
1552 if Inf == LibraryClass.FilePath and Arch in LibraryClass.SupArchList:
1555 if Inf == Module.FilePath and Arch in Module.SupArchList:
1561 if Inf == Library.FilePath and Arch in Library.SupArchList:
1578 for Arch in self.SupArchList:
1579 print Arch
1581 for Platform in self.Build[Arch].PlatformDatabase.keys():
1582 P = self.Build[Arch].PlatformDatabase[Platform]
1600 for Package in self.Build[Arch].PackageDatabase.keys():
1601 P = self.Build[Arch].PackageDatabase[Package]
1618 for Module in self.Build[Arch].ModuleDatabase.keys():
1619 P = self.Build[Arch].ModuleDatabase[Module]