From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.cc-mode.general,gmane.emacs.devel Subject: Re: Compilation order. Help with makefiles, please! Date: Fri, 31 Aug 2007 10:16:48 -0400 Message-ID: References: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: sea.gmane.org 1188569826 6180 80.91.229.12 (31 Aug 2007 14:17:06 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Fri, 31 Aug 2007 14:17:06 +0000 (UTC) Cc: bug-cc-mode@gnu.org, acm@muc.de, rms@gnu.org, emacs-devel@gnu.org To: Alan Mackenzie_JWA Original-X-From: cc-mode-help-bounces@lists.sourceforge.net Fri Aug 31 16:17:04 2007 Return-path: Envelope-to: sf-cc-mode-help@m.gmane.org Original-Received: from lists-outbound.sourceforge.net ([66.35.250.225]) by lo.gmane.org with esmtp (Exim 4.50) id 1IR7Iz-0001nc-CW for sf-cc-mode-help@m.gmane.org; Fri, 31 Aug 2007 16:17:01 +0200 Original-Received: from sc8-sf-list1-new.sourceforge.net (sc8-sf-list1-new-b.sourceforge.net [10.3.1.93]) by sc8-sf-spam2.sourceforge.net (Postfix) with ESMTP id 804E313662; Fri, 31 Aug 2007 07:17:00 -0700 (PDT) Original-Received: from sc8-sf-mx1-b.sourceforge.net ([10.3.1.91] helo=mail.sourceforge.net) by sc8-sf-list1-new.sourceforge.net with esmtp (Exim 4.43) id 1IR7Iw-00053D-9D for cc-mode-help@lists.sourceforge.net; Fri, 31 Aug 2007 07:16:58 -0700 Original-Received: from fencepost.gnu.org ([140.186.70.10]) by mail.sourceforge.net with esmtps (TLSv1:AES256-SHA:256) (Exim 4.44) id 1IR7Iv-0008R5-KP for cc-mode-help@lists.sourceforge.net; Fri, 31 Aug 2007 07:16:58 -0700 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by fencepost.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1IR7Ik-0004U0-E2 for bug-cc-mode@gnu.org; Fri, 31 Aug 2007 10:16:46 -0400 Original-Received: from Debian-exim by monty-python.gnu.org with spam-scanned (Exim 4.60) (envelope-from ) id 1IR7Ir-0004qE-Fm for bug-cc-mode@gnu.org; Fri, 31 Aug 2007 10:16:55 -0400 X-Spam-Checker-Version: SpamAssassin 3.1.0 (2005-09-13) on monty-python X-Spam-Level: * X-Spam-Status: No, score=1.5 required=5.0 tests=SPF_SOFTFAIL autolearn=no version=3.1.0 Original-Received: from x-132-204-254-24.xtpr.umontreal.ca ([132.204.254.24] helo=ceviche.home) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1IR7Iq-0004pV-W6; Fri, 31 Aug 2007 10:16:53 -0400 Original-Received: by ceviche.home (Postfix, from userid 20848) id EC493B462C; Fri, 31 Aug 2007 10:16:48 -0400 (EDT) In-Reply-To: (Alan Mackenzie's message of "Fri\, 31 Aug 2007 10\:57\:38 +0200") User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1.50 (gnu/linux) X-Detected-Kernel: Linux 2.6 (newer, 3) X-Spam-Score: 1.0 (+) X-Spam-Report: Spam Filtering performed by sourceforge.net. See http://spamassassin.org/tag/ for more details. Report problems to http://sf.net/tracker/?func=add&group_id=1&atid=200001 1.0 FORGED_RCVD_HELO Received: contains a forged HELO X-BeenThere: cc-mode-help@lists.sourceforge.net X-Mailman-Version: 2.1.8 Precedence: list List-Id: "Bug reports, feature requests, and general talk about CC Mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: cc-mode-help-bounces@lists.sourceforge.net Errors-To: cc-mode-help-bounces@lists.sourceforge.net Xref: news.gmane.org gmane.emacs.cc-mode.general:4717 gmane.emacs.devel:77489 Archived-At: >> An "easy" solution is to prefer reading the newer .el files rather >> than the older .elc when `requiring' a file during >> byte-compilation. > Stefan, the essential issue here is to ensure that cc-{mode,engine}.el > actually get recompiled after a change in cc-langs.el. This needs stuff > in the makefile. Yes, that's another part of the problemn indeed. My suggestion just removes the need to compile cc-langs.el before compiling cc-engine.el but doesn't help making sure that cc-engine.el gets recompiled at all. This requires something in the Makefile, but we could extract it (semi-)automatically by doing a makedepend kind of thing (I had written such a trick which looks for `require's and `provide's to build the dependencies: it does suffer from circular dependencies, so either we'd have to live with complaints from `make' or we'd have to break those dependencies manually). We could also tweak the byte-compiler to do something like what "gcc -MD" does, but I suspect this would also suffer from circular dependencies. Stefan ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/