qemu: Add validation for SMMUv3 IOMMU
[libvirt/ericb.git] / README-hacking
blobec04271c6aaac32153ef0b957b1884636d7f1f10
1 -*- outline -*-
3 These notes intend to help people working on the checked-out sources.
4 These requirements do not apply when building from a distribution tarball.
5 See also docs/hacking.html (after building libvirt using the information
6 included in this file) for more detailed contribution guidelines.
8 * Requirements
10 We've opted to keep only the highest-level sources in the GIT repository.
11 This eases our maintenance burden, (fewer merges etc.), but imposes more
12 requirements on anyone wishing to build from the just-checked-out sources.
13 Note the requirements to build the released archive are much less and
14 are just the requirements of the standard ./configure && make procedure.
15 Specific development tools and versions will be checked for and listed by
16 the bootstrap script.
18 Valgrind <http://valgrind.org/> is also highly recommended, if
19 Valgrind supports your architecture.
21 While building from a just-cloned source tree may require installing a
22 few prerequisites, later, a plain `git pull && make' should be sufficient.
24 * First GIT checkout
26 You can get a copy of the source repository like this:
28         $ git clone https://libvirt.org/git/libvirt.git
29         $ cd libvirt
31 As an optional step, if you already have a copy of the gnulib git
32 repository on your hard drive, then you can use it as a reference to
33 reduce download time and disk space requirements:
35         $ export GNULIB_SRCDIR=/path/to/gnulib
37 The next step is to get all required pieces from gnulib,
38 to run autoreconf, and to invoke ./configure:
40         $ ./autogen.sh
42 And there you are!  Just
44         $ make
45         $ make check
47 At this point, there should be no difference between your local copy,
48 and the GIT master copy:
50         $ git diff
52 should output no difference.
54 Enjoy!
56 Local Variables:
57 indent-tabs-mode: nil
58 End: