qemu: Move capability checks for IOMMU features
[libvirt/ericb.git] / README.md
blob1271843cb1cbdd677f9b00dce62b58a83a98b736
1 [![Build Status](https://travis-ci.org/libvirt/libvirt.svg)](https://travis-ci.org/libvirt/libvirt)
2  [![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/355/badge)](https://bestpractices.coreinfrastructure.org/projects/355)
4 Libvirt API for virtualization
5 ==============================
7 Libvirt provides a portable, long term stable C API for managing the
8 virtualization technologies provided by many operating systems. It
9 includes support for QEMU, KVM, Xen, LXC, bhyve, Virtuozzo, VMware
10 vCenter and ESX, VMware Desktop, Hyper-V, VirtualBox and the POWER
11 Hypervisor.
13 For some of these hypervisors, it provides a stateful management
14 daemon which runs on the virtualization host allowing access to the
15 API both by non-privileged local users and remote users.
17 Layered packages provide bindings of the libvirt C API into other
18 languages including Python, Perl, PHP, Go, Java, OCaml, as well as
19 mappings into object systems such as GObject, CIM and SNMP.
21 Further information about the libvirt project can be found on the
22 website:
24 [https://libvirt.org](https://libvirt.org)
27 License
28 -------
30 The libvirt C API is distributed under the terms of GNU Lesser General
31 Public License, version 2.1 (or later). Some parts of the code that are
32 not part of the C library may have the more restrictive GNU General
33 Public License, version 2.1 (or later). See the files `COPYING.LESSER`
34 and `COPYING` for full license terms & conditions.
37 Installation
38 ------------
40 Libvirt uses the GNU Autotools build system, so in general can be built
41 and installed with the usual commands. For example, to build in a manner
42 that is suitable for installing as root, use:
44 ```
45 $ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
46 $ make
47 $ sudo make install
48 ```
50 While to build & install as an unprivileged user
52 ```
53 $ ./configure --prefix=$HOME/usr
54 $ make
55 $ make install
56 ```
58 The libvirt code relies on a large number of 3rd party libraries. These will
59 be detected during execution of the `configure` script and a summary printed
60 which lists any missing (optional) dependencies.
63 Contributing
64 ------------
66 The libvirt project welcomes contributions in many ways. For most components
67 the best way to contribute is to send patches to the primary development
68 mailing list. Further guidance on this can be found on the website:
70 [https://libvirt.org/contribute.html](https://libvirt.org/contribute.html)
73 Contact
74 -------
76 The libvirt project has two primary mailing lists:
78   * libvirt-users@redhat.com (**for user discussions**)
79   * libvir-list@redhat.com (**for development only**)
81 Further details on contacting the project are available on the website:
83 [https://libvirt.org/contact.html](https://libvirt.org/contact.html)