[Top][All Lists]

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

Re: bignum branch

From: Eli Zaretskii
Subject: Re: bignum branch
Date: Sat, 11 Aug 2018 10:08:43 +0300

> Cc: address@hidden, address@hidden
> From: Paul Eggert <address@hidden>
> Date: Fri, 10 Aug 2018 13:58:20 -0700
> Eli Zaretskii wrote:
> > I don't see why managing the library matters here, since linking
> > statically makes sure Emacs always uses the same library against which
> > it was linked.
> That's exactly what we don't want, at least not on a well-managed system like 
> Ubuntu, Red Hat, etc. where we will want the standard libgmp that everybody 
> uses.

You say that, but don't provide any arguments for it, except library
management (which I'm not sure is very relevant here).  What are the
arguments _for_ using "the standard libgmp that everybody uses", not
arguments _against_not_ using it?

My main reason for linking GMP statically is that the way we integrate
it into Emacs is different from all the other libraries we use in
Emacs: the other libraries support optional features, whereas GMP
supports a feature that is part of the Emacs Lisp language.  So the
GMP code will always be present in Emacs, and is exactly like the code
in floatfns.c.  Thus, it is IMO important to have it exactly like at
build time, to make sure we don't suffer regressions in ELisp due to
some issue with the system-wide GMP library, because if that happens,
Emacs users will be screwed.

> > Other projects link statically against libraries without any issues.
> > See GDB, for example.
> No, on the systems that I'm talking about, GDB links dynamically against 
> libgmp. 

I wasn't talking about GMP, I was talking about other libraries GDB
links in.  libexpat, liblzma, even libintl -- all of those are linked
statically here.  Maybe they, too, are linked dynamically on
GNU/Linux, but the point is, it isn't something outlandish.  And the
main point is being an integral part of the language, see above.

reply via email to

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