Hi,
On Sun, Jul 21, 2019 at 09:45:50PM -0700, Nathan Singer wrote:
Over the last few days, I've been toying with the idea of converting the existing build system for wine from autotools over to mesonbuild for the additional flexibility in dependency compilation (i.e. autobuilding dependencies as subprojects via wrapdb if shared libraries are not present).
Wine is a bit special, because it builds "winegcc", which is then subsequently used as a compiler, and it also builds 32 and 64 bit code in one invocation.
Autoconf handles this quite nicely, because it allows subdirectories to be configured for different targets. This also allows cross-compilation, basically for free.
Pulling in dependencies automatically is less of an interesting use case than you think. Most users will get Wine through their Linux distribution, and the very first thing distribution maintainers do is turn off all of that automation, and remove any copies of third-party libraries to avoid accidentally linking against them instead of the "official" version that receives security support.
The most useful thing you can give users is a quickstart guide that has readymade commands to install the required build dependencies for the ten most popular Linux distributions. The second most useful thing would be a Dockerfile.
Meson might have other potential benefits that might make it worth looking at, but I believe (I'm not much of a contributor after fixing Fiber support for SPARC at some time in the early naughties) that getting this to work without regressions will be difficult.
Simon