From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Achim Gratz Newsgroups: gmane.emacs.devel Subject: Re: CHECK_STRUCTS/dmpstruct.h mechanism is broken. Date: Thu, 11 Apr 2019 21:55:45 +0200 Organization: Linux Private Site Message-ID: <87v9zkqptq.fsf@Rainer.invalid> References: <20190228202146.GC4686@ACM> <20190228205955.GD4686@ACM> <20190410162203.GA4009@ACM> <9809d5ce-c1c4-48e9-6dac-489431b34067@cs.ucla.edu> <671ba8dd-894b-5698-d162-8901b1098b9a@cs.ucla.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="37433"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Apr 11 21:57:02 2019 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hEfok-0009Zh-9L for ged-emacs-devel@m.gmane.org; Thu, 11 Apr 2019 21:57:02 +0200 Original-Received: from localhost ([127.0.0.1]:54143 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hEfoj-0003M9-9h for ged-emacs-devel@m.gmane.org; Thu, 11 Apr 2019 15:57:01 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:33242) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hEfnj-00033U-Kt for emacs-devel@gnu.org; Thu, 11 Apr 2019 15:56:00 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hEfnh-0006eG-O7 for emacs-devel@gnu.org; Thu, 11 Apr 2019 15:55:59 -0400 Original-Received: from [195.159.176.226] (port=47344 helo=blaine.gmane.org) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hEfnh-0006db-CZ for emacs-devel@gnu.org; Thu, 11 Apr 2019 15:55:57 -0400 Original-Received: from list by blaine.gmane.org with local (Exim 4.89) (envelope-from ) id 1hEfnf-0008JZ-CE for emacs-devel@gnu.org; Thu, 11 Apr 2019 21:55:55 +0200 X-Injected-Via-Gmane: http://gmane.org/ Cancel-Lock: sha1:fjzPAaP6mu6ZQ67CyH3mGiomWXE= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 195.159.176.226 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 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.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:235307 Archived-At: Paul Eggert writes: > On 4/11/19 2:35 AM, Robert Pluim wrote: >> Much as I dislike Autoconf, what would you have us replace it with? > > I was thinking of using just standard tools (as per the GNU Coding > Standards) along with GNU Make - and, once the Emacs core is built, we > can use Emacs itself. Although we started assuming GNU Make in Emacs 25, > we haven't been using GNU Make's features fully and some of its features > could effectively replace the need for Autoconf. I don't see how… autoconf got one thing right: it tries to actually _compile_, not just check preprocessor defines or compiler versions. That also makes it slow, especially as it's all serial. > A benefit of this approach would be faster builds. Right now the biggest > bottleneck on my system is the time to run 'configure' whenever I make a > trivial change to configure.ac or whatever. I *hate* that. The fun thing is that in this case you could run autoconf almost entirely from already cached decisions. I have not tried to feed autoconf prepared caches in a long time, but it may be worth a try. > Although I looked into other possible approaches (switching to SCons, > say) none of them seemed to offer compelling advantages to the > more-conservative approach I have in mind. Most of the newfangled systems I've looked at focus on build speed (mostly by pre-computing dependencies) and take the configuration for granted (some even using autoconf again). > Eric Raymond reported success with this sort of approach when > deautoconfiscating giflib and the NTP code base: > > https://lists.gnu.org/r/bison-patches/2019-02/msg00041.html I can tell you something about NTPsec. Yes, it has no autoconf, but that's been replaced with the configure step from waf, which has exactly one person you can ask if something doesn't work the way you think it should. Based on Python it has a somewhat more agreeable syntax than M4 macros (no surprise), but it's not actually more clear (to me anyway). Plus, there are a lot less depencies that need to be checked. Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ Factory and User Sound Singles for Waldorf Q+, Q and microQ: http://Synth.Stromeko.net/Downloads.html#WaldorfSounds