[LLVMdev] An LLVM 1.3 Request

Chris Lattner sabre at nondot.org
Tue Apr 13 22:14:01 PDT 2004


On Tue, 13 Apr 2004, Reid Spencer wrote:

> On Tue, 2004-04-13 at 19:10, Chris Lattner wrote:
>
> > Yes, definitely.  I think the right way to do this is to make it be as
> > incremental as possible.  In particular, the biggest benefit will be to
> > get llvm/test/Programs into a seperate tarball from the main LLVM tree, as
> > it is big and will (hopefully!) keep getting bigger.  There are several
> > tasks that can be done incrementally to help out with this:
> >
> > 1. Make test/Programs be self contained, including not depending on
> >    makefiles in directories above it.
> > 2. It should have its own (small) configure script, just like the other
> >    projects do.
> > 3. It should "act" as if it were in llvm/projects/TestPrograms or
> >    something.  Before the files are actually moved, this can be simulated
> >    with a symlink.
> >
> This is completely opposite the way I work. If I had CVS access, I would
> do the whole change in a branch. This would include fixing all
> makefiles, moving all files, creating/fixing configure scripts, and
> running all regressions to make sure it worked. I would then check in
> the branch, merge mainline into it again and re-test. Once I was synched
> with mainline and everything checked out, I'd commit again.  The branch
> would be verified independently by someone else before being merged back
> to mainline.
>
> Trying to do a global change in a piecemeal fashion will just create
> pain for more people. For example, how would I supply a patch to
> autoconf/configure.ac that removes support for, say --enable-spec2000
> and that still lets you configure for testing? Attempting to do this
> piecemeal (or "incrementally" as you put it :) will just lead to
> confusion for everyone. Trust me, I've been there and done that.

I guess I don't understand why making these changes is not
straight-forward and incremental.  It seems as though #1 is just strictly
local changes to llvm/test/Programs/Makefile.programs, with no other
changes.  This can be tested and worked on exactly as you mentioned, and
there should be zero breakage in the process.

Once that is done, the configure script can be split into two pieces,
again, without breaking anything.  Once the makefiles and configure script
are changed, it shouldn't matter where the directory lives.

> I'm willing to help, but it has to be efficient with my time too.

I definitely appreciate both your help and the time you are able to spend
on this.  I certainly don't want to waste your time at all, but I don't
see how this needs to be done as a single monolithic change.

Unfortunately, CVS isn't designed for distributed development (cue the
"switch to subversion" people here :), so I don't see that as an option,
at least in the short term...

-Chris

-- 
http://llvm.cs.uiuc.edu/
http://www.nondot.org/~sabre/Projects/





More information about the llvm-dev mailing list