From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: "Daniel Colascione" Newsgroups: gmane.emacs.devel Subject: Re: CHECK_STRUCTS/dmpstruct.h mechanism is broken. Date: Thu, 11 Apr 2019 15:13:10 -0700 Message-ID: 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> <83k1g04al8.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain;charset=iso-8859-1 Content-Transfer-Encoding: 8bit Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="83474"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: SquirrelMail/1.4.23 [SVN] Cc: Paul Eggert , emacs-devel@gnu.org To: "Eli Zaretskii" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Apr 12 00:13:25 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 1hEhwi-000Las-HS for ged-emacs-devel@m.gmane.org; Fri, 12 Apr 2019 00:13:24 +0200 Original-Received: from localhost ([127.0.0.1]:55575 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hEhwh-0002Sj-E0 for ged-emacs-devel@m.gmane.org; Thu, 11 Apr 2019 18:13:23 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:35694) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hEhwa-0002Se-Tc for emacs-devel@gnu.org; Thu, 11 Apr 2019 18:13:17 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hEhwa-00070F-1t for emacs-devel@gnu.org; Thu, 11 Apr 2019 18:13:16 -0400 Original-Received: from dancol.org ([2600:3c01::f03c:91ff:fedf:adf3]:33132) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hEhwW-0006tQ-Bk; Thu, 11 Apr 2019 18:13:12 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=dancol.org; s=x; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:To:From:Subject:Date:References:In-Reply-To:Message-ID; bh=40yFpyff4kNUnAK9rkH68iwPECVNcNxbioe8Og7POm4=; b=H/b3jCuimR17xcQdYc/ljuDGChz8WJfpUze8qmkfg5g3NjrhLh+nRakuFwcYia6yzshp02ixHxxUm4U7ZH5DFfcs27LG+t9RwhELGvpZs7vL6IQqqvyaSHFijuq/LIbIFCERncqK8lQUnSexQ4e0mORs9ioq/mh8tsyDx+icWWdVCXHcwZuOcD6eevITAorNHQ4oCg58edEyQl9OVL+WVZDVGlF4qN9WalkIwLBw5zwSnjDAZUI154MVCX7gY/qmd3Oe6Gwnfew2eYDoQ4I9f26PJ1+4hFeVIrGIuaQJzbGe9nXwg+/5Rn6qc2p6k/MNyXEP+XA6lCgnIzMhOygAFA==; Original-Received: from localhost ([127.0.0.1] helo=dancol.org) by dancol.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hEhwU-0004wN-Oq; Thu, 11 Apr 2019 15:13:10 -0700 Original-Received: from 172.92.145.124 (SquirrelMail authenticated user dancol) by dancol.org with HTTP; Thu, 11 Apr 2019 15:13:10 -0700 In-Reply-To: <83k1g04al8.fsf@gnu.org> X-Priority: 3 (Normal) Importance: Normal X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2600:3c01::f03c:91ff:fedf:adf3 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:235310 Archived-At: >> From: Paul Eggert >> Date: Thu, 11 Apr 2019 11:31:36 -0700 >> >> 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. > > You want to test for system-dependent features with Make? How does > one do that? All those HAVE_foo macros in the sources -- how do you > compute them with Make? Wouldn't we end up with heaps of Make > wizardry only a few understand? GNU make can run arbitrary shell commands. You'd just write HAVE_foo := $(shell ./test-foo) or something like that, then have a separate make function that compiled all these tests into a header. I don't think it's a *good* idea, but it works, and you can do surprisingly complex things this way. >> 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. > > IME, the slowest part is byte compilation of Lisp files. Of course, > that is only a significant factor when you bootstrap or rebuild large > parts of Emacs, but still. Someday, it'd be nice to get rid of explicit byte compilation entirely and rely on either a JIT or automatic recompilation on load.