LLVMdev Digest, Vol 88, Issue 34

Date: Tue, 11 Oct 2011 22:49:43 -0700
From: Anna Zaks <ganna@apple.com>
Subject: Re: [LLVMdev] RFC/Heads Up: Deprecating External Build
To: Daniel Dunbar <daniel@zuster.org>
Cc: LLVM Developers Mailing List <llvmdev@cs.uiuc.edu>
Message-ID: <5DC34E5E-1633-44CC-B4CE-F8FD6FAEA3BE@apple.com>
Content-Type: text/plain; CHARSET=US-ASCII

If the community thinks this is an important problem for LLVM to
address, then I think the ideal solution is that we provide a set of
autoconf/makefile/whatever foo that uses llvm-config and so on, but
doesn't try and do things like include the LLVM Makefiles or the LLVM
autoconf files. This would also provide a migration solution for
existing projects using the current functionality.

I've used the external build support for 3 different LLVM based projects in the past. I believe it is especially valuable for smaller projects, and helps to keep the barriers to entry low for someone starting to use LLVM. It would be great if we could provide some kind of (documented) alternative solution.


I think this message captures the key point, which is that the external build support (and a template for it) keeps the barrier to entry low for new projects. A lot of LLVM users start out by trying something small and that's where this can be important.

So if you do end up changing things around, please also provide an alternative external build system (using llvm-config, or whatever is appropriate), and an empty sample project for it. For current users, the best option may be to simply keep the old one alive for a while until they can migrate to the new system for external projects.

BTW, I also think *forcing* people to use git to get the same benefits is not a good idea. It would be better to be somewhat agnostic to whether users like to use svn or git.



Professor, Computer Science
University of Illinois at Urbana-Champaign