summaryrefslogtreecommitdiffstats
path: root/BaseTools/Source/Python
diff options
context:
space:
mode:
authorFan, ZhijuX <zhijux.fan@intel.com>2019-01-25 16:52:32 +0800
committerFeng, Bob C <bob.c.feng@intel.com>2019-01-28 11:44:42 +0800
commit51f5233385569475e28deab0380976c47c21f5d2 (patch)
treec9eedfdb129d6668ab04aa8e715b8ff08858a519 /BaseTools/Source/Python
parent42bd17508ec519689464175a794b6de54ebe95a0 (diff)
downloadedk2-51f5233385569475e28deab0380976c47c21f5d2.tar.gz
edk2-51f5233385569475e28deab0380976c47c21f5d2.tar.bz2
edk2-51f5233385569475e28deab0380976c47c21f5d2.zip
BaseTools:Define Macro in Inf file, the pcdvalue Can't convert
Define Macro in Inf file, the pcdvalue Can't convert in dec: gUefiOvmfPkgGuid.test1|"ddd"|VOID*|0x3c in inf: DEFINE ABC=PATH gUefiOvmfPkgTokenSpaceGuid.test1|$(ABC) Cc: Bob Feng <bob.c.feng@intel.com> Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Zhiju.Fan <zhijux.fan@intel.com> Reviewed-by: Bob Feng <bob.c.feng@intel.com>
Diffstat (limited to 'BaseTools/Source/Python')
-rw-r--r--BaseTools/Source/Python/Workspace/MetaFileParser.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/BaseTools/Source/Python/Workspace/MetaFileParser.py b/BaseTools/Source/Python/Workspace/MetaFileParser.py
index 6df0d3cdf8..f31dbc2649 100644
--- a/BaseTools/Source/Python/Workspace/MetaFileParser.py
+++ b/BaseTools/Source/Python/Workspace/MetaFileParser.py
@@ -757,9 +757,13 @@ class InfParser(MetaFileParser):
if self._ValueList[2] != '':
InfPcdValueList = GetSplitValueList(TokenList[1], TAB_VALUE_SPLIT, 1)
if InfPcdValueList[0] in ['True', 'true', 'TRUE']:
- self._ValueList[2] = TokenList[1].replace(InfPcdValueList[0], '1', 1);
+ self._ValueList[2] = TokenList[1].replace(InfPcdValueList[0], '1', 1)
elif InfPcdValueList[0] in ['False', 'false', 'FALSE']:
- self._ValueList[2] = TokenList[1].replace(InfPcdValueList[0], '0', 1);
+ self._ValueList[2] = TokenList[1].replace(InfPcdValueList[0], '0', 1)
+ elif isinstance(InfPcdValueList[0], str) and InfPcdValueList[0].find('$(') >= 0:
+ Value = ReplaceExprMacro(InfPcdValueList[0],self._Macros)
+ if Value != '0':
+ self._ValueList[2] = Value
if (self._ValueList[0], self._ValueList[1]) not in self.PcdsDict:
self.PcdsDict[self._ValueList[0], self._ValueList[1]] = self._SectionType
elif self.PcdsDict[self._ValueList[0], self._ValueList[1]] != self._SectionType: