ocaml-libvirt ---------------------------------------------------------------------- Copyright (C) 2007-2009 Richard W.M. Jones, Red Hat Inc. http://libvirt.org/ocaml/ http://libvirt.org/ This is a complete set of OCaml bindings around libvirt, exposing all known functionality to OCaml programs. Building ---------------------------------------------------------------------- ./configure # Checks that you have all the required bits. make all # Builds the bytecode version of libs/programs. make opt # Builds the native code version of libs/programs. make install # Install in OCaml directory, and the binaries # in $prefix/bin. make doc # Build HTML documentation in html/ subdirectory. Then have a look at the program 'mlvirsh.opt'. Note: If you want to run the programs without first installing, you may need to set your $LD_LIBRARY_PATH environment variable so it contains the build directory. eg: LD_LIBRARY_PATH=libvirt/ mlvirsh/mlvirsh.opt Windows ---------------------------------------------------------------------- I have built libvirt (the bindings), examples, mlvirsh and virt-ctrl on Windows using the MinGW port of OCaml. It's quite likely that it will also work under VC++, but I have not tested this. You should make sure that your $PATH (environment variable) contains the names of the directories containing all required DLLs, in particular you will require: libvirt-*.dll (from libvirt) libgnutls-*.dll (from GnuTLS) libgcrypt-*.dll libgpg-error-*.dll libtasn1-*.dll libxdr.dll (from libxdr) libxml2-*.dll (from libxml2) and, a multitude of DLLs from GTK if you want to run virt-ctrl You can use a tool such as Dependency Walker to find/check the locations of dependent libraries. To build the Windows installer, you will need NSIS. Then do: ./configure --with-nsis=/c/Progra~1/NSIS make all opt make wininstaller This should build a Windows binary installer called ocaml-libvirt-$VERSION.exe which includes the bindings, all required DLLs and all programs that can be built under Windows. mlvirsh ---------------------------------------------------------------------- 'mlvirsh' is an almost complete reimplementation of virsh, which is mostly command compatible (there are a very few commands missing, and some commands have a slightly different syntax, but broadly speaking they are equivalent programs except that one is written in C and the other in OCaml). At the time of writing: wc -c wc -l virsh 126,056 4,641 mlvirsh 19,427 598 % size 15% 13% Programming ---------------------------------------------------------------------- For documentation on these bindings, read libvirt.mli and/or 'make doc' and browse the HTML documentation in the html/ subdirectory. For documentation on libvirt itself, see http://libvirt.org/html/ License ---------------------------------------------------------------------- The library is distributed under the GNU LGPL, version 2 or above, with the OCaml linking exception. Please see COPYING.LIB for details. The standalone program 'mlvirsh' is distributed under the GNU GPL, version 2 or above. Please see COPYING for details. Examples are public domain. Subdirectories ---------------------------------------------------------------------- libvirt/ The OCaml bindings. examples/ Some example programs using the bindings. mlvirsh/ 'mlvirsh' command line tool.