Subject: bug#3883: Interleaved builds in separate trees create different versions

From: Glenn Morris <[email-masked]>
Date: Wed, 06 Apr 2011 18:02:30 -0400

(A very delayed reply)

Rob Browning wrote:

> If you try to build two trees from the same source directory at the
> same time, alternating the respective SRCDIR/configure, make, and make
> install operations, the first tree will end up with a ".2" version while
> the second tree will end up with a ".1" version.

I think this happens because the second make recompiles the .el files,
and the output .elc files are written into the lisp/ directory in the
source-tree, not the build directory. Then the first build thinks it
need to redump Emacs, because the .elc files have newer timestamps.

Neither make should need to compile the .el files at all, but this is
tricky, see http://debbugs.gnu.org/cgi/bugreport.cgi?bug=2151 .

Arguably, the compiled .elc files should be written into the build
tree's lisp/ directory, not the source lisp/ directory.
But, they are supposed to be platform independent, so maybe the current
set-up is designed to let them be shared between all builds.
But, they get recompiled anyway, so that doesn't actually work...