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: Ergus
Subject: Re: [PATCH] Project out of sources compilation
Date: Wed, 3 Apr 2024 22:12:44 +0200

Hi Eli:

I won't come into this discussion but:

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)

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...

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

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.



On Wed, Apr 03, 2024 at 10:08:16PM +0300, Konstantin Kharlamov wrote:
On Wed, 2024-04-03 at 21:22 +0300, Eli Zaretskii wrote:
> From: Konstantin Kharlamov <Hi-Angel@yandex.ru>
> Cc: rms@gnu.org, spacibba@aol.com, dmitry@gutov.dev,
> emacs-devel@gnu.org
> Date: Wed, 03 Apr 2024 20:27:09 +0300
>
> I hope now you understand why I'm saying Emacs doesn't fully
> support it 😊

I still think you are mistaken.  What you call "out of tree build" is
not what is generally meant by that.

Okay, what do you consider meant by that?

Bootstrapping a repository
invariably causes some "build artifacts" to be deposed in the source
tree

Sure, that's unfortunately how autotools work.  On the upside though,
it is rare for these files to cause problems.  Which can't be said
about .elc ones.

, and the more the project makes a point of not having generated
files in the repository, the more artifacts are needed in the source
tree before you can start building out of tree.  

Citation needed 😄  You asked me previously for examples of projects
that do not generate any files in the tree, I provided you with that 😊
I can certainly assure you that you don't necessarily have to generate
files "in tree".  I worked with many different projects and distinct
build systems, so I have a lot of experience in that regard.  Do you
have in mind some specific case that you see a problem with?

And that is
perfectly okay, nothing wrong about that.

There are problems with generating code in tree, some of which I did
show to you previously.  Unless I misunderstand what you mean by that.


reply via email to

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