
On Sunday 29 December 2013 14:44:10 Ryota Ozaki wrote:
On Wed, Dec 25, 2013 at 12:47 AM, Jean-Baptiste Rouault
<jean-baptiste.rouault@diateam.net> wrote:
While working on adding virDomain*Stats support to the vbox driver, we found bugs in the VirtualBox API C bindings. These bugs have been fixed in versions 4.2.20 and 4.3.4. However, the changes in the C bindings are incompatible with the vbox_CAPI_v4_2.h and vbox_CAPI_v4_3.h files which are bundled in libvirt source code. This is why the following patch adds vbox_CAPI_v4_2_20.h and vbox_CAPI_v4_3_4.h.
We tried to keep compatibility with older VirtualBox 4.2.x and 4.3.x releases so we added a "SPECIAL_VERSION" identifier to conditionnaly include the right header. I'm not really pleased with this "SPECIAL_VERSION" identifier, maybe we could instead increase the precision of "VBOX_API_VERSION", for example 4002 would become 4002000. This would permit us to select the right header based on the VBOX_API_VERSION only, what do you think ?
Can we use VBOX_XPCOMC_VERSION instead of adding a new flag? The version has been bumped up when the incompatibility is introduced.
ozaki-r
The problem is that VBOX_XPCOMC_VERSION is defined in the vbox_CAPI_v*.h headers and we need a flag to choose which header we have to include. -- Jean-Baptiste ROUAULT R&D Engineer - diateam : Architectes de l'information Phone : +33 (0)2 98 050 050 Fax : +33 (0)2 98 050 051