On Apr 29, 2010, at 7:48 PM, NightStrike wrote: > It's a lot easier to make the > developers on your project use the right versions of stuff than > imposing that requirement on all of your users. In my mind, our users > should be able to download, configure, compile, and use. Creating the > build system (autoreconfing) shouldn't be their responsibility.
Hold on... Are we talking about users or developers? Because you're using both words interchangeably. 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 #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. For these people I provide the tarball simply by doing "make dist". This archive includes the configure script, the make file, and all the rest. There's no requirement that they run autoreconf, and I'm not required to put autotools-generated files in the repository, so everybody's happy. #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! I realize there may be some overlap between the two groups -- for example, "power users" who just want to try out cutting-edge code -- but in general this is how it is. The important thing to note is that group #1 is far larger than group #2, so imposing the autoreconf requirement only impacts a relatively small number of people. Trevor