On Mon, Mar 23, 2026 at 10:01:23PM +0200, Liviu Ionescu wrote:
> > On 23 Mar 2026, at 21:47, R. Diez <[email protected]> wrote:
> > 
> > - Also it [Meson] repeats CMake's mistake of rolling its own scripting 
> > language, which is pretty much always a bad decision because:
> > 1. They're not professional language designers. That language won't be as 
> > good as properly designed ones.
> > 2. It's a lot of work that isn't needed, pointlessly increasing the 
> > project's cost.
> > 3. It doesn't have any ecosystem, while existing general purpose scripting 
> > languages do, including libraries, tutorials, and people who already know 
> > them.
> > 4. It's a waste of the user's time to learn a language which is only used 
> > for a single tool, and is completely useless elsewhere.

I could never understand how it happened that popular build systems
ended up inventing their own unique languages (with all the downsides
mentioned) instead of e.g. Lua if they wanted something like
traditional scripting features. I also do not understand why people do
not seem to desire a purely functional approach to specifying builds.

> As a user of both cmake and meson in parallel for my projects, my
> advice would be to do the exercise for both tools, and only after
> getting a reasonable level of understanding of both to decide on the
> less painful for each specific project.

FWIW people behind OpenBMC project migrated their C++ projects
(normally cross-built with OE/Yocto) from CMake to Meson and guess
were quite happy with that, e.g

https://www.stwcx.xyz/blog/2021/04/18/meson-subprojects.html


On an emotional side note, back then when I worked on cleaning up the
autotools OpenOCD build ( http://openocd.zylin.com/1475 ) I had to
learn some m4 and I had to read into some generated shell scripts and
trace them run-time; the whole concept isn't elegant from CS point of
view (text macro processing to generate quirky imperative language
script is meh) but it /felt/ kind of fun and satisfying. In contrast
to that I never enjoyed reading CMake build code. My very limited
exposure to reading Meson configurations left a better impression but
I personally would rather learn some strongly-typed purely functional
DSL for the task...

-- 
Be free, use free (http://www.gnu.org/philosophy/free-sw.html) software!
mailto:[email protected]

Reply via email to