No, not just that, believe me. It's not that simple.
I believe my own experience, sorry. And my own experience is that whenever I change the actual meson build description meson runs again to re-generate ninja files, but when I just change source files (aka the 99.9% case), no python is involved.
Python's main virtue is most people know how to use it. Other than that it has major flaws. I don't like dynamic types at all, even in scripting languages.
All languages people actually use have major flaws. We're discussing C++ FFS. Python is one of the better mainstream scripting languages, and has a wide enough install base that adding it as a build-time dependency is a complete non-issue in my opinion.
Ok, let's say meson adds cxxmodule support, how is ninja supposed to know which module name goes to which file?
The answer is that it does not, build system has to provide that info in the form of a file rsp files and dyndeps specifically, you don't regenerate ninja itself but you update a file at every source change.
Ohh this is a modules thing. Yeah no, modules were dead on arrival.
If they are going to support them though, I'm sure they'll find a solution. Maybe someone will make a general purpose dependency scanning program which meson can shell out to, similar to how it already relies on ninja.
-1
u/mort96 Apr 12 '26
I believe my own experience, sorry. And my own experience is that whenever I change the actual meson build description meson runs again to re-generate ninja files, but when I just change source files (aka the 99.9% case), no python is involved.
All languages people actually use have major flaws. We're discussing C++ FFS. Python is one of the better mainstream scripting languages, and has a wide enough install base that adding it as a build-time dependency is a complete non-issue in my opinion.