2009-07-09 03:37:59 +08:00
|
|
|
-*- outline -*-
|
|
|
|
|
|
|
|
These notes intend to help people working on the checked-out sources.
|
|
|
|
These requirements do not apply when building from a distribution tarball.
|
2017-06-26 14:45:44 +08:00
|
|
|
See also docs/hacking.html (after building libvirt using the information
|
|
|
|
included in this file) for more detailed contribution guidelines.
|
2009-07-09 03:37:59 +08:00
|
|
|
|
|
|
|
* 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
|
2010-02-25 02:38:44 +08:00
|
|
|
the bootstrap script.
|
2009-07-09 03:37:59 +08:00
|
|
|
|
|
|
|
Valgrind <http://valgrind.org/> is also highly recommended, if
|
2014-05-06 15:02:29 +08:00
|
|
|
Valgrind supports your architecture.
|
2009-07-09 03:37:59 +08:00
|
|
|
|
|
|
|
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 git://libvirt.org/libvirt
|
|
|
|
$ cd libvirt
|
|
|
|
|
2010-02-25 02:38:44 +08:00
|
|
|
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
|
|
|
|
|
2009-07-10 16:01:04 +08:00
|
|
|
The next step is to get all required pieces from gnulib,
|
|
|
|
to run autoreconf, and to invoke ./configure:
|
2009-07-09 03:37:59 +08:00
|
|
|
|
|
|
|
$ ./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:
|
|
|
|
|
|
|
|
$ git diff
|
|
|
|
|
|
|
|
should output no difference.
|
|
|
|
|
|
|
|
Enjoy!
|
|
|
|
|
|
|
|
Local Variables:
|
|
|
|
indent-tabs-mode: nil
|
|
|
|
End:
|