build: replace ninjatool with ninja
commit09e93326e448ab43fa26a9e2d9cc20ecf951f32b
authorPaolo Bonzini <pbonzini@redhat.com>
Thu, 13 Aug 2020 13:28:11 +0000 (13 09:28 -0400)
committerPaolo Bonzini <pbonzini@redhat.com>
Sat, 17 Oct 2020 14:45:51 +0000 (17 10:45 -0400)
tree6b923a531aae0b5c4a06879170561adf07948e84
parent2b8575bd5fbc8a8880e9ecfb1c7e7990feb1fea6
build: replace ninjatool with ninja

Now that the build is done entirely by Meson, there is no need
to keep the Makefile conversion.  Instead, we can ask Ninja about
the targets it exposes and forward them.

The main advantages are, from smallest to largest:

- reducing the possible namespace pollution within the Makefile

- removal of a relatively large Python program

- faster build because parsing Makefile.ninja is slower than
parsing build.ninja; and faster build after Meson runs because
we do not have to generate Makefile.ninja.

- tracking of command lines, which provides more accurate rebuilds

In addition the change removes the requirement for GNU make 3.82, which
was annoying on Mac, and avoids bugs on Windows due to ninjatool not
knowing how to convert Windows escapes to POSIX escapes.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Makefile
configure
docs/devel/build-system.rst
meson.build
scripts/mtest2make.py
scripts/ninjatool.py [deleted file]
tests/Makefile.include