\r
for Key in Module.LibraryClasses:\r
ModulePath = Module.LibraryClasses[Key]\r
+ if ModulePath == None or ModulePath == '':\r
+ continue\r
self.Build[Arch].ModuleDatabase[ModulePath] = self.Db.BuildObject[ModulePath, MODEL_FILE_INF, Arch]\r
\r
for Package in Module.Packages:\r
if ModuleFile in self._Modules:\r
continue\r
Module = self._Db.BuildObject[ModuleFile, MODEL_FILE_INF, self._Arch]\r
- self._MergeModuleInfo(Module, ModuleId)\r
+ # only merge library classes and PCD for non-library module\r
+ if Module.LibraryClass == None or Module.LibraryClass == []:\r
+ self._MergeModuleInfo(Module, ModuleId)\r
+ self._UpdateModulePcd(Module, ModuleId)\r
+ self._MergeModuleBuildOption(Module, ModuleId)\r
self._Modules.append(Module)\r
return self._Modules\r
\r
if CName not in Module.Ppis:\r
Module.Ppis.append(CName)\r
\r
- self._UpdateModulePcd(Module, ModuleId)\r
- self._MergeModuleBuildOption(Module, ModuleId)\r
-\r
def _UpdateModulePcd(self, Module, ModuleId):\r
for Name,Guid in Module.Pcds:\r
PcdInModule = Module.Pcds[Name,Guid]\r
for Module in self.Modules:\r
for Key in Module.LibraryClasses:\r
Lib = Module.LibraryClasses[Key]\r
- if Lib in self._LibraryInstances:\r
+ if Lib in [None, ''] or Lib in self._LibraryInstances:\r
continue\r
self._LibraryInstances.append(Lib)\r
return self._LibraryInstances\r
EdkLogger.verbose('%-24s = %s' % ("Max Thread Number", self.ThreadNumber))\r
\r
# establish build database, INF/DEC files will be parsed in this stage\r
- self.Progress.Start("\nParsing files")\r
+ self.Progress.Start("\nParsing meta-files")\r
try:\r
if self.Fdf != None and self.Fdf != "":\r
FdfFile = os.path.join(self.WorkspaceDir, self.Fdf)\r