Porting Mesa/Libdrm's Build System To Meson Brings Up Controversy

Written by Michael Larabel in Mesa on 21 March 2017 at 01:07 PM EDT. 26 Comments
Last week an independent developer proposed replacing the build system of libdrm -- the DRM library that sits between Mesa and the Linux kernel DRM -- to using the Meson build system as a potential replacement to using Autotools. That has led to another colorful discussion around build systems.

Dylan Baker's RFC patches can be found on the dri-devel list and the discussion that ensued. He argues that the build system with Meson would be better since it's written in Python, Meson makes use of Ninja rather than CMake, its syntax is arguably simpler, and it's quicker. Dylan found that his build times dropped from 26 seconds to 13 seconds when going from Autotools to Meson. When making use of ccache, the build times dropped from 13 seconds to 2 seconds. He also mentioned he's planning on porting Mesa's Autotools/CMake build system over to Meson.

Among the comments that were generated by upstream developers:

- Autotools is really good for a simple "./configure --help" to find out the build options and it's also good with cross-compilation support. Meson has an alternative means though of viewing the help information and it can also handle cross-compiling albeit it's arguably more complicated than Autotool's support.

- Concerns were raised that Meson's use of Ninja is a problem since currently Ninja redirects all output to stdout rather than errors going to stderr, which can cause issues for some developers/environments.

- In a follow-up message, Baker commented he's more concerned about landing Meson support in Mesa rather than libdrm. Faster build performance and better Microsoft Visual Studio support were argued as the main motivation.

- The lack of Meson on BSDs, Solaris, and Android is a problem.

- There is certainly interest by upstream developers in having a single, maintained build system and also more unified Windows/Linux build support, but getting there is the challenge.

- VMware remains tied to Mesa's SCons build system due to their Windows builds. Brian Paul may investigate the possibility that they could switch to using Meson.

And a lot of other developers sharing their two cents and remarks about build systems. Those interested in build system discussions can continue reading on dri-devel.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week