On Thu, Dec 8, 2022 at 5:23 AM Andrew Jeffery <andrew@xxxxxxxx> wrote: > > > > On Tue, 6 Dec 2022, at 05:25, Bartosz Golaszewski wrote: > > On Mon, Dec 5, 2022 at 2:22 PM Andrew Jeffery <andrew@xxxxxxxx> wrote: > >> > >> Hello, > >> > >> Based on a recent poke [1] and in-between meetings I've put together a > >> WIP series that converts libgpiod's build from autotools to meson. As > >> far as I'm aware the meson build supports all the significant options to > >> enable or disable features exposed by the autotools build: > >> > >> * Tests > >> * Tools > >> * Interactive gpioset > >> * Bindings > >> * C++ > >> * Python > >> * Rust > >> * Documentation > >> * Manpages > >> * Doxygen > >> > >> [1] https://lore.kernel.org/all/CAMRc=Mda8UnyH+_GxeX_4MyKd+DPN0BVH5K+J+VWnMJNC1vwTQ@xxxxxxxxxxxxxx/ > >> > >> Meson has pretty good support for handling python and so the patch does > >> away with setup.py entirely. > > > > Eek! No, please do keep setup.py. Autotools too is capable of building > > python C extensions on its own and it's what we use in v1 but I want > > the python code to be built the standard python way. I actually plan > > to post libgpiod v2 on pypi and split out building python bindings > > into a separate bitbake recipe in meta-openembedded using the > > setuptools3 class. > > > > So let's keep setup.py and just call it from meson. > > I've poked at this for a little while and it's not a great experience. > Meson's design pushes back against calling out in this way, and I don't > really have the motivation to carry on fighting it to make it do what > you request. Unless someone else has that motivation, I think there are > two options if meson is still desired: > > 1. Use the meson python support as posted in this series > 2. Split out the python (and probably rust) bindings, keeping the > dependency relationships pointing in one direction and using the > language's own package management tooling. > > Given there's nothing to do in the install phase for rust we don't have > as big of an issue there, but it is problematic for python. > > Let me know which way you want to go, including if you want to abandon > meson :) > No, I don't want to abandon it. What is the problem exactly? Is meson unable to simply add external commands to its ninja output? Bart