if 'IMAGE_ENTRY_POINT' not in self._AutoGenObject.Macros.keys():\r
self._AutoGenObject.Macros['IMAGE_ENTRY_POINT'] = ImageEntryPoint\r
\r
+ PCI_COMPRESS_Flag = False\r
+ for k, v in self._AutoGenObject.Module.Defines.iteritems():\r
+ if 'PCI_COMPRESS' == k and 'TRUE' == v:\r
+ PCI_COMPRESS_Flag = True\r
+\r
# tools definitions\r
ToolsDef = []\r
IncPrefix = self._INC_FLAG_[self._AutoGenObject.ToolChainFamily]\r
# Remove duplicated include path, if any\r
if Attr == "FLAGS":\r
Value = RemoveDupOption(Value, IncPrefix, self._AutoGenObject.IncludePathList)\r
+ if Tool == "OPTROM" and PCI_COMPRESS_Flag:\r
+ ValueList = Value.split()\r
+ if ValueList:\r
+ for i, v in enumerate(ValueList):\r
+ if '-e' == v:\r
+ ValueList[i] = '-ec'\r
+ Value = ' '.join(ValueList)\r
+\r
ToolsDef.append("%s_%s = %s" % (Tool, Attr, Value))\r
ToolsDef.append("")\r
\r
if self._ModuleType == SUP_MODULE_SMM_CORE:\r
EdkLogger.error("build", FORMAT_NOT_SUPPORTED, "SMM_CORE module type can't be used in the module with PI_SPECIFICATION_VERSION less than 0x0001000A", File=self.MetaFile)\r
if self._Defs and 'PCI_DEVICE_ID' in self._Defs and 'PCI_VENDOR_ID' in self._Defs \\r
- and 'PCI_CLASS_CODE' in self._Defs:\r
+ and 'PCI_CLASS_CODE' in self._Defs and 'PCI_REVISION' in self._Defs:\r
self._BuildType = 'UEFI_OPTIONROM'\r
+ if 'PCI_COMPRESS' in self._Defs:\r
+ if self._Defs['PCI_COMPRESS'] not in ('TRUE', 'FALSE'):\r
+ EdkLogger.error("build", FORMAT_INVALID, "Expected TRUE/FALSE for PCI_COMPRESS: %s" %self.MetaFile)\r
+\r
elif self._Defs and 'UEFI_HII_RESOURCE_SECTION' in self._Defs \\r
and self._Defs['UEFI_HII_RESOURCE_SECTION'] == 'TRUE':\r
self._BuildType = 'UEFI_HII'\r