PrivateProtocolDict = tdict(True)\r
NameList = []\r
PrivateNameList = []\r
+ PublicNameList = []\r
# find out all protocol definitions for specific and 'common' arch\r
RecordList = self._RawData[MODEL_EFI_PROTOCOL, self._Arch]\r
for Name, Guid, Dummy, Arch, PrivateFlag, ID, LineNo in RecordList:\r
if Name not in PrivateNameList:\r
PrivateNameList.append(Name)\r
PrivateProtocolDict[Arch, Name] = Guid\r
+ if Name in PublicNameList:\r
+ EdkLogger.error('build', OPTION_CONFLICT, "Can't determine %s's attribute, it is both defined as Private and non-Private attribute in DEC file." % Name, File=self.MetaFile, Line=LineNo)\r
+ else:\r
+ if Name not in PublicNameList:\r
+ PublicNameList.append(Name)\r
+ if Name in PrivateNameList:\r
+ EdkLogger.error('build', OPTION_CONFLICT, "Can't determine %s's attribute, it is both defined as Private and non-Private attribute in DEC file." % Name, File=self.MetaFile, Line=LineNo)\r
if Name not in NameList:\r
NameList.append(Name)\r
ProtocolDict[Arch, Name] = Guid\r
PrivatePpiDict = tdict(True)\r
NameList = []\r
PrivateNameList = []\r
+ PublicNameList = []\r
# find out all PPI definitions for specific arch and 'common' arch\r
RecordList = self._RawData[MODEL_EFI_PPI, self._Arch]\r
for Name, Guid, Dummy, Arch, PrivateFlag, ID, LineNo in RecordList:\r
if Name not in PrivateNameList:\r
PrivateNameList.append(Name)\r
PrivatePpiDict[Arch, Name] = Guid\r
+ if Name in PublicNameList:\r
+ EdkLogger.error('build', OPTION_CONFLICT, "Can't determine %s's attribute, it is both defined as Private and non-Private attribute in DEC file." % Name, File=self.MetaFile, Line=LineNo)\r
+ else:\r
+ if Name not in PublicNameList:\r
+ PublicNameList.append(Name)\r
+ if Name in PrivateNameList:\r
+ EdkLogger.error('build', OPTION_CONFLICT, "Can't determine %s's attribute, it is both defined as Private and non-Private attribute in DEC file." % Name, File=self.MetaFile, Line=LineNo)\r
if Name not in NameList:\r
NameList.append(Name)\r
PpiDict[Arch, Name] = Guid\r
PrivateGuidDict = tdict(True)\r
NameList = []\r
PrivateNameList = []\r
+ PublicNameList = []\r
# find out all protocol definitions for specific and 'common' arch\r
RecordList = self._RawData[MODEL_EFI_GUID, self._Arch]\r
for Name, Guid, Dummy, Arch, PrivateFlag, ID, LineNo in RecordList:\r
if Name not in PrivateNameList:\r
PrivateNameList.append(Name)\r
PrivateGuidDict[Arch, Name] = Guid\r
+ if Name in PublicNameList:\r
+ EdkLogger.error('build', OPTION_CONFLICT, "Can't determine %s's attribute, it is both defined as Private and non-Private attribute in DEC file." % Name, File=self.MetaFile, Line=LineNo)\r
+ else:\r
+ if Name not in PublicNameList:\r
+ PublicNameList.append(Name)\r
+ if Name in PrivateNameList:\r
+ EdkLogger.error('build', OPTION_CONFLICT, "Can't determine %s's attribute, it is both defined as Private and non-Private attribute in DEC file." % Name, File=self.MetaFile, Line=LineNo)\r
if Name not in NameList:\r
NameList.append(Name)\r
GuidDict[Arch, Name] = Guid\r
if self._Includes == None:\r
self._Includes = []\r
self._PrivateIncludes = []\r
+ PublicInclues = []\r
RecordList = self._RawData[MODEL_EFI_INCLUDE, self._Arch]\r
Macros = self._Macros\r
Macros["EDK_SOURCE"] = GlobalData.gEcpSource\r
if Record[4] == 'PRIVATE':\r
if File not in self._PrivateIncludes:\r
self._PrivateIncludes.append(File)\r
+ if File in PublicInclues:\r
+ EdkLogger.error('build', OPTION_CONFLICT, "Can't determine %s's attribute, it is both defined as Private and non-Private attribute in DEC file." % File, File=self.MetaFile, Line=LineNo)\r
+ else:\r
+ if File not in PublicInclues:\r
+ PublicInclues.append(File)\r
+ if File in self._PrivateIncludes:\r
+ EdkLogger.error('build', OPTION_CONFLICT, "Can't determine %s's attribute, it is both defined as Private and non-Private attribute in DEC file." % File, File=self.MetaFile, Line=LineNo)\r
+\r
return self._Includes\r
\r
## Retrieve library class declarations (not used in build at present)\r