Hi Patrick,
On 28.10.20 11:09, Patrick Georgi via flashrom wrote:
I just pushed https://review.coreboot.org/c/flashrom/+/46875 for review which replaces the make based build process with a call to use meson instead. The rationale is that the project is too small to warrant having two build systems.
thanks for the heads-up. IMHO, if we lack resources, we should drop Meson instead, it seems there's a lot to do still and with the same amount of effort, we could maintain Make for some years.
There are likely reasons left to use make (e.g. build configurations not yet supported by meson), so please consider this mainly an opportunity to discuss where flashrom's build process is headed, a warning that make _may_ be on the way out and a call to action to improve the meson build system to the point where it covers all build configurations.
TL;DR We're currently able to build for libpayload, DOS, Windows (natively, because there are native libraries involved for at least one programmer) and MacOS. Please don't break that.
I have to admit, I'm strongly biased towards Make here. Not because I don't like Meson, more because for flashrom it adds something with- out stating why. There were some vague requirements mentioned when Richard originally proposed Meson, and that the Makefile would have to be hacked otherwise, but nothing specific.
Meson, AFAIUI, is not a replacement for Make. It's more an alternative to the likes of GNU autotools and CMake, that don't build a program, but generate Makefiles. Meson doesn't produce Makefiles, instead it has a backend for Ninja which does Make's job then, AIUI.
So we didn't need these things before. Why do we need them now? (I don't want to imply that we don't need it, really just want to have the question answered. Sometimes things end in chaos when a solution is provided before a problem was stated.)
In my personal experience, Meson seems harder to maintain. But that's mostly because of two things: I'm used to Make, and Meson (itself and the integration in flashrom) is young. So how about you bring the Meson build up-to-speed first? and once it's able to produce the same binaries on all platforms decide if it's working out?
Nico