[cfe-dev] Building clang outside of LLVM (with CMake)

Eric Christopher echristo at apple.com
Wed Feb 2 17:11:00 PST 2011


On Feb 2, 2011, at 4:58 PM, Óscar Fuentes wrote:

> Douglas Gregor <dgregor at apple.com> writes:
> 
>>> Why not just have clang's config.h just be entirely separate from llvm? While
>>> you may be duplicating a few things in a new configure.ac for clang it wouldn't
>>> be a whole lot and then you could just (effectively) ./configure clang as
>>> well and it'll just look for llvm on the system, otherwise just do a recursive
>>> configure?
>> 
>> You know, now that you mention it.... yeah, that would probably be
>> better. Thanks, Eric!
> 
> IMO it is perfectly fine to use the config.h header generated for
> LLVM. Else we are duplicating a big chunk of code. Sharing as much
> infrastructure with LLVM as posible reduces maintenance and ensures up
> to some point that Clang operates the same regardless how you build it.
> 

True, however...

> Apart from that, Eric, please note that we are talking about a
> CMake-only feature. Unless you plan to change the LLVM build system (the
> traditional one) for implementing it there is no gain at all for the
> users on duplicating the platform tests inside the Clang tree.

Conditionally including files into llvm based on build system is a non-starter
for me. It's just ridiculous.

That said, it looks like the config files are already installed by default when
you install llvm which should solve the needing to configure llvm problem when
building clang as a top level. There should still be a way for it to configure
itself, but that's less of an issue for the cmake side of things.

In addition, I'm sure there are a number of things that are configured at the top
level for llvm that aren't needed for clang and for clang that aren't needed
for llvm.

-eric
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20110202/3a77fb7e/attachment.html>


More information about the cfe-dev mailing list