Re: [Vala] Sample app built with ninja+vala



On Sat, Feb 18, 2012 at 8:37 PM, Luca Bruno <lethalman88 gmail com> wrote:
On Sun, Feb 19, 2012 at 12:23 AM, Emmanuel Oga <emmanueloga gmail com>
wrote:

Following my experiment in building a vala app with tup [1], here [2]
is one for building the same thing with ninja [3]

Is not fair to compare ninja and tup solely on grounds of this..., but
I think I'm choosing ninja just because it allows me to put the build
artifacts in a separate directory to the sources.

ninja supports the -j parameter to spawn processes for each build
file, by default it spawns 3 processes when dependencies make that
possible.


Also it supports multiple outputs. Anyway, what made tup really interesting
was the theory behind it, i.e. the bottom-up build. There isn't much gain in
choosing ninja over make in my opinion.


Agreed, tup is an innovative project, while ninja seems like just a
minimalism, non turing complete replacement for make [1].

In my case the reason is dislike make is basically m4. I find it over
complicated. ninja does not include lots of functionality, and
encourages you to generate the ninja config file using whatever
language you like. Tabs not being significative is a plus.

If I have to choose to write a make file with m4 and generate a ninja
file with ruby, I choose the later. Ok, I could also generate
makefiles using ruby, and then I would end up with a cmake clone. Just
kidding. Even as a target makefiles are orders of magnitude more
complicated than ninja files.

Off course there's a reason so many projects are using make, it is a
great tool. But there's also a reason why so many alternatives where
developed (scons, ant, waf, jam, etc...). make is a bit painful to
use, imho.

1: http://neugierig.org/software/chromium/notes/2011/02/ninja.html

--
www.debian.org - The Universal Operating System



-- 
--------------------------------------------------------------
EmmanuelOga.com - Software Developer



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]