diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2020-08-13 09:28:11 -0400 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2020-10-17 10:45:51 -0400 |
commit | 09e93326e448ab43fa26a9e2d9cc20ecf951f32b (patch) | |
tree | 6b923a531aae0b5c4a06879170561adf07948e84 /docs/devel | |
parent | 2b8575bd5fbc8a8880e9ecfb1c7e7990feb1fea6 (diff) | |
download | qemu-09e93326e448ab43fa26a9e2d9cc20ecf951f32b.zip qemu-09e93326e448ab43fa26a9e2d9cc20ecf951f32b.tar.gz qemu-09e93326e448ab43fa26a9e2d9cc20ecf951f32b.tar.bz2 |
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>
Diffstat (limited to 'docs/devel')
-rw-r--r-- | docs/devel/build-system.rst | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/docs/devel/build-system.rst b/docs/devel/build-system.rst index 2ee368f..6fcf885 100644 --- a/docs/devel/build-system.rst +++ b/docs/devel/build-system.rst @@ -404,10 +404,8 @@ Built by Meson: Built by Makefile: `Makefile.ninja` - A Makefile conversion of the build rules in build.ninja. The conversion - is straightforward and, were it necessary to debug the rules produced - by Meson, it should be enough to look at build.ninja. The conversion - is performed by scripts/ninjatool.py. + A Makefile include that bridges to ninja for the actual build. The + Makefile is mostly a list of targets that Meson included in build.ninja. `Makefile.mtest` The Makefile definitions that let "make check" run tests defined in |