Jordan: I find BaseTools has one issue to support BUILDRULEORDER. It will generate two commands in Makefile to compile Thunk16.S and Thunk16.nasm both. So, Andrew will report the build failure if nasm is not installed. I will fix BaseTools issue first.
Now, nasm is restricted to GCC tool chain, because nasm compiler has one issue to generate Debug Format. Do you know the latest status for it? Thanks Liming > -----Original Message----- > From: af...@apple.com [mailto:af...@apple.com] > Sent: Wednesday, November 11, 2015 12:25 PM > To: Justen, Jordan L > Cc: Gao, Liming; Kinney, Michael D; edk2-devel > Subject: Re: [edk2] MdePkg: Enable Xcode build of BaseLib without > > > > On Nov 10, 2015, at 8:06 PM, Jordan Justen <jordan.l.jus...@intel.com> > > wrote: > > > > On 2015-11-10 19:18:01, Andrew Fish wrote: > >> On Nov 10, 2015, at 7:11 PM, Jordan Justen <jordan.l.jus...@intel.com> > >> wrote: > >> Liming, Andrew, > >> > >> Wasn't BUILDRULEORDER supposed to help with this? > >> > >> I asked about that too? I was testing with XCODE5, so the BUILDRULEORDER > >> should have been S s nasm? > >>> git grep BUILDRULEORDER > >> BaseTools/Conf/tools_def.template:6367:*_XCODE32_*_*_BUILDRULEORDER = S > >> s nasm > >> BaseTools/Conf/tools_def.template:6477:*_XCLANG_*_*_BUILDRULEORDER = S > >> s nasm > >> BaseTools/Conf/tools_def.template:6541:*_XCODE5_*_*_BUILDRULEORDER = S > >> s nasm > >> BaseTools/Conf/tools_def.template:6850:*_*_*_*_BUILDRULEORDER = nasm asm > >> Asm ASM S s > >> BaseTools/Source/Python/AutoGen/AutoGen.py:2093: if > >> Attr == TAB_TOD_DEFINES_BUILDRULEORDER: > >> BaseTools/Source/Python/AutoGen/AutoGen.py:2112: if > >> Attr == TAB_TOD_DEFINES_BUILDRULEORDER: > >> BaseTools/Source/Python/Common/DataType.py:435:TAB_TOD_DEFINES_BUILDRULEORDER > >> = 'BUILDRULEORDER' > >> I realize now that my previous test may have been flawed since I had NASM > >> installed. > > > > Hmm, maybe we could have added: > > > > Ia32/Thunk16.S > > > > I think it would be `| GCC` as all the other .S files have that. > > X64/Thunk16.nasm | GCC > X64/Thunk16.S | GCC > > As far as I can remember you don't need the `| GCC` with a .S, but BaseLib > seems to use them, maybe for comments. > > But that brings up the other question is nasm restricted to GCC in the > BaseLib? It is scoped via `| GCC`. > > Thanks, > > Andrew Fish > > > instead of > > > > Ia32/Thunk16.S | XCODE > > > > Perhaps, that was why BUILDRULEORDER didn't work? > > > > -Jordan > > > >> Thanks, > >> Andrew Fish > >> > >> -Jordan > >> > >> On 2015-11-10 18:30:39, Gao, Liming wrote: > >> > >> This patch is committed at r18766. > >> > >> Thanks > >> Liming > >> From: af...@apple.com [mailto:af...@apple.com] > >> Sent: Tuesday, November 10, 2015 11:31 PM > >> To: Gao, Liming > >> Cc: edk2-devel; Kinney, Michael D > >> Subject: Re: MdePkg: Enable Xcode build of BaseLib without > >> > >> On Nov 10, 2015, at 12:22 AM, Gao, Liming > >> <liming....@intel.com<mailto:liming....@intel.com>> wrote: > >> > >> Reviewed-by: Liming Gao > >> <liming....@intel.com<mailto:liming....@intel.com>> > >> > >> Liming, > >> > >> Can you commit the patch? > >> > >> Thanks, > >> > >> Andrew Fsih > >> > >> cat 0004-MdePkg-BaseLib-don-t-require-NASM-with-Xcode.patch > >> > >> From 8f4666bc80d6d4844e73b3a221e50d587ef09cec Mon Sep 17 00:00:00 > >> 2001 > >> From: andrew fish <af...@apple.com<mailto:af...@apple.com>> > >> Date: Mon, 9 Nov 2015 22:46:32 -0800 > >> Subject: [PATCH 4/4] MdePkg: BaseLib don't require NASM with Xcode > >> > >> Don't require NASM for simple edk2 Xcode projects. > >> > >> Contributed-under: TianoCore Contribution Agreement 1.0 > >> Signed-off-by: Andrew Fish <af...@apple.com<mailto:af...@apple.com>> > >> Reviewed-by: Liming Gao > >> <liming....@intel.com<mailto:liming....@intel.com>> > >> --- > >> MdePkg/Library/BaseLib/BaseLib.inf | 2 ++ > >> 1 file changed, 2 insertions(+) > >> > >> diff --git a/MdePkg/Library/BaseLib/BaseLib.inf > >> b/MdePkg/Library/BaseLib/BaseLib.inf > >> index 4cc86d7..e83a569 100644 > >> --- a/MdePkg/Library/BaseLib/BaseLib.inf > >> +++ b/MdePkg/Library/BaseLib/BaseLib.inf > >> @@ -257,6 +257,7 @@ > >> > >> Ia32/GccInline.c | GCC > >> Ia32/Thunk16.nasm | GCC > >> + Ia32/Thunk16.S | XCODE > >> Ia32/EnableDisableInterrupts.S | GCC > >> Ia32/EnablePaging64.S | GCC > >> Ia32/DisablePaging32.S | GCC > >> @@ -413,6 +414,7 @@ > >> X86DisablePaging32.c > >> X64/GccInline.c | GCC > >> X64/Thunk16.nasm | GCC > >> + X64/Thunk16.S | XCODE > >> X64/SwitchStack.S | GCC > >> X64/SetJump.S | GCC > >> X64/LongJump.S | GCC > >> -- > >> 2.3.2 (Apple Git-55) > >> > >> _______________________________________________ > >> edk2-devel mailing list > >> edk2-devel@lists.01.org > >> https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel