[cfe-dev] Clang going into FreeBSD's base system

Douglas Gregor dgregor at apple.com
Fri May 14 10:38:35 PDT 2010


This is great news. Thanks, Ed!

	- Doug

On May 14, 2010, at 10:14 AM, Ed Schouten wrote:

> Hello Clang folks,
> 
> You folks probably want to be informed about this as well.
> 
> Greetings,
> -- 
> Ed Schouten <ed at 80386.nl>
> WWW: http://80386.nl/
> 
> 
> ----- Forwarded message from Ed Schouten <ed at 80386.nl> -----
>> Date: Fri, 14 May 2010 17:24:08 +0200
>> From: Ed Schouten <ed at 80386.nl>
>> To: FreeBSD Arch <arch at freebsd.org>
>> Subject: Request for review: build infrastructure for Clang
>> 
>> Hello all,
>> 
>> At BSDCan there has been a general agreement that in order to make Clang
>> a viable replacement for GCC 4.2.1, it should be integrated into FreeBSD
>> HEAD and installed by default as soon as possible. This does not mean
>> that the system will be bootstrapped using Clang, nor does it mean that
>> Ports are built using it. Clang is just installed as /usr/bin/clang and
>> /usr/bin/clang++. It can be built and installed on any architecture, but
>> it will only be enabled on amd64, i386 and pc98 for now.
>> 
>> As requested by several people, I am hereby sending a patch which adds
>> the build infrastructure for Clang. It includes all modifications that
>> are present in the projects/clangbsd-import branch, except the
>> LLVM/Clang source tree stored at contrib/llvm.
>> 
>> Below are random remarks about the patch:
>> 
>> - Clang depends on many LLVM libraries. The Makefiles for these
>>  libraries are stored in usr.bin/clang/lib. All binaries (clang and
>>  tblgen) have their Makefiles in usr.bin/clang/bin respectively.
>> 
>> - Clang requires a bootstrapping tool called tblgen, which generates
>>  large portions of internal interfaces. Even though this tool is only
>>  needed when MK_CLANG is set, it is always built. Because the default
>>  value of MK_CLANG depends on the architecture used, we cannot reliably
>>  determine whether tblgen should be built during bootstrap when
>>  cross-compiling. Because tblgen doesn't blow up the build time
>>  significantly, it will always be built.
>> 
>> - LLVM source code includes some generated header files. Not all these
>>  generated headers use .h extensions. This isn't a problem, except that
>>  it confuses <bsd.*.mk>. This is why all headers generated by tblgen
>>  have the .h extension and wrappers are in place in
>>  usr.bin/clang/include.
>> 
>> If everything goes according to plan, this patch will be committed to
>> HEAD in 2 weeks from now (May 28). Depending on whether interesting bugs
>> are fixed upstream, a newer snapshot may be integrated than the one used
>> right now.
>> 
>> The entire source tree can be checked out as follows. Be sure to give it
>> a try!
>> 
>> 	svn co svn://svn.freebsd.org/base/projects/clangbsd-import/
>> 
>> In case you find problems, be sure to drop by #freebsd-clang on EFnet.
>> 
>> Greetings from Ottawa,
>> -- 
>> Ed Schouten <ed at 80386.nl>
>> WWW: http://80386.nl/
> ----- End forwarded message -----
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev




More information about the cfe-dev mailing list