I am applying for the project idea "Rewriting Virtual-Box Driver" suggested by Michal Privoznik(
mprivozn@redhat.com) in the "Qemu" ideas page (
http://wiki.qemu.org/Google_Summer_of_Code_2014).
In the short span of time that I had after my discussion with Mr. Privoznik, the current Virtual Box driver code is not structured very well(lot of #ifdef's in the current code) and very hard to read.
Since libvirt has to support all versions of Virtual Box, the current code decides on what code to compile based on the value of the macro
VBOX_API_VERSION
that is checked during ./configure.