On 2015-12-07 05:52:42, Laszlo Ersek wrote: > On 12/02/15 09:45, Yonghong Zhu wrote: > > By the BUILDRULEORDER feature to process files listed in INF [Sources] > > sections in priority order, if a filename is listed with multiple > > extensions, the tools will use only the file that matches the first > > extension in the space separated list. > > > > Contributed-under: TianoCore Contribution Agreement 1.0 > > Signed-off-by: Yonghong Zhu <[email protected]> > > --- > > Source/Python/AutoGen/AutoGen.py | 27 +++++++++++++++++++++++++++ > > 1 file changed, 27 insertions(+) > > > > diff --git a/Source/Python/AutoGen/AutoGen.py > > b/Source/Python/AutoGen/AutoGen.py > > index fe56574..263224b 100644 > > --- a/Source/Python/AutoGen/AutoGen.py > > +++ b/Source/Python/AutoGen/AutoGen.py > > @@ -2711,13 +2711,40 @@ class ModuleAutoGen(AutoGen): > > > > # add the file path into search path list for file > > including > > if F.Dir not in self.IncludePathList and > > self.AutoGenVersion >= 0x00010005: > > self.IncludePathList.insert(0, F.Dir) > > self._SourceFileList.append(F) > > + > > + self._MatchBuildRuleOrder(self._SourceFileList) > > + > > + for F in self._SourceFileList: > > self._ApplyBuildRule(F, TAB_UNKNOWN_FILE) > > return self._SourceFileList > > > > + def _MatchBuildRuleOrder(self, FileList): > > + Order_Dict = {} > > + self._GetModuleBuildOption() > > + for SingleFile in FileList: > > + if self.BuildRuleOrder and SingleFile.Ext in > > self.BuildRuleOrder: > > + key = SingleFile.Path.split(SingleFile.Ext)[0] > > + if key in Order_Dict: > > + Order_Dict[key].append(SingleFile.Ext) > > + else: > > + Order_Dict[key] = [SingleFile.Ext] > > + > > + RemoveList = [] > > + for F in Order_Dict: > > + if len(Order_Dict[F]) > 1: > > + Order_Dict[F].sort(key=lambda i: > > self.BuildRuleOrder.index(i)) > > + for Ext in Order_Dict[F][1:]: > > + RemoveList.append(F + Ext) > > + > > + for item in RemoveList: > > + FileList.remove(item) > > + > > + return FileList > > + > > ## Return the list of unicode files > > def _GetUnicodeFileList(self): > > if self._UnicodeFileList == None: > > if TAB_UNICODE_FILE in self.FileTypes: > > self._UnicodeFileList = self.FileTypes[TAB_UNICODE_FILE] > > > > This patch breaks the OVMF build. > > $ build \ > -a X64 \ > -p OvmfPkg/OvmfPkgX64.dsc \ > -t GCC48 \ > -n 8 \ > --report-file=.../build.ovmf.report \ > --log=.../build.ovmf.log \ > -b DEBUG \ > -D HTTP_BOOT_ENABLE > > The result I get is: > > Processing meta-data .... > > build.py... > : error F000: Nothing to build > > [/home/lacos/src/upstream/edk2-git-svn/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf]
Yonghong, Liming, can we revert this change until this can be fixed? Laszlo investigated, and he thinks BUILDRULEORDER is causing a .asm file to be used for the source on GCC builds. But, .asm should always be ignored for GCC builds. -Jordan _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

