ToPcd.Type, Module, FromPcd.Type),\r
File=self.MetaFile)\r
\r
- if FromPcd.MaxDatumSize not in [None, '']:\r
+ if FromPcd.MaxDatumSize:\r
ToPcd.MaxDatumSize = FromPcd.MaxDatumSize\r
- if FromPcd.DefaultValue not in [None, '']:\r
+ if FromPcd.DefaultValue:\r
ToPcd.DefaultValue = FromPcd.DefaultValue\r
- if FromPcd.TokenValue not in [None, '']:\r
+ if FromPcd.TokenValue:\r
ToPcd.TokenValue = FromPcd.TokenValue\r
- if FromPcd.MaxDatumSize not in [None, '']:\r
- ToPcd.MaxDatumSize = FromPcd.MaxDatumSize\r
- if FromPcd.DatumType not in [None, '']:\r
+ if FromPcd.DatumType:\r
ToPcd.DatumType = FromPcd.DatumType\r
- if FromPcd.SkuInfoList not in [None, '', []]:\r
+ if FromPcd.SkuInfoList:\r
ToPcd.SkuInfoList = FromPcd.SkuInfoList\r
# Add Flexible PCD format parse\r
if ToPcd.DefaultValue:\r
AllTools = set(ModuleOptions.keys() + PlatformOptions.keys() +\r
PlatformModuleOptions.keys() + ModuleTypeOptions.keys() +\r
self.ToolDefinition.keys())\r
- BuildOptions = {}\r
+ BuildOptions = defaultdict(lambda: defaultdict(str))\r
for Tool in AllTools:\r
- if Tool not in BuildOptions:\r
- BuildOptions[Tool] = {}\r
-\r
for Options in [self.ToolDefinition, ModuleOptions, PlatformOptions, ModuleTypeOptions, PlatformModuleOptions]:\r
if Tool not in Options:\r
continue\r
for Attr in Options[Tool]:\r
- Value = Options[Tool][Attr]\r
#\r
# Do not generate it in Makefile\r
#\r
if Attr == TAB_TOD_DEFINES_BUILDRULEORDER:\r
continue\r
- if Attr not in BuildOptions[Tool]:\r
- BuildOptions[Tool][Attr] = ""\r
+ Value = Options[Tool][Attr]\r
# check if override is indicated\r
if Value.startswith('='):\r
- ToolPath = Value[1:]\r
- ToolPath = mws.handleWsMacro(ToolPath)\r
- BuildOptions[Tool][Attr] = ToolPath\r
+ BuildOptions[Tool][Attr] = mws.handleWsMacro(Value[1:])\r
else:\r
- Value = mws.handleWsMacro(Value)\r
if Attr != 'PATH':\r
- BuildOptions[Tool][Attr] += " " + Value\r
+ BuildOptions[Tool][Attr] += " " + mws.handleWsMacro(Value)\r
else:\r
- BuildOptions[Tool][Attr] = Value\r
+ BuildOptions[Tool][Attr] = mws.handleWsMacro(Value)\r
+\r
if Module.AutoGenVersion < 0x00010005 and self.Workspace.UniFlag is not None:\r
#\r
# Override UNI flag only for EDK module.\r
#\r
- if 'BUILD' not in BuildOptions:\r
- BuildOptions['BUILD'] = {}\r
BuildOptions['BUILD']['FLAGS'] = self.Workspace.UniFlag\r
return BuildOptions, BuildRuleOrder\r
\r
return\r
\r
# Skip the following code for modules with no source files\r
- if self.SourceFileList is None or self.SourceFileList == []:\r
+ if not self.SourceFileList:\r
return\r
\r
# Skip the following code for modules without any binary files\r
- if self.BinaryFileList <> None and self.BinaryFileList <> []:\r
+ if not self.BinaryFileList:\r
return\r
\r
### TODO: How to handles mixed source and binary modules\r