-
Notifications
You must be signed in to change notification settings - Fork 61
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[RKOTLIN-877] Avoid exporting Core's symbols to allow mixing multiple SDKs #1780
Conversation
… statically in the same app
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome, it is great that we have compatibility with other SDKs.
You mention that it was tested by adding the Swift SDK to a sample project. Could we add this project to our examples to track any regression?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice job paving the way! 💪
Yeah, sound like something that would be cool to put in the test suite similarly to https://github.com/realm/realm-kotlin/tree/main/examples/realm-java-compatibility |
Co-authored-by: LJ <[email protected]>
Co-authored-by: LJ <[email protected]>
The cinterop KLIB includes compiled core's static libraries that will be used by the linker to build the final app. This PR will avoid exporting Core's symbols so if the user adds another SDK
like Swift to their app then build/link statically the Swift app the two versions of Core will not conflicts
Most of the work was testing with
MultiplatformDemo
andMultiplatformDemoWithSync
while adding a POD dependency to Swift SDK and using two Realms using two version of Core inside the same iOS app.when building such app the dynamic framweork build from Kotlin/Native should not include any Core symbols like the following: