From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Merging MPS a.k.a. scratch/igc, yet again Date: Tue, 10 Dec 2024 15:20:14 +0200 Message-ID: <86seqvbrox.fsf@gnu.org> References: <878qwuitbu.fsf@yahoo.com> <87jzcajrnz.fsf@protonmail.com> <86o71mfhox.fsf@gnu.org> <87frmyjn9j.fsf@protonmail.com> <86ldwqfcqv.fsf@gnu.org> <87a5d6jgim.fsf@protonmail.com> <86a5d6f7bn.fsf@gnu.org> <871pyijctd.fsf@protonmail.com> <8634iyf257.fsf@gnu.org> <8634iwex8q.fsf@gnu.org> <87plm0msrq.fsf@telefonica.net> <87zfl4npcd.fsf@debian-hx90.lan> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="1766"; mail-complaints-to="usenet@ciao.gmane.io" Cc: ofv@wanadoo.es, emacs-devel@gnu.org To: Xiyue Deng Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Dec 10 14:21:02 2024 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1tL0Af-0000Fr-BN for ged-emacs-devel@m.gmane-mx.org; Tue, 10 Dec 2024 14:21:01 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tL0A3-00056y-T0; Tue, 10 Dec 2024 08:20:23 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tL0A1-00056Y-L5 for emacs-devel@gnu.org; Tue, 10 Dec 2024 08:20:22 -0500 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tL0A0-0001GQ-No; Tue, 10 Dec 2024 08:20:20 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=MgR7YA5Fcf09qiC4+RS8gqCBS0Eeb/GH+0clItBascQ=; b=UKqnBn4d185Q KYO3Ffodetp5/pw1I1/VOcBjdHV5m9cQUHyyAPFsSa82JcgrLRSdCADAU3RXHaFkGv52oSgFM7imK AotMwd9PyUaADbdw0CaXSg3WicKXYgCSPfeJOuSO4BT+jQUzxJt3Sab40G22TDRLGVvknBnKZb3Wv u/DrY9tn+7ymCdKM4Foig6MpZwBfu4c6Zxh4jr3Hm78rzujyviz8bM5xhnu8wGccZrDi7GZ3Wt2DB gUgu+OaOw3xzSK1HbjHY4qToqszc+aLkOuK22Wn4kjn2JDVnLs5+zlikGFuSp+BqdxECIAXX+mfD4 bNsdKXIw1rn1c95lm6XygA==; In-Reply-To: <87zfl4npcd.fsf@debian-hx90.lan> (message from Xiyue Deng on Mon, 09 Dec 2024 20:17:54 -0800) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:326285 Archived-At: > From: Xiyue Deng > Date: Mon, 09 Dec 2024 20:17:54 -0800 > > If making MPS available in Debian would help Emacs packaging I'm willing > to work on this (in the coming weeks as igc may not land with the > upcoming Emacs 30 release so not in a hurry.) Thanks in advance. > I have a few questions regarding the Emacs/igc usage of MPS: > > * Does igc require only mps.{h,c} or more sources from the MPS source > package? It looks like there are many sources and it's autotools > build script fails with GCC 14.2 in Debian Trixie due to several > "-Werror"s. It may be easier to just compile and ship the required > subset, though it may require providing a custom build script. I suggest to use the detailed instructions under "Building the MPS for development" in manual/build.txt. This is what I did, and had no serious problems, even though I needed to concoct the various *.gmk Makefiles because my platform was not supported OOTB (GNU/Linux is supported OOTB). The reason I suggest that is that an official Debian distro of MPS had better included the several different builds of the library ("cool" and "hot"), and also included all the headers that any program using MPS might need, even if Emacs uses just part of them. The package should also include the Info manual, IMO. > * Does igc work with a dynamically linked MPS library? The MPS Makefiles build only static libraries, not shared libraries. Since this library implements GC, and Emacs must have some GC, why does it make sense to build MPS as a shared library? > Currently I have > seen people suggesting that directly compiling the source, which is > effectively like using MPS as a static library. It would be less > useful to package a static-only library in Debian because in case of > any issues (usually security) updating the library is insufficient and > its dependencies would need to be rebuilt as well. Using a dynamic > library would solve this scalability issue, and it would be good to > know if igc can work with a dynamically linked MPS. If you must build a shared library, you are basically on your own. And doing that is in stark contrast to what you asked above about headers used only by Emacs. > * Does igc work with the latest tagged version (release-1.118.0) or only > the latest snapshot? Packaging a tagged version would be easier, > though working with a snapshot may also work with a bit of extra > efforts. I built the official release, not a snapshot, FWIW.