[PATCH rendercheck 0/5] Convert to meson.

Kenneth Graunke kenneth at whitecape.org
Sat Mar 25 00:17:18 UTC 2017

On Friday, March 24, 2017 2:13:38 PM PDT Mark Kettenis wrote:
> > From: Eric Anholt <eric at anholt.net>
> > Date: Fri, 24 Mar 2017 13:17:45 -0700
> > 
> > Having bitten off a bit more than I can chew in 3 days with the X
> > Server (hw/xfree86/sdksyms.c is the worst), I decided to take a quick
> > pass at converting a project that's my own fault.
> Seems I missed some discussion somewhere...
> While I understand your frustrations with autoconf, moving to build
> infrastructure that relies on tools like Python and Ninja would have
> serious consequences for the way we integrate X into OpenBSD.  We
> build the entire base OS, which includes X, with tools that are part
> of the base OS.  That would become pretty much impossible if various X
> projects go this way.

For what it's worth, there are build system conversions in progress for
the X server, Weston, libinput, libdrm, and rendercheck.  GNOME is also
moving to Meson for a great many things.  So that's a very real
possibility, and one you may well have to deal with as more and more
projects consider this.  Perhaps you could include the necessary build
tool in future versions of your base OS.

> This is the first I've heard about Meson.  That in itself doesn't fill
> me with confidence.  But the Meson documentation doesn't really
> mentioned how you'd do configure-style checks like checking whether a
> particular header file is present or whether a library defines a
> certain function.
> I suspect the answer is that people using Meson don't do such tests
> and don't feel the need to do such tests because they just check
> whether you're running on Windows, MacOS X or Linux and make
> assumptions that things are present based on just that.

Meson certainly can do such checks, and people do.  It would be a pretty
lousy replacement for autoconf if it couldn't do that, and nobody would
be seriously proposing using it.  Frankly, a system with no such checks
would not even be feasible for Linux alone.  Plus, that would be a level
of bad faith that I would be surprised to see in the X community.

> Your new meson build system doesn't check whether the err.h file
> exists or whether the C compiler supports the -Wshadow option for
> example.

Sounds like you found a mistake that should be fixed. :)

> It's not really surprising that Meson is much faster if you
> cut out all those checks.  Unfortunately this approach tends to yield
> rather unportable software.
> You can probably cut quite a bit of time from the autoconf configure
> script run time by removing silly checks like checking for standard C
> headers and such.

Meson is massively faster, and inherently so.  It's not a matter of
deleting a few checks - even a crippled autoconf would be slower than
a fully functional Meson build.  There are other advantages as well...
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part.
URL: <https://lists.x.org/archives/xorg-devel/attachments/20170324/7391bdd3/attachment-0001.sig>

More information about the xorg-devel mailing list