From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Ergus Newsgroups: gmane.emacs.devel Subject: Re: Project out of sources compilation Date: Sun, 17 Mar 2024 18:58:57 +0100 Message-ID: References: <4wwljrdnra3bsloehioa46y24ozxajajmvf2elvskxxq3mhtg2.ref@pyv2z5snot6h> <4wwljrdnra3bsloehioa46y24ozxajajmvf2elvskxxq3mhtg2@pyv2z5snot6h> <5e04b699-6a0a-45ef-92cc-2115b58a869e@gutov.dev> <9098131B-AFBE-4978-B679-4C1D5507F55E@aol.com> <865xxl5jrq.fsf@gnu.org> <86y1ag4v3r.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="38773"; mail-complaints-to="usenet@ciao.gmane.io" Cc: dmitry@gutov.dev, emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun Mar 17 19:00:27 2024 Return-path: Envelope-to: ged-emacs-devel@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 1rluo7-0009sc-09 for ged-emacs-devel@m.gmane-mx.org; Sun, 17 Mar 2024 19:00:27 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rlun2-00067B-6n; Sun, 17 Mar 2024 13:59:20 -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 1rlumz-00066u-3p for emacs-devel@gnu.org; Sun, 17 Mar 2024 13:59:17 -0400 Original-Received: from sonic316-11.consmr.mail.bf2.yahoo.com ([74.6.130.121]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rlumw-000182-D2 for emacs-devel@gnu.org; Sun, 17 Mar 2024 13:59:16 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aol.com; s=a2048; t=1710698343; bh=JWyKQKGBmPHthU8bK9mLU54ebxfVbSe3axbxCOrNeNI=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From:Subject:Reply-To; b=GlUJn2VDW+iSvOLWkAbbCt0w0nAflWtMCy6k+tF7wN0G93OJTyGWPSZcXlaTmDRoOwsJb2rMng4oGZqZH9j5zIpvwD3DCaX+UmGyc8ZoZ3iE8prFL7Ev9JKXHOBuYZKbRfYEI+4RmUysyaOmGDCgUVGwio0y6/w5TGRm/5VyjEqAYfoGM2Eqo3MVWLd23Usg2Hial04J3Z0wLWxcaGZk/Aq12o1+Izx7zX+KqAfy6xiZZxqk2Mk5J8upwONyUwr+H05rXkSt/JXgDskZt9zaEV0pz2JP/bmlUvgOD6wwYYuz9xEOoYBrfgp8ImPaHJ0flso/ZwiHDDQA4THQiXtf1g== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1710698343; bh=kCQVbfBO/Jg/Q0NumqI69KOwQGH32njapzKXIwb3RSW=; h=X-Sonic-MF:Date:From:To:Subject:From:Subject; b=ZrKEPRa9SdqREFEpve9wbBzciUyIlks6k49w/XU6z2mEMqYIqH9A41nN+HHIrmKgdkvAqjvzv7eHtwFyAbF8ZTV3h8mwkkkAyV4AzmOR4A77N9yOElQxMuWKN1/97CpKUOSCppGZhfELHK/I0hWyYbfv5gMkmo3ofQzXFkB7SEumqgs1mgrGdK7MLN2JOKG4FteFUGdunmaXC3ZtoMGPQnJuF0EoDe/zxiO4E5yEdZIcwpLhQ7UQRH0uJ8xhMhwllRdC+htkwQ/BhYa7j6YmIE67XGnCzX6R9I1aDkDON4geiidDQczoAD2S47Sa1OF1Oz01SBpCFtKimXwiSv5lHw== X-YMail-OSG: 9MNd6GcVM1nbwRc..iheT2N9AmTLQIZFox1rqetmLWr0ssCxZCm3K4_yS5DjlfQ pzXQfo_Ky0PSGragfYFNecBq.UHXUp4qb.FeNtP_iQotpjehtmSGh23MGZgdkFe3wLAPyqnhw8Iw lcbp6l4Jk06sL6IJyDLkCyMoslUQaJcs14iW7ZfAnAdZg5Cqb8954mTMXWbQZeMh.yPRjK6okriG 2CbOPgZSAaXvin.LqcSp2Xhp4jLaW01nxYLIMrs5J8GyaAk9s_Fa2N7MMBTbYsxRAec4zzqWfKQz Yg_P_77HEAw56apjCfXVN5buH0ykrsN80WDKQcZnnfjPLIZLU4hU_HsdzUdpRyJ8lIHrpubCQCV5 bsW0FlTJR6uNBJ_iTUw0Vj8ZJ2.2KgZ0ZjEiYaQb2gwiYsDuqARdRJmScw8i6Ca.V15BYUQATc3f dd7ygFMnwvUxeie4PXQjjAiJh3K.7n5YarwRUnb62N18iiINQY0pnLzQlozjANAokKLsAStCn786 S8v7pgq5ZNJMlQ1RYSKU2TmGAKskQs3JkPO85XmCkE3LHkZFpicFH_9HzoribQVoKCxGJU98Sv3D _EcYtswjDY2x3S2jKAx1AiT.JHpSljVeWgwjkt4ZTlCWA8GrWPtW.SgZa2Kn0MCIowIOqzJDUIPc sypvi3VgTRttVEGn6D0uUO7L5TPNYq5r_NGHAjp37KaG.R52A6Igl3OLZ3Twm8xOgPvfiy7ejaWi lXWvE_YYx_3ZBH0d6FI4LhRizFus29nxpnLd4V2zDNU.ax.hfMCv.AaV47TvmumOpgOSYHwIcoIh K21yeDl5hmWmyOxxdHsHvVYu7oicbgjRaXDhC_uK8x X-Sonic-MF: X-Sonic-ID: 8b3a1dea-4cf3-4abb-8b77-adc2692397cf Original-Received: from sonic.gate.mail.ne1.yahoo.com by sonic316.consmr.mail.bf2.yahoo.com with HTTP; Sun, 17 Mar 2024 17:59:03 +0000 Original-Received: by hermes--production-ir2-7bc88bfc75-h6nxx (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 8482873dfb221d202f3dbc45cf1139d7; Sun, 17 Mar 2024 17:59:00 +0000 (UTC) Content-Disposition: inline In-Reply-To: <86y1ag4v3r.fsf@gnu.org> X-Mailer: WebService/1.1.22129 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.aol Received-SPF: pass client-ip=74.6.130.121; envelope-from=spacibba@aol.com; helo=sonic316-11.consmr.mail.bf2.yahoo.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 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-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:317146 Archived-At: On Sun, Mar 17, 2024 at 07:38:16PM +0200, Eli Zaretskii wrote: >> Date: Sun, 17 Mar 2024 18:33:21 +0100 >> From: Ergus >> Cc: dmitry@gutov.dev, emacs-devel@gnu.org >> >> >Maybe I'm missing something, but isn't the build tree just one more >> >tree that is part of the project? If so, can't you use >> >project-external-roots to add this tree to the project? I thought >> >this was the mechanism to add trees to a project as included in the >> >original design of project.el and its support in Emacs? >> > >> >> >> There is also some need for a 'bin' dir, that is, where the final executable will reside, useful to execute and debug with tools like gud and independent from 'build'... For example in a python project this may be the project root OR where the file with __main__ resides, but a python project usually won't specify a build dir. But let's go for one thing at a time. >> > >> >Likewise here. >> > >> >Or what am I missing? >> >> Hi Eli: >> >> More or less we have it, that's why I said that there was just some >> (small) missing pieces. >> >> We have the `project-external-roots`, but project.el uses them only to >> find files and regexps. So it looks like they are intended to be source >> places somehow. >> >> The compile or debug programs doesn't know that they are intended to >> execute there. >> >> However, a `build` or `bin` are different because they are where the >> `compile` or `gud` are intended to run; generally not a place to search >> for sources (unless the source is generated like config.h). > >Are you saying that "M-x compile" and "M-x gdb" are not (yet) >supported by project.el? > Kind of. There is project-compile, but executes in the root directory. And M-x compile does not have any custom to control the execution place, so it needs to do a let around it. something similar happen to gdb, or project-eshell. So, what is not actually supported is out of sources compilation/execution. In the first email I explained that part. Even Eglot requires extra work to function properly.