From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#2151: 23.0.90; Building the 23.0.90 pretest recompiles Lisp files Date: Mon, 02 Feb 2009 22:42:43 +0200 Message-ID: References: Reply-To: Eli Zaretskii , 2151@emacsbugs.donarmstrong.com NNTP-Posting-Host: lo.gmane.org X-Trace: ger.gmane.org 1233608719 13397 80.91.229.12 (2 Feb 2009 21:05:19 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 2 Feb 2009 21:05:19 +0000 (UTC) Cc: 2151@emacsbugs.donarmstrong.com To: Stefan Monnier Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Feb 02 22:06:33 2009 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1LU5yc-0001EF-8m for geb-bug-gnu-emacs@m.gmane.org; Mon, 02 Feb 2009 22:05:34 +0100 Original-Received: from localhost ([127.0.0.1]:49363 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LU5xJ-0003Nv-41 for geb-bug-gnu-emacs@m.gmane.org; Mon, 02 Feb 2009 16:03:45 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LU5xD-0003Mv-QJ for bug-gnu-emacs@gnu.org; Mon, 02 Feb 2009 16:03:39 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LU5xB-0003Lx-Ni for bug-gnu-emacs@gnu.org; Mon, 02 Feb 2009 16:03:38 -0500 Original-Received: from [199.232.76.173] (port=36413 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LU5xB-0003Lu-KT for bug-gnu-emacs@gnu.org; Mon, 02 Feb 2009 16:03:37 -0500 Original-Received: from rzlab.ucr.edu ([138.23.92.77]:36534) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1LU5xA-0006j1-2u for bug-gnu-emacs@gnu.org; Mon, 02 Feb 2009 16:03:37 -0500 Original-Received: from rzlab.ucr.edu (rzlab.ucr.edu [127.0.0.1]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id n12L3V9G027982; Mon, 2 Feb 2009 13:03:31 -0800 Original-Received: (from debbugs@localhost) by rzlab.ucr.edu (8.13.8/8.13.8/Submit) id n12Ko5Q9024672; Mon, 2 Feb 2009 12:50:05 -0800 X-Loop: owner@emacsbugs.donarmstrong.com Resent-From: Eli Zaretskii Resent-To: bug-submit-list@donarmstrong.com Resent-CC: Emacs Bugs Resent-Date: Mon, 02 Feb 2009 20:50:05 +0000 Resent-Message-ID: Resent-Sender: owner@emacsbugs.donarmstrong.com X-Emacs-PR-Message: followup 2151 X-Emacs-PR-Package: emacs X-Emacs-PR-Keywords: Original-Received: via spool by 2151-submit@emacsbugs.donarmstrong.com id=B2151.123360737123190 (code B ref 2151); Mon, 02 Feb 2009 20:50:05 +0000 Original-Received: (at 2151) by emacsbugs.donarmstrong.com; 2 Feb 2009 20:42:51 +0000 X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. Original-Received: from mtaout2.012.net.il (mtaout2.012.net.il [84.95.2.4]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id n12KglvM023184 for <2151@emacsbugs.donarmstrong.com>; Mon, 2 Feb 2009 12:42:48 -0800 Original-Received: from conversion-daemon.i_mtaout2.012.net.il by i_mtaout2.012.net.il (HyperSendmail v2004.12) id <0KEG00D00HC18K00@i_mtaout2.012.net.il> for 2151@emacsbugs.donarmstrong.com; Mon, 02 Feb 2009 22:43:03 +0200 (IST) Original-Received: from HOME-C4E4A596F7 ([84.228.158.130]) by i_mtaout2.012.net.il (HyperSendmail v2004.12) with ESMTPA id <0KEG008F6HJNIS91@i_mtaout2.012.net.il>; Mon, 02 Feb 2009 22:43:01 +0200 (IST) In-reply-to: X-012-Sender: halo1@inter.net.il X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 3) Resent-Date: Mon, 02 Feb 2009 16:03:38 -0500 X-BeenThere: bug-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:24854 Archived-At: > From: Stefan Monnier > Cc: 2151@emacsbugs.donarmstrong.com, emacs-pretest-bug@gnu.org > Date: Mon, 02 Feb 2009 11:02:49 -0500 > > > It goes like this: since temacs is built, the last rule says to > > produce bootstrap-emacs${EXEEXT}. The new bootstrap-emacs then > > triggers the 2 rules before it, which rebuild loaddefs.el and > > recompile the Lisp files in ${lisp} and ${SOME_MACHINE_LISP}. > > I think we have to live with this for now. I feared you'd say that. All I can say is that I think it's fundamentally wrong to have Lisp files compile as part of the build (Yes, I know we compile Leim files, presumably to conserve space in the tarball, but I think that's wrong, too.) The result is that a successful build becomes less predictable, and we can no longer depend on having the same good .elc files on all platforms. (It is also a major headache for the DOS port, since lisp/Makefile needs a Unixy shell, and I always avoided requiring that for building an official release.) > Getting make to understand the nature of the dependencies here is pretty > tricky, so you can get it to work right for the tarball or you can get > it to work right for the "cvs update" case, but it's pretty painful > to get it to work right in both cases. I think it shouldn't be too hard, and the ideas you suggested further in your mail are my evidence. > PS: Part of the problem, as far as I understand it, is that we need > the .elc files to depend on bootstrap-emacs so as to tell `make' to > build bootstrap-emacs when needed, but we don't actually need the .elc > files to be newer than bootstrap-emacs (in some rare cases a newer > bootstrap-emacs will compile the .el differently, but in general it's > not the case). But `make' doesn't have such a concept of a dependency > that "needs to exist, but doesn't need to be older". I don't think we need a bootstrap-emacs in a released version at all. We could add some file to the tarball, generated at make-dist time, to signal that bootstrap-emacs is not needed. That file could actually be named `bootstrap-emacs', which should resolve the problem nicely (assuming we manage to have it older than the oldest .elc file).