Re: Meson feedback as a user
- From: Michael Catanzaro <mike catanzaro gmail com>
- To: Emmanuele Bassi <ebassi gmail com>
- Cc: Michael Biebl <mbiebl gmail com>, desktop-devel-list <desktop-devel-list gnome org>
- Subject: Re: Meson feedback as a user
- Date: Fri, 24 Nov 2017 09:04:34 -0600
All good guidelines!
On Fri, Nov 24, 2017 at 8:49 AM, Emmanuele Bassi <ebassi gmail com>
wrote:
- Try to avoid automatic feature detection; this makes it harder for
distributors and continuous integration systems to identify the
dependencies needed to build your project
I would use much stronger wording here. Automagic dependencies (meson's
auto dependencies) are *evil*, a huge number of GNOME projects used
them in their Autotools build systems, and believe some projects have
dutifully ported them over to their new Meson build systems. Please
pick reasonable true or false defaults for your project, and *fail the
build* if a dependency for a feature is missing. Make the user
explicitly disable the feature to proceed without the dependency. It's
really, really unkind to distributions, Gentoo users, and anyone
building your software to make features *silently disappear* if they
don't magically know to have a certain BuildRequires.
There are some *very rare* cases where automagic dependencies actually
do make sense. For example, WebKitGTK+ will automagically determine to
build with OpenGL ES support rather than OpenGL support if OpenGL ES is
available but not OpenGL, because in the end no feature is disabled,
and if you have one but not the other it's very likely that's the one
you intend to be used. But if neither one is installed, the build will
*fail* until you decide what to do: GL support will not just disappear
unless you explicitly turn it off.
Michael
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]