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: [PATCH] Project out of sources compilation Date: Thu, 04 Apr 2024 21:56:28 +0300 Message-ID: <86wmpd5543.fsf@gnu.org> References: <86r0fm8n3j.fsf@gnu.org> <21199757e8643ad0f4924b442c0371ae24afe84e.camel@yandex.ru> <86jzle8fx5.fsf@gnu.org> <99b6071c01ae83b9cdc418c467a7e95b6940b5c5.camel@yandex.ru> <86bk6p8zqs.fsf@gnu.org> <86ttkh72zk.fsf@gnu.org> <6chbxwpo3lhq5jjgifburel2nnzancwoiaybmqx5b344rwfsdv@b45k3iangbpw> <86jzld701x.fsf@gnu.org> <5jwkse5xf5hslc73yjcnc55akutz5gyhrvqnr7xpuvqvi6qz2n@4zly7ryvfc7j> <867chd6vgp.fsf@gnu.org> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="33669"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org, Hi-Angel@yandex.ru, rms@gnu.org, dmitry@gutov.dev To: Ergus Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Apr 04 20:57:22 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 1rsSH3-0008Rj-CM for ged-emacs-devel@m.gmane-mx.org; Thu, 04 Apr 2024 20:57:21 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rsSGX-0002qZ-AT; Thu, 04 Apr 2024 14:56:49 -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 1rsSGQ-0002mv-3r for emacs-devel@gnu.org; Thu, 04 Apr 2024 14:56:42 -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 1rsSGP-00045g-Gx; Thu, 04 Apr 2024 14:56:41 -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=immd9UHx3lIs/KWkWZabrZMDTrVkhShS20De2Qw4ljo=; b=D3c+T6YLk5gE BMItAVpiIOAL4I/D3yjMvk3gTl3danLF43dTaSO2Mk0kK5r0Jgejb1G1/lJbly1oIq55grrwVjadY wLliBpLsLHiiGDVyCD4ImsHbqPGKRms7rGiDWkUP2YsiQ7LfxUcIXW2IFS3++GQtp+hShkZLFE/nQ 8Z6PwSv97LMnl2WOozuYrNA7/clEyakKmkfOFDZ1HpngdsUMWieN9wSkg6W5QvhHDxC1YvRlQmIzv lv0vcTCsbLjXK9oNILee90UxiDfVn5MC9bdmrLXoOkghsW7L9z6ji5a/oudsZXccr5ZB2OXb+I9+n Hw8Et7kmtr0E10lkbeOPNQ==; In-Reply-To: (message from Ergus on Thu, 04 Apr 2024 20:15:56 +0200) 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:317528 Archived-At: > Date: Thu, 04 Apr 2024 20:15:56 +0200 > From: Ergus > CC: Hi-Angel@yandex.ru, rms@gnu.org, dmitry@gutov.dev > > >> Exactly, so this is not OOSC and does not behave as expected in > >> OOSC. > > > >No, it isn't. Not many programs at all support running uninstalled. > > All CMake and Meson programs do it by default. Mainly because they also provide test features where the executables are supposed to be tested before calling install or pack. I don't see how CMake or Meson can make a program run uninstalled, unless the program already provides the necessary features for doing so. Imagine a program that needs to read some data files, which it expects to find in a directory under /usr/share whose absolute file name is hard-coded into it, as determined from --prefix at configure time. Such a program cannot run uninstalled, because the files in /usr/share are not yet installed. Emacs needs to know where to find the Lisp files it loads on demand. If those files are in the place configured via --prefix, they can be found easily, but if Emacs runs uninstalled, the Lisp files are not there, and Emacs needs to find them somehow. Unless someone writes code to look for them in the right places, there's no way CMake or Meson or any other general-purpose tool could fix that.