On May 2, 2015, at 8:09 PM, Joshua Root <[email protected]> wrote:

> On 2015-5-2 23:30 , Lawrence Velázquez wrote:
> 
>> https://developer.apple.com/library/mac/documentation/DeveloperTools/Conceptual/DynamicLibraries/100-Articles/DynamicLibraryDesignGuidelines.html#//apple_ref/doc/uid/TP40002013-SW23
> 
> tl;dr version:
> 
> Increase current_version when the library changes in any way.
> 
> Increase compatibility_version when new symbols are added.

Unless the new symbols are exported as weak references.

> Increase the major version (AKA "soname") when any symbols are removed
> or have their semantics changed.

Addendum: The product version, library major version, and library minor version 
(in your gettext example: "0.19.4", "8", and "10.3.0") need not be related at 
all. Linking them as tidy seems to have done could be considered imprudent, 
since it conflates technical information (library versioning) with marketing 
information (product version).

>From our perspective, I think the biggest problems are (1) when a library 
>breaks backwards compatibility and doesn't increase its major version, and (2) 
>when it increases its major version *without* breaking backwards 
>compatibility, thus requiring needless rebuilds.

vq
_______________________________________________
macports-dev mailing list
[email protected]
https://lists.macosforge.org/mailman/listinfo/macports-dev

Reply via email to