And the compiler name is clang (part of the LLVM open source project 
http://llvm.org), the tools are installed as Xcode (the name of the target). 

> On May 11, 2015, at 8:50 PM, Jordan Justen <jordan.l.jus...@intel.com> wrote:
> 
> Liming, Amy,
> 
> I'm confused. I didn't even see the original post of the patch to
> edk2-devel. Maybe Amy is not subscribed?
> 
> I don't think removing a feature (EDK II NASM support), and calling it
> 'Basetools update for CLAN support' is a good way to proceed.
> 
> Maybe just install NASM instead?
> 


> There was also some discussions of allowing toolchains, or toolchain
> families to choose the priority for source file extensions. Did that
> go anywhere?
> 

Good point I forgot about that. If we don’t have that support then we probably 
need to make a NASM version and a non-nasm version. 

I’d also like to understand the reasons for the changes. And we probably should 
split up into smaller patches. 

For example I did not understand the removal of the comment about xcode-select? 

#
# use xcode-select to change Xcode version of command line tools
#
*_XCODE5_*_CC_PATH      = clang
*_XCODE5_*_SLINK_PATH   = libtool
*_XCODE5_*_DLINK_PATH   = ld
*_XCODE5_*_ASM_PATH     = as
*_XCODE5_*_PP_PATH      = clang
*_XCODE5_*_VFRPP_PATH   = clang
*_XCODE5_*_ASL_PATH     = iasl
*_XCODE5_*_ASLCC_PATH   = clang
*_XCODE5_*_ASLPP_PATH   = clang
*_XCODE5_*_ASLDLINK_PATH  = ld
I’ve learned from experience with NASM (Mac Ports etc) that we really need to 
add the Path back into these guys. I hit a bug that ld was pointing at the Mac 
Ports version and it was too old to understand the dwarf info from the 
compiler. 

With Xcode /usr/bin/clang is just a redirector to the currently selected clang. 
The default location is /Applications/Xcode.app/Contents/Developer/, but you 
can install multiple copies of the tools and switch via the command line. 

Thanks,

Andrew Fish

> -Jordan
> 
> On 2015-05-11 18:33:59, Gao, Liming wrote:
>>   Andrew:
>> 
>>   I convert this patch to git format for your review.
>> 
>>   1)       On Mtoc tool, user can configure tools_def.txt to point its path.
>>   I don't think it is necessary to integrate it into EDKII BaseTools.
>> 
>> 
>> 
>>   Thanks
>> 
>>   Liming
>> 
>>   From: Andrew Fish [mailto:af...@apple.com]
>>   Sent: Tuesday, May 12, 2015 1:25 AM
>>   To: edk2-devel@lists.sourceforge.net
>>   Cc: Davis, Brad A; Chiu, Chasel; Chan, Amy; Chaganty, Rangasai V
>>   Subject: Re: [edk2] Basetools update for CLAN support
>> 
>> 
>> 
>> 
>> 
>>     On May 10, 2015, at 8:30 PM, Gao, Liming <liming....@intel.com> wrote:
>> 
>> 
>> 
>>     2) Nasm build rules have been used for the other tool chain and
>>     platform. And, we also agree to use nasm in EDKII. I don't think we can
>>     drop it now in the default configuration.
>> 
>>     3) I don't see those flags in build_rule.txt. I am curious how use them
>>     in CLANG build.
>> 
>> 
>> 
>>     Thanks
>> 
>>     Liming
>> 
>>     From: Chiu, Chasel 
>>     Sent: Friday, May 08, 2015 5:35 PM
>>     To: Gao, Liming; Chan, Amy; edk2-devel@lists.sourceforge.net
>>     Cc: Mudusuru, Giri P; Chaganty, Rangasai V; Davis, Brad A
>>     Subject: RE: Basetools update for CLAN support
>> 
>> 
>> 
>> 
>> 
>>     See my reply.
>> 
>> 
>> 
>>     Thanks!
>> 
>>     Chasel
>> 
>> 
>> 
>> 
>> 
>>     From: Gao, Liming 
>>     Sent: Friday, May 8, 2015 5:23 PM
>>     To: Chan, Amy; edk2-devel@lists.sourceforge.net
>>     Cc: Chiu, Chasel; Mudusuru, Giri P; Chaganty, Rangasai V; Davis, Brad A
>>     Subject: RE: Basetools update for CLAN support
>> 
>> 
>> 
>>     Amy:
>> 
>>      I have two comments.
>> 
>>     1.       PosixLink for EDKII BaseTools, not for third party tool.  I
>>     don't think it is good to add Mtoc here. [cc] in the past we put this
>>     mtoc in BaseTools, we can move to other place but actually I have no
>>     idea why we need mtoc to compile CLANG on MAC OS. We might can eliminate
>>     it.
>> 
>> 
>> 
>>   To enable debugging we have clang compile to Mach-0 (native execution
>>   format on a Mac). The mtoc tool is a Mach-O to PE/COFF conversion tool. It
>>   is open sourced by Apple as part of CCTOOLS. It works like the ELF to
>>   PE/COFF conversion code that is in the edk2 BaseTools. 
>> 
>> 
>> 
>>   I have no problem with someone checking the binary in the tree for mtoc,
>>   as it is open sourced code. 
>> 
>>     2.       Why remove nasm build rules from build_rule.template? [cc]
>>     Thunk16.nasm build failure due to "DQ 0" -> "DQ 0.0" and more errors.
>>     Removed this can build S file instead and pass.
>> 
>>     3.       Who uses *_XCODE5_*_PLATFORM_FLAGS and
>>     *_XCODE5_X64_PLINK_FLAGS? [cc] CLANG building on MAC OS.
>> 
>> 
>> 
>> 
>> 
>>   The PLATFORM_FLAGS originated in the ARM port. 
>> 
>> 
>> 
>>   I do the maintenance to keep Xcode working. So you can send me a patch and
>>   I can review it, test it and commit it. 
>> 
>> 
>> 
>>   I recently made a change to our internal version of the flags and I can
>>   sync that back too. I add -fcolor-diagnostics to the compiler lines as
>>   this enabled color diagnostic (error messages) from clang when building
>>   under the edk2. 
>> 
>> 
>> 
>>   Thanks,
>> 
>> 
>> 
>>   Andrew Fish
>> 
>>     Thanks
>> 
>>     Liming
>> 
>>     From: Chan, Amy 
>>     Sent: Friday, May 8, 2015 4:48 PM
>>     To: edk2-devel@lists.sourceforge.net
>>     Cc: Chiu, Chasel; Mudusuru, Giri P; Chaganty, Rangasai V; Davis, Brad A;
>>     Gao, Liming
>>     Subject: Basetools update for CLAN support
>> 
>> 
>> 
>>     Hello all,
>> 
>> 
>> 
>>     Recently we found we need to make some changes on BaseTools to build our
>>     RC with CALNG-on-MacPC:
>> 
>>     1.          Add one file BaseTools\BinWrappers\PosixLike\mtoc
>> 
>>     2.          Update BaseTools\Conf\build_rule.template
>> 
>>     3.          Update BaseTools\Conf    ools_def.template
>> 
>>     Please see the attached file for detail, Password is Intel123
>> 
>> 
>> 
>>     However the same BaseTools has been using by some customers who should
>>     already complain and ask change for this...
>> 
>>     We are not sure whether those change is a correct, whether we can avoid
>>     it by some simple build flags change.
>> 
>> 
>> 
>>     Please kindly give us some advice if you have any idea.
>> 
>> 
>> 
>>     Thanks and regards,
>> 
>>     Amy
>> 
>>     
>> ------------------------------------------------------------------------------
>>     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

------------------------------------------------------------------------------
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

Reply via email to