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.devel Subject: Re: Project out of sources compilation Date: Sun, 17 Mar 2024 19:38:16 +0200 Message-ID: <86y1ag4v3r.fsf@gnu.org> References: <4wwljrdnra3bsloehioa46y24ozxajajmvf2elvskxxq3mhtg2.ref@pyv2z5snot6h> <4wwljrdnra3bsloehioa46y24ozxajajmvf2elvskxxq3mhtg2@pyv2z5snot6h> <5e04b699-6a0a-45ef-92cc-2115b58a869e@gutov.dev> <9098131B-AFBE-4978-B679-4C1D5507F55E@aol.com> <865xxl5jrq.fsf@gnu.org> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="15369"; mail-complaints-to="usenet@ciao.gmane.io" Cc: dmitry@gutov.dev, emacs-devel@gnu.org To: Ergus Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun Mar 17 18:38:50 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 1rluTB-0003qc-U0 for ged-emacs-devel@m.gmane-mx.org; Sun, 17 Mar 2024 18:38:50 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rluSi-0008Mo-HU; Sun, 17 Mar 2024 13:38: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 1rluSh-0008Mb-MY for emacs-devel@gnu.org; Sun, 17 Mar 2024 13:38:19 -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 1rluSh-00062n-E2; Sun, 17 Mar 2024 13:38:19 -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=vK5dY15ae1xEM3S4u6pSrJsYkgDiue0YYjYHBfpwJL0=; b=E2m8KYBZ2JZf riV3fuyZDa6qbJ6ib0B6mRbCb4sL+CnQqrn9GKARHKqawGEIhxHhCWqViu+uQvbpRP7axaTGIDNlA adaLS/+osEeQXYcTcquf2YLfMZb4tTyqd/zf4aGlZ70ooufivXhJIWdbP+3ujPBti/Wlrp69t/5fT pyW/sB670C9ieTXbBG3QCvZq+k/Y+UE0iHM82V4dqW7Vxo0V/yiKqbQcvUpFbMcBI8p4ORU5fCGur ShYmqNj8AloGDcyz5c4RE145drV6dmSKElrX27dWZwm/3sLhH9AoXiG0FeMcBobnR7ZXiI3WxSVds woI14uYJIwIy4rXLMLBgIA==; In-Reply-To: (message from Ergus on Sun, 17 Mar 2024 18:33:21 +0100) 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:317143 Archived-At: > 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?