SkippedArchList = set(self.ArchList).symmetric_difference(set(self.Platform.SupArchList))\r
EdkLogger.verbose("\nArch [%s] is ignored because the platform supports [%s] only!"\r
% (" ".join(SkippedArchList), " ".join(self.Platform.SupArchList)))\r
- self.ArchList = tuple(ArchList)\r
+ self.ArchList = tuple(sorted(ArchList))\r
\r
# Validate build target\r
if self.BuildTarget not in self.Platform.BuildTargets:\r
#\r
content = 'gCommandLineDefines: '\r
content += str(GlobalData.gCommandLineDefines)\r
- content += os.linesep\r
+ content += "\n"\r
content += 'BuildOptionPcd: '\r
content += str(GlobalData.BuildOptionPcd)\r
- content += os.linesep\r
+ content += "\n"\r
content += 'Active Platform: '\r
content += str(self.Platform)\r
- content += os.linesep\r
+ content += "\n"\r
if self.FdfFile:\r
content += 'Flash Image Definition: '\r
content += str(self.FdfFile)\r
- content += os.linesep\r
+ content += "\n"\r
SaveFileOnChange(os.path.join(self.BuildDir, 'BuildOptions'), content, False)\r
\r
#\r
if Pa.PcdTokenNumber:\r
if Pa.DynamicPcdList:\r
for Pcd in Pa.DynamicPcdList:\r
- PcdTokenNumber += os.linesep\r
+ PcdTokenNumber += "\n"\r
PcdTokenNumber += str((Pcd.TokenCName, Pcd.TokenSpaceGuidCName))\r
PcdTokenNumber += ' : '\r
PcdTokenNumber += str(Pa.PcdTokenNumber[Pcd.TokenCName, Pcd.TokenSpaceGuidCName])\r
if not os.path.exists(self.BuildDir):\r
os.makedirs(self.BuildDir)\r
with open(os.path.join(self.BuildDir, 'AutoGen'), 'w+') as file:\r
- for f in AllWorkSpaceMetaFiles:\r
+ for f in sorted(AllWorkSpaceMetaFiles):\r
print(f, file=file)\r
return True\r
\r
self._DynamicPcdList.extend(list(UnicodePcdArray))\r
self._DynamicPcdList.extend(list(HiiPcdArray))\r
self._DynamicPcdList.extend(list(OtherPcdArray))\r
+ #python3.6 set is not ordered at all\r
+ self._DynamicPcdList = sorted(self._DynamicPcdList, key=lambda x:(x.TokenSpaceGuidCName, x.TokenCName))\r
+ self._NonDynamicPcdList = sorted(self._NonDynamicPcdList, key=lambda x: (x.TokenSpaceGuidCName, x.TokenCName))\r
allskuset = [(SkuName, Sku.SkuId) for pcd in self._DynamicPcdList for (SkuName, Sku) in pcd.SkuInfoList.items()]\r
for pcd in self._DynamicPcdList:\r
if len(pcd.SkuInfoList) == 1:\r
list(PlatformModuleOptions.keys()) + list(ModuleTypeOptions.keys()) +\r
list(self.ToolDefinition.keys()))\r
BuildOptions = defaultdict(lambda: defaultdict(str))\r
- for Tool in AllTools:\r
+ for Tool in sorted(AllTools):\r
for Options in [self.ToolDefinition, ModuleOptions, PlatformOptions, ModuleTypeOptions, PlatformModuleOptions]:\r
if Tool not in Options:\r
continue\r
@cached_property\r
def IntroTargetList(self):\r
self.Targets\r
- return self._IntroBuildTargetList\r
+ return sorted(self._IntroBuildTargetList, key=lambda x: str(x.Target))\r
\r
@cached_property\r
def CodaTargetList(self):\r
self.Targets\r
- return self._FinalBuildTargetList\r
+ return sorted(self._FinalBuildTargetList, key=lambda x: str(x.Target))\r
\r
@cached_property\r
def FileTypes(self):\r
AsBuiltInfDict['binary_item'].append('PE32|' + self.Name + '.efi')\r
else:\r
AsBuiltInfDict['binary_item'].append('BIN|' + File)\r
+ if not self.DepexGenerated:\r
+ DepexFile = os.path.join(self.OutputDir, self.Name + '.depex')\r
+ if os.path.exists(DepexFile):\r
+ self.DepexGenerated = True\r
if self.DepexGenerated:\r
self.OutputFile.add(self.Name + '.depex')\r
if self.ModuleType in [SUP_MODULE_PEIM]:\r
if os.path.exists (self.TimeStampPath):\r
os.remove (self.TimeStampPath)\r
with open(self.TimeStampPath, 'w+') as file:\r
- for f in FileSet:\r
+ for f in sorted(FileSet):\r
print(f, file=file)\r
\r
# Ignore generating makefile when it is a binary module\r