From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: CHECK_STRUCTS/dmpstruct.h mechanism is broken. Date: Fri, 12 Apr 2019 09:44:43 +0300 Message-ID: <83ef674t9g.fsf@gnu.org> 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> Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="221931"; mail-complaints-to="usenet@blaine.gmane.org" Cc: eggert@cs.ucla.edu, emacs-devel@gnu.org To: "Daniel Colascione" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Apr 12 08:45:38 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 1hEpwP-000vYs-6G for ged-emacs-devel@m.gmane.org; Fri, 12 Apr 2019 08:45:37 +0200 Original-Received: from localhost ([127.0.0.1]:59868 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hEpwO-0003XN-59 for ged-emacs-devel@m.gmane.org; Fri, 12 Apr 2019 02:45:36 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:55264) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hEpvq-0003X6-2Q for emacs-devel@gnu.org; Fri, 12 Apr 2019 02:45:02 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:42517) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hEpvo-0005Xm-Ra; Fri, 12 Apr 2019 02:45:00 -0400 Original-Received: from [176.228.60.248] (port=4273 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1hEpvo-0006bq-D3; Fri, 12 Apr 2019 02:45:00 -0400 In-reply-to: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] 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:235326 Archived-At: > Date: Thu, 11 Apr 2019 15:13:10 -0700 > From: "Daniel Colascione" > Cc: "Paul Eggert" , > emacs-devel@gnu.org > > > 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) You can also just use the shell. Wait, didn't Autoconf start like that? More seriously, there are build systems out there which don't use Autoconf. My limited experience with some of them is that they all bump into the same problems of complexity when catering to large packages that need to support many different platforms. So it all boils down to a different syntax (and in many cases inadequate documentation). A faster execution doesn't justify the massive effort required for mastering any such new system, IME. > Someday, it'd be nice to get rid of explicit byte compilation entirely and > rely on either a JIT or automatic recompilation on load. JIT byte compilation is just one part of slow part of the build. But even with this, the last attempt to bring JIT to Emacs stalled at a point where it isn't yet usable except as POC, and I didn't actually see any tangible speedup from using it when it did work.