From 9ccb26bc99465e16c00fa5cf5e5f43b12dc73f46 Mon Sep 17 00:00:00 2001 From: Yonghong Zhu <yonghong.zhu@intel.com> Date: Fri, 3 Jun 2016 10:01:53 +0800 Subject: BaseTools: fix the bug to build a compressed ROM image via .INF file Fix the bug that always use the '-e' as OPTROM_FLAGS even the .INF file has statement 'PCI_COMPRESS = TRUE'. Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> --- BaseTools/Source/Python/AutoGen/GenMake.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'BaseTools/Source/Python/AutoGen/GenMake.py') diff --git a/BaseTools/Source/Python/AutoGen/GenMake.py b/BaseTools/Source/Python/AutoGen/GenMake.py index 4b2902f473..be07e46684 100644 --- a/BaseTools/Source/Python/AutoGen/GenMake.py +++ b/BaseTools/Source/Python/AutoGen/GenMake.py @@ -488,6 +488,11 @@ cleanlib: if 'IMAGE_ENTRY_POINT' not in self._AutoGenObject.Macros.keys(): self._AutoGenObject.Macros['IMAGE_ENTRY_POINT'] = ImageEntryPoint + PCI_COMPRESS_Flag = False + for k, v in self._AutoGenObject.Module.Defines.iteritems(): + if 'PCI_COMPRESS' == k and 'TRUE' == v: + PCI_COMPRESS_Flag = True + # tools definitions ToolsDef = [] IncPrefix = self._INC_FLAG_[self._AutoGenObject.ToolChainFamily] @@ -505,6 +510,14 @@ cleanlib: # Remove duplicated include path, if any if Attr == "FLAGS": Value = RemoveDupOption(Value, IncPrefix, self._AutoGenObject.IncludePathList) + if Tool == "OPTROM" and PCI_COMPRESS_Flag: + ValueList = Value.split() + if ValueList: + for i, v in enumerate(ValueList): + if '-e' == v: + ValueList[i] = '-ec' + Value = ' '.join(ValueList) + ToolsDef.append("%s_%s = %s" % (Tool, Attr, Value)) ToolsDef.append("") -- cgit v1.2.3