[LLVMdev] Is there room for another build system?
Chris Lattner
clattner at apple.com
Wed Jul 30 11:13:27 PDT 2008
On Jul 30, 2008, at 11:09 AM, Óscar Fuentes wrote:
> Chris Lattner <clattner at apple.com> writes:
>
>> Ok. Killing off autoconf would be a huge bonus, but should probably
>> be done as a second step.
>
> My plan is a staged one:
>
> First, support MSVC++.
> Second, implement what `configure' does now. MSVC++ users would be the
> first ones to take advantage of this, instead of the current hack
> Visual
> Studio does.
> Finally, add capabilities for replacing current hand-made makefiles on
> all platforms.
>
> Once the work is done, killing off autoconf and hand-made makefiles is
> up to you. CMake can live with them and the amount of maintenance work
> it adds is minimal.
Ok, this sounds like a great plan. I'm mostly aiming for this to be
done in a series of incremental steps, rather than as a big bang :).
Your plan sounds great!
>>> 1. General LLVM users: Are you so happy with `configure' and hand-
>>> made
>>> makefiles that you wont consider an alternative? If you are
>>> interested,
>>> I can steer my work to cover all platforms.
>>
>> I would prefer to kill off makefiles if we have something better. We
>> really only want to support one build system.
>
> My knowledge of the LLVM build system is far from complete, but right
> now there is one feature which I think is tricky to implement on
> CMake:
> if you add/remove a source file, the build system we have now does the
> right thing. In CMake, you are required to update the list of source
> files on the CMakeLists.txt file.
I don't have a problem with this, this is acceptable.
>>> One trick is that we want to keep llvm-config and the
>> 'LINK_COMPONENTS' system used when building tools. I am sure cmake
>> can handle this, but I just wanted to mention that it is important.
>
> Actually, I plan to use llvm-config (and LINK_COMPONENTS) even for VC
> ++
> users :-). Probably as an alternative, as some Visual Studio users
> would
> complain if Perl is a requirement for building LLVM.
Cool! Thanks for working on this!
-Chris
More information about the llvm-dev
mailing list