Jordan: To keep compatibility, I don't prefer to update build_rule.txt for .S and .asm file extension, because they have been for long time, we don't know whether user code base has such case or not. For nasm, it is new added, and not widely used now. We may change it. If you prefer to make this change, you can send the patch to EDK2 mail list and collect feedback. Personally, I don't want to touch BuildRule.txt. For BuildRuleOrder patch, it should be consistent with Build_Rule.txt. So, I agree with this patch set.
Thanks Liming -----Original Message----- From: Justen, Jordan L Sent: Thursday, May 21, 2015 3:25 PM To: edk2-devel@lists.sourceforge.net; Gao, Liming Subject: Re: [edk2] [PATCH v2 2/2] BaseTools: Add default BuildRuleOrder in tools_def.template On 2015-05-20 18:39:40, Liming Gao wrote: > *_*_*_*_BUILDRULEORDER = nasm Nasm NASM asm Asm ASM S s > *_XCODE32_*_*_BUILDRULEORDER = S s nasm Nasm NASM > *_XCLANG_*_*_BUILDRULEORDER = S s nasm Nasm NASM > *_XCODE5_*_*_BUILDRULEORDER = S s nasm Nasm NASM Sorry I didn't respond quicker. :\ I had a question. Do we actually need to support .Nasm and .NASM? I only added it to build_rule.template because it was there for .asm. But, it seemed pretty silly in build_rule, and listing it here looks silly as well. So, I'm wondering, since .nasm support is still new, can we maybe just remove the .Nasm and .NASM from build_rule.template? It looks like .S and .s are both used in the EDK II tree. For .asm, I was surprised, but .Asm is used in the EDK II tree: EdkCompatibilityPkg/Foundation/Library/Pei/PeiLib/Ia32/ProcessorAsms.Asm EdkCompatibilityPkg/Foundation/Library/Pei/PeiLib/X64/ProcessorAsms.Asm I don't see .ASM used in the tree though. -Jordan > Tool Chain in Mac Os will use S as the first priority. Other tool > chains use nasm as the first priority. > > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Yingke Liu <yingke.d....@intel.com> > Reviewed-by: Liming Gao <liming....@intel.com> > --- > BaseTools/Conf/tools_def.template | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/BaseTools/Conf/tools_def.template > b/BaseTools/Conf/tools_def.template > index 5e0c3d7..ad34a3d 100644 > --- a/BaseTools/Conf/tools_def.template > +++ b/BaseTools/Conf/tools_def.template > @@ -6274,10 +6274,11 @@ NOOPT_MYTOOLS_IPF_DLINK_FLAGS = /NOLOGO > /NODEFAULTLIB /LTCG /DLL /OPT > # > > #################################################################################### > # XCODE32 - Xcode 3.2 Tools (Snow Leopard) > *_XCODE32_*_*_FAMILY = GCC > *_XCODE32_*_*_BUILDRULEFAMILY = XCODE > +*_XCODE32_*_*_BUILDRULEORDER = S s nasm Nasm NASM > > > *_XCODE32_*_ASL_PATH = /usr/bin/iasl > > *_XCODE32_*_MAKE_PATH = make > @@ -6383,10 +6384,11 @@ RELEASE_XCODE32_ARM_CC_FLAGS = $(ARCHCC_FLAGS) > $(PLATFORM_FLAGS) -mthumb-inter > # > > #################################################################################### > # CLANG - clang that produce Mach-O with EFI x86_64 ABI > *_XCLANG_*_*_FAMILY = GCC > *_XCLANG_*_*_BUILDRULEFAMILY = XCODE > +*_XCLANG_*_*_BUILDRULEORDER = S s nasm Nasm NASM > > *_XCLANG_*_ASL_PATH = /usr/bin/iasl > > *_XCLANG_*_MAKE_PATH = make > *_XCLANG_*_DSYMUTIL_PATH = /usr/bin/dsymutil > @@ -6446,10 +6448,11 @@ RELEASE_XCLANG_X64_CC_FLAGS = -ccc-host-triple > x86_64-pc-win32-macho -c -Os > # XCODE5 support > # > > *_XCODE5_*_*_FAMILY = GCC > *_XCODE5_*_*_BUILDRULEFAMILY = XCODE > +*_XCODE5_*_*_BUILDRULEORDER = S s nasm Nasm NASM > > *_XCODE5_*_ASL_PATH = /usr/bin/iasl > > *_XCODE5_*_MAKE_PATH = make > *_XCODE5_*_DSYMUTIL_PATH = /usr/bin/dsymutil > @@ -6938,5 +6941,10 @@ RELEASE_ARMLINUXGCC_AARCH64_CC_FLAGS = > $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC # NASM tool definitions > ################## > *_*_*_NASM_PATH = ENV(NASM_PREFIX)nasm > # NASMB uses NASM produce a .bin from a .nasmb NASM source file > *_*_*_NASMB_FLAGS = -f bin > + > +################# > +# Build rule order > +################# > +*_*_*_*_BUILDRULEORDER = nasm Nasm NASM asm Asm ASM S s > -- > 1.9.5.msysgit.0 > > > ---------------------------------------------------------------------- > -------- One dashboard for servers and applications across > Physical-Virtual-Cloud Widest out-of-the-box monitoring support with > 50+ applications Performance metrics, stats and reports that give you > Actionable Insights Deep dive visibility with transaction tracing > using APM Insight. > http://ad.doubleclick.net/ddm/clk/290420510;117567292;y > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/edk2-devel ------------------------------------------------------------------------------ One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel