Thread (8 messages) 8 messages, 3 authors, 2022-12-06

Re: [libgpiod]: Meson wrap for libgpiod

From: Bartosz Gołaszewski <hidden>
Date: 2021-08-13 07:45:12

pt., 13 sie 2021 o 04:24 Andrew Jeffery [off-list ref] napisał(a):
Hi Bartosz,

I use libgpiod as part of supporting various platforms in
OpenBMC[1][2], among other things. OpenBMC generally targets ARM SoCs,
and this means cross-compiling applications and their dependencies as
part of the day-to-day work.

While cross-compilation for (complex) userspace can be achieved using
distro systems like buildroot and openembedded/bitbake or their SDKs,
the meson build system[3] provides dependency resolution and (cross)
builds as explicit features through subprojects[4] and the wrap package
system[5]. In my experience, these features are compelling.

To help me develop userspace applications that depend on libgpiod I've
opened a pull-request against meson's wrap database[6] to add libgpiod
support for v1.6.3:

https://github.com/mesonbuild/wrapdb/pull/130

Meson overlays this reimplementation of the build system along side the
source as shipped in the tag, enabling meson dependency management
without any impact on the upstream project. However, as you might
guess, the wrap implementation is non-trivial as it transliterates the
autotools scripts. While maintenance of this approach doesn't require
any work on your part, it does have to adapt as the autotools scripts
change. As such:

How do you feel about switching from autotools to meson for the build
system of libgpiod?
My main concern is this: I know autotools and feel comfortable using
it. I don't know meson and would most likely struggle trying to
maintain this new build system. Does it make any sense to have two
build systems supported at the same time? Possibly with meson files in
a special 'contrib' directory so that we make it clear it's a
secondary build system and may not work when something in the
autotools change?

Maybe this way I'll get used to it and we'll change eventually? Does
this make sense?

Bart
If this is something you're interested in we can rebase the work in the
pull-request above on libgpiod master and have something that's mostly
ready. If you're not interested, I can at least carry on maintaining
the wrap, but I felt like it was worth asking the question :)

Interested in your thoughts!

Andrew

[1] https://www.openbmc.org/
[2] https://github.com/openbmc/openbmc/
[3] https://mesonbuild.com/
[4] https://mesonbuild.com/Subprojects.html
[5] https://mesonbuild.com/Wrap-dependency-system-manual.html
[6] https://mesonbuild.com/Wrapdb-projects.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help