Re: [RFC PATCH v4 00/19] Modernize the build system
- From
Patrick Steinhardt <ps@pks.im>
- Date
- Nov 14, 2024, 08:15 UTC
- Message-ID
- <ZzWxvnn3Vu0rW7_A@pks.im>
- In-Reply-To
- <a2b5e007-776f-4c70-bd8b-38f1ec9808e3@gentoo.org>
On Wed, Nov 13, 2024 at 11:46:32PM -0500, Eli Schwartz wrote:
Show 24 quoted lines
> On 11/13/24 11:24 PM, Junio C Hamano wrote: > > Is there a way to disable that? These symbolic-links pretending to > > be installed files are quite annoying---when the target file is lost, > > the links become useless. > > INSTALL_SYMLINKS=1 in the existing Makefile is of course the one true > way... (and really, why would you expect the target file to be lost for > any reason). > > That being said, it doesn't appear the patch series implements any of > the other multiplicity of choice in what kind of filesystem object gets > used for multiple copies of the same file. No hardlink or copy support > has been rigged up. > > (Meson doesn't have a builtin function for performing hardlinks, by the > way. I don't really think I've seen people desire to do this outside of > one project being discussed right here right now. hardlinks are mainly > good at fooling people who look at them into not understanding the > association between the two, and at breaking across multiple > filesystems. It's definitely impossible to get it right automatically, > and asking users to make an informed choice here is just not something > that projects other than git seem to find valuable, for whatever reason. > So basically, it's fairly understandable that meson hasn't previously > added hardlink support.)
Yeah, for now we exclusively use symlinks for this and I didn't wire up an alternative. This was mostly to keep things simple while still ending up with a fully functional Git distribution. I also couldn't think of a scenario where symlinks would be an issue -- Meson also supports them on Windows, so that would not be an issue.
If this is a requirement I can adapt though. While Meson does not support hardlinks natively, we can of of course manually wire up them if required.
Patrick