From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#62762: circular dependencies in elisp files and make Date: Sat, 13 May 2023 11:46:13 +0300 Message-ID: <83y1lsaaay.fsf@gnu.org> References: <17b74a48-94e1-9106-cc79-d31972313910@gutov.dev> <87sfcfdldt.fsf@localhost> <87bkj1g10g.fsf@localhost> <1c5d0ff0-5bae-1123-d2f7-64d9013fbc0f@gmail.com> <6070e598-7dee-1b7a-7f97-26a90618cb7a@gmail.com> <64a61548-e343-992f-d193-d8ff4fe0623b@gmail.com> <831qjvjmw5.fsf@gnu.org> <48f15926-d002-877b-1d01-3a607fe42b76@gmail.com> <83v8h7hxlj.fsf@gnu.org> <38c89611-a929-1869-e70d-983bd7edad14@gmail.com> <83jzxnhv2o.fsf@gnu.org> <59ccf87f-effb-2168-2c17-34d950060b1b@gmail.com> <83354aixqy.fsf@gnu.org> <3ce7d18d-8190-a379-f503-5b0fef1dcb88@gmail.com> <831qjuisa4.fsf@gnu.org> <83y1lu505p.fsf@gnu.org> <9d8db5af-1917-1d0a-0360-ac122e137a53@gmail.com> <83ttwhbn7b.fsf@gnu.org> <9aa7edb6-c6c4-39ad-4302-371e5e58b4f6@gmail.com> <83sfc1bkt3.fsf@gnu.org> <83zg68afn9.fsf@gnu.org> <16f3f59c-ce2c-2b0d-fe56-8a85b79a1b3f@gmail.com> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="32922"; mail-complaints-to="usenet@ciao.gmane.io" Cc: yantar92@posteo.net, 62762@debbugs.gnu.org, bzg@gnu.org, dmitry@gutov.dev, monnier@iro.umontreal.ca, acm@muc.de To: Max Nikulin Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sat May 13 10:47:18 2023 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pxkuJ-0008Ie-M1 for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 13 May 2023 10:47:15 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pxkuA-0000Po-O8; Sat, 13 May 2023 04:47:06 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pxkuA-0000Pf-23 for bug-gnu-emacs@gnu.org; Sat, 13 May 2023 04:47:06 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pxku5-0003Li-Oc for bug-gnu-emacs@gnu.org; Sat, 13 May 2023 04:47:05 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pxku5-00053T-IU for bug-gnu-emacs@gnu.org; Sat, 13 May 2023 04:47:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 13 May 2023 08:47:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62762 X-GNU-PR-Package: emacs Original-Received: via spool by 62762-submit@debbugs.gnu.org id=B62762.168396758619383 (code B ref 62762); Sat, 13 May 2023 08:47:01 +0000 Original-Received: (at 62762) by debbugs.gnu.org; 13 May 2023 08:46:26 +0000 Original-Received: from localhost ([127.0.0.1]:35819 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pxktV-00052Y-V6 for submit@debbugs.gnu.org; Sat, 13 May 2023 04:46:26 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:53578) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pxktT-00052H-64 for 62762@debbugs.gnu.org; Sat, 13 May 2023 04:46:23 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pxktM-0003Cr-8x; Sat, 13 May 2023 04:46:16 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=OoUk4CgqSHDfKSWYelpInGe9MMr2R5A5KWgwKr3yESg=; b=AVPDeXPb6Uf6 MpI9ZWPYYO9V5Z/jY9N9xomTJSSUZfK1NoS/6B62L1m8BqfL2ljc1hxsjC+sVrkPlrg+IJT9oJ1WM BEvLqg/IykxYKFLoDN1FGLEXManARaizm8WDy0sA8f0jXu4fiodgw4tpj6KG89OK8diCzoP3IUsS/ ZQ1PaiVYhORTRh9cwlPXuhucAscsFytZiaPy7Y9A92z7k7AnPUefrIX1/I+5I/M4JJtJQOWPftARb vLydeQeo+Wl0XQFe8kcGqlcC9hSz7fOUM+Xi2aF4l3AgCLSptQrMawump+lN5PBcLKPGGapQqbPds PsCYMfZ3Nf+JEMp243EHvw==; Original-Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pxktK-00076M-Sr; Sat, 13 May 2023 04:46:16 -0400 In-Reply-To: <16f3f59c-ce2c-2b0d-fe56-8a85b79a1b3f@gmail.com> (message from Max Nikulin on Sat, 13 May 2023 14:34:06 +0700) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:261673 Archived-At: > Date: Sat, 13 May 2023 14:34:06 +0700 > Cc: monnier@iro.umontreal.ca, yantar92@posteo.net, bzg@gnu.org, > dmitry@gutov.dev, 62762@debbugs.gnu.org, acm@muc.de > From: Max Nikulin > > 1. A script reads dependency files (if they exist) created during > previous build and removes stale .elc files. This will break if the updated files have different dependencies. You need to recreate the dependencies each build. Also, it is not clear what is the plan for the macros. If one of the macros used during byte compilation changes in incompatible ways, trying to byte-compile using Emacs which preloaded the previous (outdated) definition of the macro will fail. So some changes need also to generate a new Emacs binary, not just byte-compile in the right order. > 2. Normal "make" pass that takes into account dependency between files > for ordering of compile commands. Dependency files are created or > updated as a side-effect of compilation. > > Likely it is reasonable to split stage 2 into steps similar to current > targets like main-first and mark most of files as dependent on a target > that (throw its dependencies) compiles files required for byte compilation. What is the plan for the various autoloads files? They depend on all the files, and many (all?) files depend on them.