\r
## Import Modules\r
#\r
+from __future__ import absolute_import\r
import Common.LongFilePathOs as os\r
import sys\r
import string\r
# EdkII modules always use "_ModuleEntryPoint" as entry point\r
ImageEntryPoint = "_ModuleEntryPoint"\r
\r
- for k, v in MyAgo.Module.Defines.items():\r
+ for k, v in MyAgo.Module.Defines.iteritems():\r
if k not in MyAgo.Macros:\r
MyAgo.Macros[k] = v\r
\r
MyAgo.Macros['IMAGE_ENTRY_POINT'] = ImageEntryPoint\r
\r
PCI_COMPRESS_Flag = False\r
- for k, v in MyAgo.Module.Defines.items():\r
+ for k, v in MyAgo.Module.Defines.iteritems():\r
if 'PCI_COMPRESS' == k and 'TRUE' == v:\r
PCI_COMPRESS_Flag = True\r
\r
"module_relative_directory" : MyAgo.SourceDir,\r
"module_dir" : mws.join (self.Macros["WORKSPACE"], MyAgo.SourceDir),\r
"package_relative_directory": package_rel_dir,\r
- "module_extra_defines" : ["%s = %s" % (k, v) for k, v in MyAgo.Module.Defines.items()],\r
+ "module_extra_defines" : ["%s = %s" % (k, v) for k, v in MyAgo.Module.Defines.iteritems()],\r
\r
"architecture" : MyAgo.Arch,\r
"toolchain_tag" : MyAgo.ToolChain,\r
"separator" : Separator,\r
"module_tool_definitions" : ToolsDef,\r
\r
- "shell_command_code" : list(self._SHELL_CMD_[self._FileType].keys()),\r
- "shell_command" : list(self._SHELL_CMD_[self._FileType].values()),\r
+ "shell_command_code" : self._SHELL_CMD_[self._FileType].keys(),\r
+ "shell_command" : self._SHELL_CMD_[self._FileType].values(),\r
\r
"module_entry_point" : ModuleEntryPoint,\r
"image_entry_point" : ImageEntryPoint,\r
#\r
# Extract common files list in the dependency files\r
#\r
- for File in sorted(DepSet, key=lambda x: str(x)):\r
+ for File in DepSet:\r
self.CommonFileDependency.append(self.PlaceMacro(File.Path, self.Macros))\r
\r
for File in FileDependencyDict:\r
continue\r
NewDepSet = set(FileDependencyDict[File])\r
NewDepSet -= DepSet\r
- FileDependencyDict[File] = ["$(COMMON_DEPS)"] + sorted(NewDepSet, key=lambda x: str(x))\r
+ FileDependencyDict[File] = ["$(COMMON_DEPS)"] + list(NewDepSet)\r
\r
# Convert target description object to target string in makefile\r
for Type in self._AutoGenObject.Targets:\r
- for T in sorted(self._AutoGenObject.Targets[Type], key=lambda x: str(x)):\r
+ for T in self._AutoGenObject.Targets[Type]:\r
# Generate related macros if needed\r
if T.GenFileListMacro and T.FileListMacro not in self.FileListMacros:\r
self.FileListMacros[T.FileListMacro] = []\r
CurrentFileDependencyList = DepDb[F]\r
else:\r
try:\r
- Fd = open(F.Path, 'rb')\r
+ Fd = open(F.Path, 'r')\r
except BaseException as X:\r
EdkLogger.error("build", FILE_OPEN_FAILURE, ExtraData=F.Path + "\n\t" + str(X))\r
\r
continue\r
\r
if FileContent[0] == 0xff or FileContent[0] == 0xfe:\r
- FileContent = str(FileContent, encoding="utf-16")\r
- IncludedFileList = gIncludePattern.findall(FileContent)\r
- else:\r
- try:\r
- FileContent = str(FileContent, encoding="utf-8")\r
- IncludedFileList = gIncludePattern.findall(FileContent)\r
- except:\r
- continue\r
+ FileContent = unicode(FileContent, "utf-16")\r
+ IncludedFileList = gIncludePattern.findall(FileContent)\r
\r
for Inc in IncludedFileList:\r
Inc = Inc.strip()\r
DependencySet.update(ForceList)\r
if File in DependencySet:\r
DependencySet.remove(File)\r
- DependencyList = sorted(DependencySet, key=lambda x: str(x)) # remove duplicate ones\r
+ DependencyList = list(DependencySet) # remove duplicate ones\r
\r
return DependencyList\r
\r
"separator" : Separator,\r
"module_tool_definitions" : ToolsDef,\r
\r
- "shell_command_code" : list(self._SHELL_CMD_[self._FileType].keys()),\r
- "shell_command" : list(self._SHELL_CMD_[self._FileType].values()),\r
+ "shell_command_code" : self._SHELL_CMD_[self._FileType].keys(),\r
+ "shell_command" : self._SHELL_CMD_[self._FileType].values(),\r
\r
"create_directory_command" : self.GetCreateDirectoryCommand(self.IntermediateDirectoryList),\r
"custom_makefile_content" : CustomMakefile\r
\r
"toolchain_tag" : MyAgo.ToolChain,\r
"build_target" : MyAgo.BuildTarget,\r
- "shell_command_code" : list(self._SHELL_CMD_[self._FileType].keys()),\r
- "shell_command" : list(self._SHELL_CMD_[self._FileType].values()),\r
+ "shell_command_code" : self._SHELL_CMD_[self._FileType].keys(),\r
+ "shell_command" : self._SHELL_CMD_[self._FileType].values(),\r
"build_architecture_list" : MyAgo.Arch,\r
"architecture" : MyAgo.Arch,\r
"separator" : Separator,\r
\r
"toolchain_tag" : MyAgo.ToolChain,\r
"build_target" : MyAgo.BuildTarget,\r
- "shell_command_code" : list(self._SHELL_CMD_[self._FileType].keys()),\r
- "shell_command" : list(self._SHELL_CMD_[self._FileType].values()),\r
+ "shell_command_code" : self._SHELL_CMD_[self._FileType].keys(),\r
+ "shell_command" : self._SHELL_CMD_[self._FileType].values(),\r
'arch' : list(MyAgo.ArchList),\r
"build_architecture_list" : ','.join(MyAgo.ArchList),\r
"separator" : Separator,\r