[cfe-dev] [libcxx] build system questions

Larry Evans cppljevans at suddenlink.net
Fri Feb 11 14:00:16 PST 2011


On 02/11/11 14:31, Larry Evans wrote:
> On 12/05/10 09:04, Howard Hinnant wrote:
>> On Dec 5, 2010, at 4:44 AM, Bjorn Reese wrote:
>>
>>> On 2010-12-05 05:29, sashan wrote:
>>>
>>>> I downloaded libcxx and built it. I noticed that the buildit
>>>> script doesn't do dependency checking. It seems pretty
>>>> non-standard. Most projects' build system
>>>
>>> While I agree with you, we should keep in mind that libcxx is
>>> mainly written by a single person, and he has presumably not had
>>> the need for any cross-platform build system yet. But I am sure
>>> that he would welcome contributions to improve this situation.
>>>
>>> I simply made my own wrapper scripts to circumvent to problem on Linux.
>>> Instead of calling buildit directly I used the script below:
>>>
>>> export CC=g++
>>> export RC_FLAGS="-Wall -std=c++0x"
>>> export RC_BUILDIT=1
>>> ${SHELL} buildit
>>
>> Thanks Bjorn.
>>
>>>
>>> Of course, that does not solve the dependency problem, but at least I
>>> did not experience any problems with .dylib afterwards.
>>
>> On the dependency-checking issue: The build time is currently about
>> a minute.  Imho this does not rise to the level of needing
>> dependency checking to speed things up.  That being said, if someone
>> wants to add dependency checking and it /does/ result in a speedup,
>> I'd welcome it.  One requirement: The list of headers and sources
>> must be implicit.
> 
> The attached gnumake file uses $(wildcard...) to avoid explicit
> lists.  It also has target.o and target.dM.  Both require TARGET=xxx
> where xxx is some base name of the .cpp file in the src directory.
> The 1st just compiles $(TARGET).cpp, the second creates $(TARGET).dM
> which contains all the #define's.  The second was useful to me to find
> if there was some macro #defined for the unbuntu OS.
> 
> The equivalent to Howard's buildit can be achieved with:
> 
>   make -f libcxx.gmake --always-make

Actually, with this:

  make -f libcxx.gmake --always-make mk_lib

and with the revised(several typos) make file, which is attached.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: libcxx.gmake
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20110211/d70d504e/attachment.ksh>


More information about the cfe-dev mailing list