From: "Gao, Liming" <liming.gao@intel.com>
To: "Zhu, Yonghong" <yonghong.zhu@intel.com>,
"edk2-devel@lists.01.org" <edk2-devel@lists.01.org>
Subject: Re: [Patch] BaseTools: Fix a bug for --pcd used in ConditionalStatement calculate
Date: Fri, 9 Mar 2018 08:22:58 +0000 [thread overview]
Message-ID: <4A89E2EF3DFEDB4C8BFDE51014F606A14E1E458F@SHSMSX104.ccr.corp.intel.com> (raw)
In-Reply-To: <1520579968-10408-1-git-send-email-yonghong.zhu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
>-----Original Message-----
>From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of
>Yonghong Zhu
>Sent: Friday, March 09, 2018 3:19 PM
>To: edk2-devel@lists.01.org
>Subject: [edk2] [Patch] BaseTools: Fix a bug for --pcd used in
>ConditionalStatement calculate
>
>Move the GlobalData.BuildOptionPcd before FdfParser() function and add
>type check for Pcd item.
>
>Contributed-under: TianoCore Contribution Agreement 1.1
>Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
>---
> BaseTools/Source/Python/GenFds/FdfParser.py | 2 ++
> BaseTools/Source/Python/GenFds/GenFds.py | 2 +-
> BaseTools/Source/Python/Workspace/MetaFileParser.py | 2 ++
> 3 files changed, 5 insertions(+), 1 deletion(-)
>
>diff --git a/BaseTools/Source/Python/GenFds/FdfParser.py
>b/BaseTools/Source/Python/GenFds/FdfParser.py
>index 76d7e6a..dda7ed4 100644
>--- a/BaseTools/Source/Python/GenFds/FdfParser.py
>+++ b/BaseTools/Source/Python/GenFds/FdfParser.py
>@@ -925,10 +925,12 @@ class FdfParser:
>
> MacroDict.update(GlobalData.gGlobalDefines)
> MacroDict.update(GlobalData.gCommandLineDefines)
> if GlobalData.BuildOptionPcd:
> for Item in GlobalData.BuildOptionPcd:
>+ if type(Item) is tuple:
>+ continue
> PcdName, TmpValue = Item.split("=")
> TmpValue = BuildOptionValue(TmpValue, {})
> MacroDict[PcdName.strip()] = TmpValue
> # Highest priority
>
>diff --git a/BaseTools/Source/Python/GenFds/GenFds.py
>b/BaseTools/Source/Python/GenFds/GenFds.py
>index 4c56cbb..03126e3 100644
>--- a/BaseTools/Source/Python/GenFds/GenFds.py
>+++ b/BaseTools/Source/Python/GenFds/GenFds.py
>@@ -140,10 +140,11 @@ def main():
> if not os.path.exists(ActivePlatform) :
> EdkLogger.error("GenFds", FILE_NOT_FOUND, "ActivePlatform
>doesn't exist!")
> else:
> EdkLogger.error("GenFds", OPTION_MISSING, "Missing active
>platform")
>
>+ GlobalData.BuildOptionPcd = Options.OptionPcd if Options.OptionPcd
>else {}
> GenFdsGlobalVariable.ActivePlatform =
>PathClass(NormPath(ActivePlatform))
>
> if (Options.ConfDirectory):
> # Get alternate Conf location, if it is absolute, then just use the absolute
>directory name
> ConfDirectoryPath = os.path.normpath(Options.ConfDirectory)
>@@ -324,11 +325,10 @@ def main():
> EdkLogger.error("GenFds", FORMAT_INVALID, "The
>FV %s's region is specified in multiple FD with different
>value." %FvObj.UiFvName)
> else:
> FvObj.FvRegionInFD = RegionObj.Size
> RegionObj.BlockInfoOfRegion(FdObj.BlockSizeList, FvObj)
>
>- GlobalData.BuildOptionPcd = Options.OptionPcd if Options.OptionPcd
>else {}
> """Call GenFds"""
> GenFds.GenFd('', FdfParserObj, BuildWorkSpace, ArchList)
>
> """Generate GUID cross reference file"""
> GenFds.GenerateGuidXRefFile(BuildWorkSpace, ArchList, FdfParserObj)
>diff --git a/BaseTools/Source/Python/Workspace/MetaFileParser.py
>b/BaseTools/Source/Python/Workspace/MetaFileParser.py
>index 69bdf21..2eb4c75 100644
>--- a/BaseTools/Source/Python/Workspace/MetaFileParser.py
>+++ b/BaseTools/Source/Python/Workspace/MetaFileParser.py
>@@ -1243,10 +1243,12 @@ class DscParser(MetaFileParser):
> # PCD cannot be referenced in macro definition
> if self._ItemType not in [MODEL_META_DATA_DEFINE,
>MODEL_META_DATA_GLOBAL_DEFINE]:
> Macros.update(self._Symbols)
> if GlobalData.BuildOptionPcd:
> for Item in GlobalData.BuildOptionPcd:
>+ if type(Item) is tuple:
>+ continue
> PcdName, TmpValue = Item.split("=")
> TmpValue = BuildOptionValue(TmpValue, self._GuidDict)
> Macros[PcdName.strip()] = TmpValue
> return Macros
>
>--
>2.6.1.windows.1
>
>_______________________________________________
>edk2-devel mailing list
>edk2-devel@lists.01.org
>https://lists.01.org/mailman/listinfo/edk2-devel
next prev parent reply other threads:[~2018-03-09 8:16 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-09 7:19 [Patch] BaseTools: Fix a bug for --pcd used in ConditionalStatement calculate Yonghong Zhu
2018-03-09 8:22 ` Gao, Liming [this message]
-- strict thread matches above, loose matches on Subject: below --
2018-03-07 8:34 Yonghong Zhu
2018-03-08 1:52 ` Gao, Liming
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4A89E2EF3DFEDB4C8BFDE51014F606A14E1E458F@SHSMSX104.ccr.corp.intel.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox