mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-10-30 09:53:10 +00:00
f96395e78e
Historically we've allowed builds in the main src dir, but meson does not support this. Explicitly force separate build dir in autotools to align with meson. We must re-enable dependency tracking which the RPM %configure macro turns off. Without this, the build dir doesn't get the source directory tree mirrored. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Pavel Hrdina <phrdina@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
64 lines
1.9 KiB
Plaintext
64 lines
1.9 KiB
Plaintext
-*- outline -*-
|
|
|
|
These notes intend to help people working on the checked-out sources.
|
|
These requirements do not apply when building from a distribution tarball.
|
|
See also docs/hacking.html (after building libvirt using the information
|
|
included in this file) for more detailed contribution guidelines.
|
|
|
|
* Requirements
|
|
|
|
We've opted to keep only the highest-level sources in the GIT repository.
|
|
This eases our maintenance burden, (fewer merges etc.), but imposes more
|
|
requirements on anyone wishing to build from the just-checked-out sources.
|
|
Note the requirements to build the released archive are much less and
|
|
are just the requirements of the standard configure && make procedure.
|
|
Specific development tools and versions will be checked for and listed by
|
|
the bootstrap script.
|
|
|
|
Valgrind <http://valgrind.org/> is also highly recommended, if
|
|
Valgrind supports your architecture.
|
|
|
|
While building from a just-cloned source tree may require installing a
|
|
few prerequisites, later, a plain `git pull && make' should be sufficient.
|
|
|
|
* First GIT checkout
|
|
|
|
You can get a copy of the source repository like this:
|
|
|
|
$ git clone https://libvirt.org/git/libvirt.git
|
|
$ cd libvirt
|
|
|
|
As an optional step, if you already have a copy of the gnulib git
|
|
repository on your hard drive, then you can use it as a reference to
|
|
reduce download time and disk space requirements:
|
|
|
|
$ export GNULIB_SRCDIR=/path/to/gnulib
|
|
|
|
We require to have the build directory different than the source directory:
|
|
|
|
$ mkdir build && cd build
|
|
|
|
The next step is to get all required pieces from gnulib,
|
|
to run autoreconf, and to invoke ../autogen.sh:
|
|
|
|
$ ../autogen.sh
|
|
|
|
And there you are! Just
|
|
|
|
$ make
|
|
$ make check
|
|
|
|
At this point, there should be no difference between your local copy,
|
|
and the GIT master copy:
|
|
|
|
$ cd ..
|
|
$ git diff
|
|
|
|
should output no difference.
|
|
|
|
Enjoy!
|
|
|
|
Local Variables:
|
|
indent-tabs-mode: nil
|
|
End:
|