summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBobCF <bob.c.feng@intel.com>2018-02-06 15:20:46 +0800
committerLiming Gao <liming.gao@intel.com>2018-02-08 11:09:45 +0800
commite1511113debf54ec2aceb20ee8eeecb331acd498 (patch)
treef5c64f3f61b13eada2afa282731b0940b41c2f38
parent8aa4db4b807ea7de395acd4018a139745327e374 (diff)
downloadedk2-e1511113debf54ec2aceb20ee8eeecb331acd498.tar.gz
edk2-e1511113debf54ec2aceb20ee8eeecb331acd498.tar.bz2
edk2-e1511113debf54ec2aceb20ee8eeecb331acd498.zip
BaseTools: Fixed Build failed issue.
If the PCD is not used in DSC file and user set that PCD value from Command line, build will fail. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Bob Feng <bob.c.feng@intel.com> Cc: Liming Gao <liming.gao@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
-rw-r--r--BaseTools/Source/Python/Workspace/DscBuildData.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/BaseTools/Source/Python/Workspace/DscBuildData.py b/BaseTools/Source/Python/Workspace/DscBuildData.py
index 01592e147e..8833034a1e 100644
--- a/BaseTools/Source/Python/Workspace/DscBuildData.py
+++ b/BaseTools/Source/Python/Workspace/DscBuildData.py
@@ -898,7 +898,8 @@ class DscBuildData(PlatformBuildClassObject):
if pcdobj:
pcdset.append((pcd[0],pcd[1], pcdobj.DefaultValue))
else:
- pcdset.append((pcd[0],pcd[1],pcd[3]))
+ pcdvalue = pcd[3] if len(pcd) == 4 else pcd[2]
+ pcdset.append((pcd[0],pcd[1],pcdvalue))
GlobalData.BuildOptionPcd = pcdset
def GetFieldValueFromComm(self,ValueStr,TokenSpaceGuidCName, TokenCName, FieldName):
PredictedFieldType = "VOID*"
@@ -2233,10 +2234,14 @@ class DscBuildData(PlatformBuildClassObject):
for pcd in Pcds.values():
SkuInfoObj = pcd.SkuInfoList.values()[0]
pcdDecObject = self._DecPcds[pcd.TokenCName, pcd.TokenSpaceGuidCName]
+ pcd.DatumType = pcdDecObject.DatumType
# Only fix the value while no value provided in DSC file.
for sku in pcd.SkuInfoList.values():
if (sku.HiiDefaultValue == "" or sku.HiiDefaultValue == None):
sku.HiiDefaultValue = pcdDecObject.DefaultValue
+ for default_store in sku.DefaultStoreDict:
+ sku.DefaultStoreDict[default_store]=pcdDecObject.DefaultValue
+ pcd.DefaultValue = pcdDecObject.DefaultValue
if 'DEFAULT' not in pcd.SkuInfoList.keys() and 'COMMON' not in pcd.SkuInfoList.keys():
valuefromDec = pcdDecObject.DefaultValue
SkuInfo = SkuInfoClass('DEFAULT', '0', SkuInfoObj.VariableName, SkuInfoObj.VariableGuid, SkuInfoObj.VariableOffset, valuefromDec,VariableAttribute=SkuInfoObj.VariableAttribute,DefaultStore={DefaultStore:valuefromDec})