February 19th, 2006

  • evan

srcdir != builddir

Projects using autotools ("./configure") can be built in a different directory than their source. From any other directory, just run /path/to/configure --whateverflags and things should just magically work. This keeps your source tree cleaner, which makes navigation easier while developing and makes VCSes that track tree inventory (baz inventory, monotone ls unknown) happier. (It also allows building code that's on a read-only or slower file system...)

(Subject to availability. Some projects assume srcdir=builddir and so fail when you try this. autotools are a confusing mess, but it's what we've got, so I typically just try to deal with it.)