emacs-devel
[Top][All Lists]
Advanced

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

Re: [PATCH] Project out of sources compilation


From: Eli Zaretskii
Subject: Re: [PATCH] Project out of sources compilation
Date: Thu, 04 Apr 2024 08:26:35 +0300

> Date: Wed, 3 Apr 2024 22:12:44 +0200
> From: Ergus <spacibba@aol.com>
> Cc: Eli Zaretskii <eliz@gnu.org>, rms@gnu.org, dmitry@gutov.dev, 
>       emacs-devel@gnu.org
> 
> My basic concept of OOSC (probably mistaken) is that the sources of the
> project are those required to reproduce a program, because otherwise it
> is not possible or are too difficult/expensive to reproduce.
> 
> If I change project.el, then project.elc is not valid anymore and needs
> to be regenerated... so, project.el is the source and the elc is a
> target (not necessarily a final one)

The same is true for a change in configure.ac: the configure script is
no longer valid after that, and needs to be rebuilt.

> In the same line, when we do out of sources compilation it may be
> possible to remove the `build` directory and have the project sources
> exactly as downloaded from sources. Without any other clean
> needed...

That's not how the GNU build infrastructure works.  You have the
distclean target in Makefile to clean up the tree for the new build.

> Also in same line, for example, when using GIT_NAMESPACE the project.el
> will change with the namespace, but the elc won't (as not tracked by
> git), so GIT_NAMESPACE becomes inconsistent and requires a regeneration
> of .elc, so, not a source, but a target

That is a problem with project.el, I think, not with how Emacs is
built.  In every project, when you bootstrap it, i.e. build from the
VCS repository, there are some generated files that are part of the
source tree.

> Finally when executing from build1 it may be possible to access the
> version of project.elc used when the project was compiled in that
> directory... independently of if I changed project.el latter and
> compiled in build2. Latter actions in source + compilation in build2
> should not affect the consistency of build1.

You are talking about modifying project.el while it is being used by a
running Emacs session?  In that case, all bets are off, I think.



reply via email to

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