Subject: Re: bug#75655: configure doesn't update Makefile

From: Eli Zaretskii <[email-masked]>
Date: Thu, 23 Jan 2025 20:24:15 +0200

> Date: Thu, 23 Jan 2025 17:50:23 +0000
> From: Pip Cet <[email-masked]>
> Cc: [email-masked], [email-masked]
> 
> "Eli Zaretskii" <[email-masked]> writes:
> 
> >> Date: Thu, 23 Jan 2025 13:56:15 +0000
> >> From: Pip Cet <[email-masked]>
> >> Cc: [email-masked], [email-masked]
> >>
> >> The problem is that we might eventually push this to the master branch,
> >> and then it becomes a problem of switching between revisions, not
> >> branches.  It'd effectively break "git bisect" if a directory is added
> >> in the bisection range.
> >
> > If you mean different builds from the same source tree, then I suggest
> > an out-of-tree builds.  You use one source tree and several build
> 
> For this problem, the behavior is even worse for out-of-tree builds: the
> problem occurs the same way, but one of the suggested fixes from
> INSTALL.REPO leaves you without a Makefile, and the other one won't work
> but will probably delete valuable data.

I don't see how this is relevant.  "git clean" should be run in the
source tree (the build tree is not a Git checkout), and the other
fixes are for very specific problems.

> > trees, each one configured differently.  That is supported by the
> > current Makefiles.
> 
> I meant "git bisect".

If you build from a separate directory, your git bisect procedure
should involve a script that switches to the build directory after
each checkout.

> Sorry I can't address the general git comments/"out of tree" builds in
> detail right now.  I find git hard enough to use without committing
> changes so I don't actually push them (that one's confusing), and
> certainly won't use multiple clones.  "Out of tree" builds are useless
> *to me* as long as they create thousands of files in the "source" tree;
> in this case, they make the problem worse.

Fair enough, but you are proposing changes to Emacs's build machinery,
so this is not just about you and your personal workflows, right?