Hello,
I am applying for the project idea "Rewriting Virtual-Box Driver" suggested
by Michal Privoznik(mprivozn(a)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.
The only thing after discussion that we were able to come up with is
putting
version specific code under particular files and only compile the those
necessary
files during "make"
For instance,
if a function X() supports version A, B, C we will have function X() in
vbox_A.c just for version A, function X() in vbox_B.c just for version B
and so on.
Any other suggestions than the above mentioned one which
can be used to fix the problem??
Regards,
Prashanth Sunder