diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst
index 972b189873..bda5cae627 100644
--- a/CONTRIBUTING.rst
+++ b/CONTRIBUTING.rst
@@ -12,13 +12,12 @@ your git clone run:
::
- $ mkdir build && cd build
- $ ../autogen.sh
- $ make
+ $ meson build
+ $ ninja -C build
You'll find the freshly-built document in ``docs/contribute.html``.
-If ``configure`` fails because of missing dependencies, you can set
+If ``meson setup`` fails because of missing dependencies, you can set
up your system by calling
::
@@ -39,7 +38,7 @@ to run
::
- $ sudo dnf install gcc make libtool autoconf automake rpm-build
+ $ sudo dnf install gcc make ninja-build rpm-build
You might still be missing some dependencies if your distribution is
shipping an old libvirt version, but that will get you much closer to
diff --git a/docs/advanced-tests.rst b/docs/advanced-tests.rst
index d2d29d976d..bc20bbf4d9 100644
--- a/docs/advanced-tests.rst
+++ b/docs/advanced-tests.rst
@@ -6,8 +6,7 @@ The basic requirement before submitting changes to libvirt is that
::
- $ make check
- $ make syntax-check
+ $ ninja test
succeed after each commit.
@@ -17,7 +16,7 @@ by running
::
- $ make -C tests valgrind
+ $ meson test --setup valgrind
`Valgrind
- libvirt uses the standard configure/make/install steps and mandates + libvirt uses the standard setup/build/install steps and mandates that the build directory is different that the source directory:
$ xz -c libvirt-x.x.x.tar.xz | tar xvf - $ cd libvirt-x.x.x -$ mkdir build && cd build -$ ../configure+$ meson build
- The configure script can be given options to change its default + The meson script can be given options to change its default behaviour.
- To get the complete list of the options it can take, pass it the - --help option like this: + To get the complete list of the options run the following command:
-$ ../configure --help+$ meson configure
When you have determined which options you want to use (if any), @@ -38,7 +36,7 @@ $ ../configure --help
- Note the use of sudo with the make install command + Note the use of sudo with the ninja install command below. Using sudo is only required when installing to a location your user does not have write access to. Installing to a system location is a good example of this. @@ -46,14 +44,14 @@ $ ../configure --help
If you are installing to a location that your user does have write - access to, then you can instead run the make install command + access to, then you can instead run the ninja install command without putting sudo before it.
-$ ../configure [possible options] -$ make -$ sudo make install+$ meson build [possible options] +$ ninja -C build +$ sudo ninja -C build install
At this point you may have to run ldconfig or a similar utility @@ -63,12 +61,10 @@ $ sudo make install
- The libvirt build process uses GNU autotools, so after obtaining a
- checkout it is necessary to generate the configure script and Makefile.in
- templates using the autogen.sh
command. By default when
- the configure
script is run from within a GIT checkout, it
+ The libvirt build process uses Meson build system. By default when
+ the meson
is run from within a GIT checkout, it
will turn on -Werror for builds. This can be disabled with
- --disable-werror, but this is not recommended.
+ --werror=false, but this is not recommended.
To build & install libvirt to your home @@ -76,10 +72,9 @@ $ sudo make install
-$ mkdir build && cd build -$ ../autogen.sh --prefix=$HOME/usr -$ make -$ sudo make install+$ meson build --prefix=$HOME/usr +$ ninja -C build +$ sudo ninja -C build install
Be aware though, that binaries built with a custom prefix will not @@ -89,9 +84,8 @@ $ sudo make install
-$ mkdir build && cd build -$ ../autogen.sh --system -$ make +$ meson build -Dsystem=true +$ ninja -C build
diff --git a/docs/hacking.rst b/docs/hacking.rst index ccc94010b3..3fc5888a71 100644 --- a/docs/hacking.rst +++ b/docs/hacking.rst @@ -30,8 +30,7 @@ changes. That is: :: - $ make check - $ make syntax-check + $ ninja test These tests help making sure that your changes don't introduce regressions in libvirt, as well as validating that any new code diff --git a/docs/strategy.html.in b/docs/strategy.html.in index 42c285d9f6..0d845d006a 100644 --- a/docs/strategy.html.in +++ b/docs/strategy.html.in @@ -22,13 +22,12 @@ in the C language.
configure
, generated by autoconf, is a shell script.
- Shell is also used for some simple build/test scripts. At runtime
+ configure
script uses a large number of
- M4 macros to generate its content- The Meson build system is written in Python 3. This directly informs the - choice of Python 3 as the language for all supporting build scripts, - re-inforcing the other benefits of Python over Perl, Shell, M4, - automake, etc. There is no intention to support Python 2 given Meson's - requirement for Python 3. -
-Using the RST format for documentation allows for the use of XSLT to be eliminated from the build process. RST and the Sphinx toolkit are widely diff --git a/docs/windows.html.in b/docs/windows.html.in index a0ff525e1a..13dab1f6a4 100644 --- a/docs/windows.html.in +++ b/docs/windows.html.in @@ -180,16 +180,14 @@
-mkdir build && cd build -../configure \ - --without-sasl \ - --without-polkit \ - --without-python \ - --without-libxl \ - --without-qemu \ - --without-lxc \ - --without-openvz \ - --without-libvirtd +meson build \ + -Dsasl=disabled \ + -Dpolkit=disabled \ + -Ddriver_libxl=disabled \ + -Ddriver_qemu=disabled \ + -Ddriver_lxc=disabled \ + -Ddriver_openvz=disabled \ + -Ddriver_libvirtd=disabled