Skip to content

meson.build: add darwin/macOS dylib versioning#193

Open
mascguy wants to merge 1 commit into
HOST-Oman:mainfrom
mascguy:mascguy-dylib-vers
Open

meson.build: add darwin/macOS dylib versioning#193
mascguy wants to merge 1 commit into
HOST-Oman:mainfrom
mascguy:mascguy-dylib-vers

Conversation

@mascguy
Copy link
Copy Markdown

@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.

Comment thread src/meson.build

# 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
Copy Markdown
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.

Copy link
Copy Markdown

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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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.

Copy link
Copy Markdown

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