> On Nov 12, 2014, at 5:47 PM, Gao, Liming <liming....@intel.com> wrote: > > Jordan and Andrew: > Now, we have BUILDRULEFAMILY, how about add BUILDRULEORDER key? It means the > priority order of the build rule for the same output with the different > postfix source files. > > *_GCC49_*_*_BUILDRULEORDER = nasm S > *_VS2013_*_*_ BUILDRULEORDER = nasm asm > *_XCODE5_*_*_ BUILDRULEORDER = S nasm >
Looks good to me. Thanks, Andrew Fish > Thanks > Liming > -----Original Message----- > From: Andrew Fish [mailto:af...@apple.com] > Sent: Saturday, November 8, 2014 12:03 PM > To: Justen, Jordan L > Cc: edk2-devel@lists.sourceforge.net; Fan, Jeff > Subject: Re: [edk2] [PATCH 000/345] Convert EDK II core packages to NASM for > IA32/X64 > > >> On Nov 7, 2014, at 7:43 PM, Jordan Justen <jordan.l.jus...@intel.com> wrote: >> >> On 2014-11-07 15:53:55, Andrew Fish wrote: >>> I was having lunch today with Mike Kinney, and Vincent Zimmer >>> (unfortunately no Tanqueray involved) and I think I’ve distilled the >>> issue down to a new feature that we need from the build system. I >>> want to be able to have an Xcode (or VC++, or Intel compiler) target >>> that uses .S (.asm) if both .S (.asm) and .nasm are present. I was >>> want to be able to have an Xcode target that uses .nasm if both the >>> .S and .nasm are present. Mike was going to go talk to the BaseTools >>> maintainers and figure out the best way to do this. >> >> Hmm. If we are considering a BaseTools change, then one thought I had >> was let a toolchain (or maybe family) select a preference list for >> certain extensions. >> >> *_GCC49_*_*_EXTENSIONS = nasm S >> *_VS2013_*_*_EXTENSIONS = nasm asm >> *_XCODE5_*_*_EXTENSIONS = S nasm >> >> I don't see rules like this in tools_def, so I'm not sure it is >> supported, but it would be nice too: >> GCC:*_*_*_*_EXTENSIONS = nasm S >> >> Basically this would only be used if 2 source files have the same base >> name. In that case, the extension listed first would be used. >> >> This would still allow XCODE to build modules that had .nasm only. >> But, for modules where a .S is available, then NASM wouldn't be >> required. >> > > That is an interesting idea! Much less impact than doing it in the INF file. > Not to mention the BUILDRULEFAMILY is more about the backend. > > I’m not sure I like EXTENSIONS as the names, but then agent the edk2 is the > poster child for it is hard to name things…. But then again maybe it is the > more future proof concept? > > I do think you are getting to the root of the issue. The BaseTools was never > designed to deal with a case where there were multiple options for what file > extension to use for a file type for a target. Adding a “universal > assembler” does introduce this class of challenge. > > I’m not saying this is the right solution, but we should ask the question > should we tie the override to the build_rule.template file sections vs. > trying to override the contents of these actions. That is just a good thing > for all of use to think about. For example are we overriding .S or > Assembly-Code-File? > > > Thanks, > > Andrew Fish > >> -Jordan > > > ------------------------------------------------------------------------------ > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/edk2-devel > ------------------------------------------------------------------------------ > Comprehensive Server Monitoring with Site24x7. > Monitor 10 servers for $9/Month. > Get alerted through email, SMS, voice calls or mobile push notifications. > Take corrective actions from your mobile device. > http://pubads.g.doubleclick.net/gampad/clk?id=154624111&iu=/4140/ostg.clktrk > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/edk2-devel ------------------------------------------------------------------------------ Comprehensive Server Monitoring with Site24x7. Monitor 10 servers for $9/Month. Get alerted through email, SMS, voice calls or mobile push notifications. Take corrective actions from your mobile device. http://pubads.g.doubleclick.net/gampad/clk?id=154624111&iu=/4140/ostg.clktrk _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel