[PATCH rendercheck 0/5] Convert to meson.

Eric Anholt eric at anholt.net
Mon Mar 27 17:25:13 UTC 2017

Mark Kettenis <mark.kettenis at xs4all.nl> writes:

>> 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.

While I understand your frustrations with new build infrastructure
requiring changes in your OS to integrate new versions of software, it
has serious consequences for projects (as I mentioned, CI has been
intractable with autoconf) to be stuck with bad tools because of your
OS's choices.

> 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.  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.  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 don't need to check for -Wshadow because it's not on by default
(it's a bad warning).  If you want conditional cflags, they're easy.

The err.h check I apparently just mis-grepped when seeing if HAVE_ERR_H
was used.  v2 has the trivial fix (timing is indistinguishable without
rigging up compare-perf).

> 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.

As I said in the cover letter, rendercheck is the best possible case I
know of for autotools, and autotools sucks at it.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 832 bytes
Desc: not available
URL: <https://lists.x.org/archives/xorg-devel/attachments/20170327/0d6070a8/attachment.sig>

More information about the xorg-devel mailing list