Change MACH_O compatibility and current versions #1226
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When building libhts.dylib, the compatibility_version and current_version were not being set in the way documented by
Apple - notably they expect current_version to be from the same sequence as, and greater than compatibility_version. See:
https://developer.apple.com/library/archive/documentation/DeveloperTools/Conceptual/DynamicLibraries/100-Articles/DynamicLibraryDesignGuidelines.html
Change the values so current_version is related to the current HTSlib version, and compatibility_version the last one that
introduced a backwards compatible change. As earlier HTSlib releases set compatibility_version to 3, we prepend '3.' to
these numbers so programs linked to earlier versions will still work with libraries built after this change. This will be removed on the next ABI-changing update to the library, which will allow the compatibility_version and current_version sequences to be reset.
Thanks to John Marshall for help with this issue.
Fixes #1144
Replaces and closes #1146