Skip to content

Conversation

@mascguy
Copy link

@mascguy mascguy commented Mar 3, 2024

When the project migrated to Meson, Darwin/macOS dylib versioning was lost. This restores that functionality, ensuring that dependent binaries aren't broken.

In terms of the dylib compatibility version, it's set to 0.7.1. I believe that matches with what was used for 0.7.2, when built via AutoTools.


# ABI compatibility version should be that used for last non-meson release, 0.7.1
raqm_ver_compat = 701
raqm_ver_current = raqm_ver_major * 10000 + raqm_ver_minor * 100 + raqm_ver_micro
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don’t understand the significance of the last non-meson release here. All releases should be API and ABI-compatible.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So raqm_ver_compat should be at 0?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So raqm_ver_compat should be at 0?

No, that only works if older versions used zero, but they didn't.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I really still don’t understand any of this. What part of autotools build was setting this dylib versioning? We should replicate the same behavior, not hard-code a specific version.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I really still don’t understand any of this. What part of autotools build was setting this dylib versioning? We should replicate the same behavior, not hard-code a specific version.

We'd have to go back and look at the precise behavior of the autosools build to know for sure. But what I can say, is that one of the last releases set the version to that value.

So I agree, some research is needed.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I really still don’t understand any of this. What part of autotools build was setting this dylib versioning?

I think it's libtool: https://www.gnu.org/software/libtool/manual/html_node/Libtool-versioning.html

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants