Page 1 of 1

VLC Backward Binary Compatibility

Posted: 02 Oct 2014 15:57
by adish
Hi,

In `libvlc_version.h` there is a comment:

Code: Select all

/* ... This file defines version macros for LibVLC. * Those macros are primilarly intended for conditional (pre)compilation. * To get the run-time LibVLC version, use libvlc_get_version() instead * (the run-time version may be more recent than build-time one, thanks to * backward binary compatibility).
My question, is whether there are any guarantees regarding when "backward binary compatibility" is maintained and when it is broken.
Is there some way to know when "backward binary compatibility" might not be maintained, say by looking at the major or minor version numbers?
I'd like to compare the compile values with the run-time values and issue a warning if there is a mismatch but backward binary compatibility is guaranteed and an error if it isn't.

Thanks,
Adi

Re: VLC Backward Binary Compatibility

Posted: 02 Oct 2014 17:06
by RĂ©mi Denis-Courmont
Backward compatibility is maintained so long as the libvlc SONAME remains the same. That only extends to the documented semantics in Doxygen however; anything else is subject to breakage at any time.

Re: VLC Backward Binary Compatibility

Posted: 02 Oct 2014 17:12
by adish
What is the "libvlc SONAME"?
Is there some flag or value that can be check or compared to see if the guarantee is broken (but not necessarily the compatibility itself)?

My question is really due to the comment in the parens: "the run-time version may be more recent than build-time one, thanks to backward binary compatibility"
It sounds as if who ever wrote this was aware of the possible mismatch and thus might have put in place some mechanism so that backward binary compatibility can be checked.

I also found this: http://upstream-tracker.org/versions/vlc.html.

Re: VLC Backward Binary Compatibility

Posted: 10 Dec 2014 15:20
by Jean-Baptiste Kempf
Which shows we have a good compatibility.