def __init__(self, Filename = None, IsToModule = False, WorkspaceDir = None, PackageDir = None, SupArchList = DataType.ARCH_LIST): self.Identification = IdentificationClass() self.Module = ModuleClass() self.WorkspaceDir = WorkspaceDir self.PackageDir = PackageDir self.SupArchList = SupArchList self.KeyList = [ TAB_SOURCES, TAB_BUILD_OPTIONS, TAB_BINARIES, TAB_INCLUDES, TAB_GUIDS, TAB_PROTOCOLS, TAB_PPIS, TAB_LIBRARY_CLASSES, TAB_PACKAGES, TAB_INF_FIXED_PCD, TAB_INF_PATCH_PCD, TAB_INF_FEATURE_PCD, TAB_INF_PCD, TAB_INF_PCD_EX, TAB_DEPEX, TAB_INF_DEFINES ] # Upper all KEYs to ignore case sensitive when parsing self.KeyList = map(lambda c: c.upper(), self.KeyList) # Init RecordSet self.RecordSet = {} for Key in self.KeyList: self.RecordSet[Section[Key]] = [] # Init Comment self.SectionHeaderCommentDict = {} # Load Inf file if filename is not None if Filename != None: self.LoadInfFile(Filename) # Transfer to Module Object if IsToModule is True if IsToModule: self.InfToModule()
def __init__(self, Filename=None, IsToDatabase=False, IsToModule=False, WorkspaceDir=None, Database=None, SupArchList=DataType.ARCH_LIST): self.Identification = Identification() self.Module = ModuleClass() self.UserExtensions = '' self.WorkspaceDir = WorkspaceDir self.SupArchList = SupArchList self.IsToDatabase = IsToDatabase self.Cur = Database.Cur self.TblFile = Database.TblFile self.TblInf = Database.TblInf self.FileID = -1 #self.TblInf = TableInf(Database.Cur) self.KeyList = [ TAB_SOURCES, TAB_BUILD_OPTIONS, TAB_BINARIES, TAB_INCLUDES, TAB_GUIDS, TAB_PROTOCOLS, TAB_PPIS, TAB_LIBRARY_CLASSES, TAB_PACKAGES, TAB_LIBRARIES, TAB_INF_FIXED_PCD, TAB_INF_PATCH_PCD, TAB_INF_FEATURE_PCD, TAB_INF_PCD, TAB_INF_PCD_EX, TAB_DEPEX, TAB_NMAKE, TAB_INF_DEFINES ] # # Upper all KEYs to ignore case sensitive when parsing # self.KeyList = map(lambda c: c.upper(), self.KeyList) # # Init RecordSet # self.RecordSet = {} for Key in self.KeyList: self.RecordSet[Section[Key]] = [] # # Load Inf file if filename is not None # if Filename != None: self.LoadInfFile(Filename) # # Transfer to Module Object if IsToModule is True # if IsToModule: self.InfToModule()
def LoadMsa(MsaFileName): XmlMsa = XmlParseFile(MsaFileName) EdkLogger.verbose("Load MSA File: %s" % MsaFileName) Module = ModuleClass() Module.Header = LoadModuleHeader(XmlMsa, MsaFileName) Module.LibraryClasses = LoadModuleLibraryClasses(XmlMsa) Module.Sources = LoadModuleSources(XmlMsa) Module.BinaryFiles = LoadModuleBinaries(XmlMsa) Module.NonProcessedFiles = LoadModuleNonProcessedFiles(XmlMsa) Module.PackageDependencies = LoadModulePackageDependencies(XmlMsa) Module.Protocols = LoadModuleProtocols(XmlMsa) Module.Ppis = LoadModulePpis(XmlMsa) Module.Events = LoadModuleEvents(XmlMsa) Module.Hobs = LoadModuleHobs(XmlMsa) Module.Variables = LoadModuleVariables(XmlMsa) Module.BootModes = LoadModuleBootModes(XmlMsa) Module.SystemTables = LoadModuleSystemTables(XmlMsa) Module.DataHubs = LoadModuleDataHubs(XmlMsa) Module.HiiPackages = LoadModuleHiiPackages(XmlMsa) Module.Guids = LoadModuleGuids(XmlMsa) Module.PcdCodes = LoadModulePcdCodes(XmlMsa) Module.ExternImages = LoadModuleExternImages(XmlMsa) Module.ExternLibraries = LoadModuleExternLibraries(XmlMsa) Module.ExternDrivers = LoadModuleExternDrivers(XmlMsa) Module.ExternCallBacks = LoadModuleExternCallBacks(XmlMsa) Module.BuildOptions = LoadModuleBuildOptions(XmlMsa) Module.UserExtensions = LoadModuleUserExtensions(XmlMsa) return Module