From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: Two strange messages while building Emacs on MS-Windows Date: Fri, 07 Dec 2012 16:35:51 -0500 Message-ID: References: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1354916158 5270 80.91.229.3 (7 Dec 2012 21:35:58 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 7 Dec 2012 21:35:58 +0000 (UTC) Cc: Emacs development discussions To: Dani Moncayo Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Dec 07 22:36:11 2012 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Th5aa-0007q8-61 for ged-emacs-devel@m.gmane.org; Fri, 07 Dec 2012 22:36:08 +0100 Original-Received: from localhost ([::1]:56280 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Th5aN-0005Pz-UL for ged-emacs-devel@m.gmane.org; Fri, 07 Dec 2012 16:35:55 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:37074) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Th5aL-0005Pr-O4 for emacs-devel@gnu.org; Fri, 07 Dec 2012 16:35:54 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Th5aK-0001Dr-PY for emacs-devel@gnu.org; Fri, 07 Dec 2012 16:35:53 -0500 Original-Received: from ironport2-out.teksavvy.com ([206.248.154.182]:28337) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Th5aK-0001Dn-J5; Fri, 07 Dec 2012 16:35:52 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av0EAG6Zu09soXOY/2dsb2JhbABEtBGBCIIVAQEEAVYjBQsLDiYSFBgNJIgcBboJkEQDiEKacYFYgwc X-IronPort-AV: E=Sophos;i="4.75,637,1330923600"; d="scan'208";a="209326609" Original-Received: from 108-161-115-152.dsl.teksavvy.com (HELO pastel.home) ([108.161.115.152]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 07 Dec 2012 16:35:51 -0500 Original-Received: by pastel.home (Postfix, from userid 20848) id 5F19E58D3B; Fri, 7 Dec 2012 16:35:51 -0500 (EST) In-Reply-To: (Dani Moncayo's message of "Fri, 7 Dec 2012 21:17:04 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 206.248.154.182 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 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-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:155350 Archived-At: > But, why the makefiles don't take care all necessary recompilations? Several reasons: - there is no tool that extracts dependencies between Elisp files, so we don't have the needed dependency data. - if you try to make such a tool you'll find that we have a lot of (apparently) circular dependencies. - unless the dependency management is very clever, it will tend to recompile everything whenever a change is made to one of the "core" files. E.g.: the .elc files depend on bytecomp.elc. bytecomp.elc is generated from the "emacs" executable which required many elisp files like subr.el(c), mule.el(c), help.el(c), so any change to one of these files causes generation of a new "emacs" executable, which in turn would cause recompilation of bytecomp.elc and (pretty much) all other .elc files. So the "naive right way" quickly degenerates to something very close to "make bootstrap". But in 99% of the cases, only the modified files require recompilation, so the default is to be incorrect. Hopefully, at some point, we'll be able to do better. Stefan