[LLVMdev] Top Level Stuff

Gordon Henriksen gordonhenriksen at mac.com
Mon Jul 2 05:34:08 PDT 2007


On 2007-07-02, at 03:49, Chris Lattner wrote:

> I think checking out llvm-project should give you something like this:
>
> mydir/llvm-project/
>                     llvm-config/*
>                     README.txt
>                     Makefile
>
> And probably nothing else.
>
> Importantly, the README.txt would talk about how to use the  
> makefile, suggesting common things, like:
>
> make checkout PROJECT=llvm-gcc
>
> which checks out llvm-gcc and all dependencies.
> […]
> 'make checkout' would check out the requested project, then  
> recursively check out its dependencies.

As a possibly less-engineered complement, your end-state could be  
provided simply by creating folders in Subversion prefabbed with  
appropriate svn:externals. Make one for each end-project (llvm-gcc,  
new-cfe, and soforth). It's not nearly so clever, but it might allow  
initial usage much closer to the 'configure; make; make install'  
convention.

Also, there's only enough info on the command-line there to do a  
trunk checkout. What about branches and tags? Sorry to harp on these,  
but my experience with Subversion is that it's important to  
accommodate them. In one sense, the simplest way to do so is to make  
the project ignorant of the source control system. That generality is  
part of the appeal about using one giant trunk for everything. It's  
also the reason that svn:external is appealing: it puts the source  
control smarts in the source control system, not the controlled project.

— Gordon





More information about the llvm-dev mailing list