[LLVMdev] Is there room for another build system?

Jonathan Brumley
Wed, 30 Jul 2008 18:53:35 -0000

2 more roadblocks for Visual Studio users are the inability to compile gcc
and the inability to compile and run the test suite.  I would not want to
submit a change unless I could still compile/run gcc and pass the test
suite.  (Testing before submission is the way we do it where I come from - I
am assuming it's the same here).

On a related note, has anyone gotten the LLVM test suite working on MinGW?
I am in the process of trying to get LLVM working on my Windows box.  I
expect I can get the test suite working on Cygwin - but I'm not sure about
MinGW.


Message: 6
Date: Wed, 30 Jul 2008 10:43:14 -0700
From: Chris Lattner <clattner at apple.com>
Subject: Re: [LLVMdev] Is there room for another build system?
To: LLVM Developers Mailing List <llvmdev at cs.uiuc.edu>
Message-ID: <1AFD3D24-C017-4B2A-9725-51B6A6568E36 at apple.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed; delsp=yes

On Jul 30, 2008, at 9:41 AM, ?scar Fuentes wrote:
> I'm evaluating CMake (1) primarily as an alternative build system for
> Visual Studio users, although it can easily be a replacement for
> `configure' and hand-made makefiles too, providing a single build
> system
> for all platforms. CMake is a tool that takes a project description
> and
> configures, generates makefiles, project files for IDEs, etc as
> requested.

Ok.  Killing off autoconf would be a huge bonus, but should probably
be done as a second step.

> There are three MS C++ compilers capable of compiling LLVM: Visual
> Studio 2003, 2005, 2008 and their respective "free tools"
> edition. However, the project files distributed with LLVM are for
> 2005. This means that people using 2003 is left in the cold and people
> who only have 2008 must convert the project files and, most important,
> can't contribute to the maintenance of the VC++ build.

Yes, this is a problem.  We also support Xcode to various degrees on
the mac, and keeping all these project files in sync with the
makefiles is a pain.

> Furthermore, CMake can replace `configure' and generate gmake
> makefiles,
> project files for XCode, etc.

Having one point of truth would be great.

> Now, my questions:
>
> 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.

> 3. LLVM administrators: Do you object to having a CMakeLists.txt file
> on every source directory?

No, particularly if it means we eventually lose the Makefile :).

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.

-Chris
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.llvm.org/pipermail/llvm-dev/attachments/20080730/7c742163/attachment.html>