[LLVMdev] Ninja (make replacement)

Mikael Lyngvig mikael at lyngvig.org
Sun Jun 17 16:54:13 PDT 2012


I am building with MinGW and my experience is that "make -jN" either
doesn't work (because of problems with different processes updating the
same library using ranlib or something like that).  And then there's the
issue I mentioned in the previous doc.

I think Ninja is a gift from some heavenly dimension.  Others may disagree.
 But I think any Windows developer should take a look at it, no matter if
they are using GNU Make or Visual Studio.

By the way, I forgot to use my brain when I sent the first link: It is a
Windows-only link.  For non-Windows users and people who want to see the
source before they use it, use this link: http://martine.github.com/ninja/

Yes, I am quite familiar with the CMake documentation, but why are you
asking?  I use CMake all the time for my MinGW32 and MinGW64 builds.  Now I
use "CMake -G Ninja" :-)

2012/6/18 Óscar Fuentes <ofv at wanadoo.es>

> Christoph Erhardt <christoph at sicherha.de> writes:
>
> > Hi Mikael,
> >
> >> My Clang build used to take 59:29 minutes using MinGW Makefiles.  With
> >> Ninja, it takes 18:43 minutes!  That's a speed up of factor three.
> > sorry for asking the obvious question: Are you comparing against a
> > parallel "make -j<n>"? :-)
>
> I'm pretty sure he isn't. Building Clang+LLVM with MinGW, maybe ninja is
> faster than gmake by a few dozen seconds on Windows. The real advantage
> is over the build tools traditionally used with the Visual Studio
> toolchain, because all of have limited support for parallelization.
>
> The other aspect where ninja shines over all other build tools is at
> being fast parsing the makefiles and determining what needs to be
> rebuilt. This is something people appreciate while rebuilding big
> projects after small changes.
>
> BTW Mikael, have you checked http://llvm.org/docs/CMake.html ?
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120618/97a32ce8/attachment.html>


More information about the llvm-dev mailing list