← Back to team overview

elementary-dev-community team mailing list archive

Re: Bake Build System


> There are a lot of build system out there. This one seems cool and clean
> but it's probably too bleeding edge. I suggest you to take a look at waf.
> Lots of project are switching to it.
We've been through WAF already. Oh, what a nightmare it was!

WAF is very basic and doesn't have even gettext support, so you have to
write that yourself in Python. As your project evolves, you need more and
more custom handling because WAF is so very primitive and your build system
ends up being a bunch of entirely custom Python scripts.

Not only reimplementing the whole build system in Python for every project
is pointlessly time-consuming, but it also means that you have as many
build systems as there are project maintainers evolving in parallel with
little to no code sharing. So each project has to go through the same
pitfalls instead of just using collaboratively-written time-proven shared
code. EWWWW.

Oh, and custom WAF-based build system also means that distributors have no
idea how to work with it. Each project requires entirely custom handling.
So your project can't be packaged by an average maintainer because the
distribution's helper scripts won't work with it. You need a guru who *wrote
* the helper scripts just to package your project.

So, been there, done that, not going to return.

Sergey "Shnatsel" Davidoff
OS architect @ elementary