When comparing Autotools vs Ninja, the Slant community recommends Ninja for most people. In the question“What are the best open-source build systems for C/C++?” Ninja is ranked 1st while Autotools is ranked 18th. The most important reason people chose Ninja is:
Once dependencies like maven are installed it is up and running in minutes with one simple command.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Based on standard tools
It's a standard tool built over standard tools.
Pro Ubiquitous
It's a well established build system that is ubiquitous in the open source world.
Pro make distcheck
Build your project, run the tests, create a release tarball, unpack it with read-only sources, build it and run the tests. This should be the minimum standard for every build system, yet it seems hard to reach.
Pro Basic API for building anything: ./configure; make
The skills you learn for building one language still work when you build something else, even down to creating books for print from emacs org-mode.
Pro Simple set up
Once dependencies like maven are installed it is up and running in minutes with one simple command.
Pro Easy horizontal scaling
Ninja is stateless by design. This makes horizontal scaling very easy and just a matter of adding servers.
Cons
Con Perl
Autoconf is dependent on Perl.
Con Autotools is far too complicated
It seems to add far too much complexity to projects. The build system has a tendency to be more complex than the actual projects that it's being used to build.
Con Poor documentation
In spite of its many years of existence, the available documentation leaves much to be desired.
Con Little user choice in organization
Since most of the code and folder structure are automatically generated, this leaves little room to the developer on how they will organize their project.