The reasons why this can't really be done are outlined in the FAQ:
http://mesonbuild.com/FAQ.html#why-is-meson-implemented-in-python-rather-than-programming-language-x
The point is not whether it can be built. The point is that the
compiler _needs_ to be available. This is an extra dependency.
Again, it does not matter how easy the bootstrapping is. The point is
that it needs to be done, which adds a dependency to a full compiler
toolchain. This by itself is a blocker for some.
The original post did not mention VS Code at all, only "real" Visual
Studio. That is (for better or for worse) what most Windows developers
use. Not supporting it natively out of the box is a major hurdle.
Note that many real-world meson build systems include python scripts,
so those can not be built by mesonic or mesonim -- at least not
without also having a python interpreter available at the machine
running the ported meson. At that point you could just use
python-meson.
We have people using Meson on Solaris and even AIX (no reports on
HP-UX yet). Those are not listed on Nim's platform page so I'm
guessing they are not supported.
Portability is even more about the libraries in use than just the
plain language itself. Python's standard library is awesome and we use
a fair chunk of it for stuff like https requests, tar and zip file
processing and the like. Adding equivalent functionality in other
languages almost always means hunting for tens of dependency packages
and keeping them all up to date.
If you can stick to Python and its standard library (which we do), the
result is _amazingly_ portable. There is almost nothing like it
without spending a ton of effort yourself.
Note that many real-world meson build systems include python scripts,
so those can not be built by mesonic or mesonim -- at least not
without also having a python interpreter available at the machine
running the ported meson. At that point you could just use
python-meson.
That's the only thing I dislike about Meson: it aims to be a system suitable for building critical OS tools in early stages of the OS build process (that's what the FAQ expresses as a reason for requiring "minimal dependencies"). But then... one of such "minimal dependencies" is Python. Like if when you get your first kernel booting, you were supposed to have a kernel, a C compiler, a shell, vi, and... Python. No, sorry, but no: I'll have Python, but later in the process. And you could argue that well, if you don't like building Python so early in the process, you can use other tool instead of Meson... but then the Korn shell (https://github.com/att/ast) moves to Meson and you get having to build Python before ksh.
The thing you are describing sounds more like building of image
to me. And this is good job for yocto-project/buildroot.
Yes, I'm disappointed.
Maybe you are disappointed because you do not know that it is not
so hard to build initial image with python and meson preinstalled.
I am using meson in embedded systems and I have to say it does
it's job well unlike most of the buildtools.
--ardi
You received this message because you are subscribed to the Google Groups "The Meson Build System" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mesonbuild+...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/mesonbuild/9c066376-b465-4fc3-8d07-ecc2f336c416%40googlegroups.com.
Michal