[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Built-in target to delete all generated files

From: Steffen Dettmer
Subject: Re: Built-in target to delete all generated files
Date: Fri, 30 Apr 2010 11:53:02 +0200


why would someone want to check in derived files like configure
and Makefile? Because someone might not have autotools? Why not
also checking in objects and libs in case someone might not have
a compiler installed?

On Fri, Apr 30, 2010 at 5:57 AM, Trevor Harmon <address@hidden> wrote:
> For this discussion I think it's important to recognize that
> there are two distinct classes:
> 1) People who download a source tarball
> 2) People who check out the source from a repository

Just for sake of completeness / for the bigger scope I'd like to add:

3) People who use a binary distribution

I think this is the biggest group of users.

Often they get the bin dist from a package maintainer who in turn
works on a src dist, which might be configured specifically
and she may have patched and/or extended the src dist.

> #1 are the "users" or "end users" who just want to download,
> build, and install a stable release. They typically don't care
> about getting code from the repository.

Yes, I agree, for those the source dist is for and thanks to
autoconf it is done in a way that it can be built easily. Of
course, you must have installed make, a compiler...
The documentation should tell what exactly is needed.

> #2 are the "developers" who are testing prereleases, hacking on
> the code, contributing patches, etc. This usually requires
> checking out the source from the repo. For these people I don't
> see any problem with requiring them to install autoconf >= 2.59
> (or whatever) and to run a single command (autoreconf -i) to
> bootstrap the build. They most likely have it installed already
> anyway!

Yes, I completely agree.
They have to have installed make, a compiler, autotools...

How else should they be able to add a new source file?

Also they have to be able to use their own versions of the tools.

> I realize there may be some overlap between the two groups --
> for example, "power users" who just want to try out
> cutting-edge code

I guess most power users do have autotools installed :-)

Personally, I dislike to have derived files in version control.
It is redundant, not DRY. Also can invite trouble, for example,
it could happen that the checked-in configure does not match the or so.

Are there SCMs that don't support file ignore lists? SVN has its
properties stuff, might be a bit clumpsy for
non-ant-java-mainline projects to add all the files, but most
work is just needed once by one of the developers of the team, so
shouldn't be a problem I think :-)

To get rid of all the autogen files and to check if the current
state is reproducible from VCS a simple way is to simply check it
out and build it. If there are no derived file in the repository,
all files have to be generated and if anything is missing or
wrong, at least make check has a chance to spot it (otherwise,
someone may have extended let's say, checked in
configure but not and noone would notice, then
second one changes and then you wonder why configure
suddenly fails or so).



reply via email to

[Prev in Thread] Current Thread [Next in Thread]