emacs-devel
[Top][All Lists]
Advanced

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

Re: Alternative build systems


From: Eli Zaretskii
Subject: Re: Alternative build systems
Date: Tue, 23 Aug 2022 19:55:30 +0300

> From: Óscar Fuentes <ofv@wanadoo.es>
> Date: Tue, 23 Aug 2022 18:36:22 +0200
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> >> Apart from better performance, CMake would simplify the scripts a great
> >> deal.
> >
> > Not IME, not with the many complications and different configurations
> > we support.  E.g., does Gnulib support CMake builds?
> 
> When I made the CMake build system for LLVM/Clang, it was about 1.5
> orders of magnitude less verbose than the autoconf-based system for
> feature parity.

No one says you'd see anything like that with Emacs.  Emacs is not a
compiler system.

> CMake has the advantage of being procedural (like an ordinary scripting
> language) and declarative (like `make'). This makes possible to use a
> high level of abstraction that helps a lot when dealing with complexity.

Sorry, that's not my experience.  In the few cases where I needed to
tweak a CMake build (admittedly, nowhere as complex as Clang), I found
myself battling the same kind of stuff as with Autoconf: a huge
library of macros, variables, and settings.  Moreover, quite a few of
those are semi-documented in semi-comprehensible way.  The moment you
step 1/2" outside of the "usual" stuff, you are on your own.

> For the Gnulib question, I can't answer, I don't know what it involves.
> A quick web search says that Gnulib is tightly tied with autoconf and
> messages like this are a bit gloomy:
> 
> https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00091.html

I know, right?  This is just an example of the problems we'd need to
deal with.  (Does CMake support Emacs Lisp compilation? does it know
about *.elc and *.eln files? does it know about emacs.pdmp? does it
know about installing programs like Emacs? etc. etc.)



reply via email to

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