-
Emmanuele Bassi authored
Ninja-based modules, like MesonModule and CMakeModule, need a way to control the arguments passed to Ninja — mostly, the ability to set the `-j 1` argument to disable parallel builds. We tried with commit f8c05196 to overload makeargs for that, but it had to be reverted because, unsurprisingly, make and ninja have different ideas about what arguments are valid, and jhbuild has global options for Make arguments. Let's try again, this time introducing a NinjaModule base class, in parallel to the existing MakeModule one; the NinjaModule class can do all the Ninja discovery and execution, and control the configuration options — both global and per module. The MesonModule class can inherit straight from NinjaModule, thus removing all the ad hoc code that used MakeModule for the set up, but then ignored its `make()` method. The CMakeModule is a bit of a nasty case, as CMake can have both a Make and a Ninja backend, which means we need to inherit from MakeModule and NinjaModule; luckily, both MakeModule and NinjaModule inherit from the shared Package class, so we don't have conflicting initializations. https://bugzilla.gnome.org/show_bug.cgi?id=782320
57d00a93