Re: [RFC PATCH v4 00/19] Modernize the build system

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Nov 13, 2024 at 09:57:55AM -0500, Eli Schwartz wrote:
> On 11/13/24 8:29 AM, Patrick Steinhardt wrote:
> > Fair. I don't really expect anybody to use the combination of muon/sumo
> > for everyday work, mostly because the usability is not quite up to par
> > with Meson/Ninja. But there are two use cases that I deem important:
> 
> (samu :P)

Heh. Just double checked that I got it correct in the docs, but seems
like I did.

> >> Thanks. I don't want to be the CMake champion, so here are a few
> >> helpful/surprising details about the Meson build to help make it better.
> >>
> >>
> >> (1) I first built w/out having "curl-config" installed. I was surprised
> >> to find that "ninja -C build install" ended up installing "bin/curl" and
> >> "bin/curl-config" into the prefix.
> >>
> >> Is there a way to have the install step only install Git without
> >> bringing along these other non-Git bits?
> > 
> > It definitely shouldn't install curl and curl-config, I'll have a look
> > at that. But other than that Meson is currently set up such that it will
> > automatically fall back to the subprojects in case certain dependencies
> > cannot be found. This can be disabled via `meson setup --wrap-mode
> > nofallback`.
> 
> https://github.com/mesonbuild/wrapdb/tree/master/subprojects/packagefiles/curl
> 
> could be updated to handle the case where meson.is_subproject() returns
> "true", by not installing tooling.
> 
> Alternatively, meson install --skip-subprojects can avoid installing
> *any* files from subprojects, on the theory that subprojects exist
> solely to provide static libraries linked into the real project.
> 
> (In theory, one could have a subproject where arbitrary data files from
> a subproject dependency are crucial at runtime. I think the gnome
> ecosystem does this, hence using GLib / Gtk as a subproject "needs" to
> install the subproject too -- but curl definitely doesn't have this
> issue...)

Yeah. `--skip-subprojects` is one way to do this, but that of course
requires the user to know about it. It would be nice if one could wire
this up in "meson.build" directly, e.g. by passing a `install: false`
flag to `dependency()`. We don't want to install any of the subprojects
as we build all of them statically and link them into the final
binaries.

Patrick




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux