-
Notifications
You must be signed in to change notification settings - Fork 722
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
chore: remove module.modulemap #3961
Conversation
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.
What effect will this have on existing Swift customers building the library? Will it break existing builds?
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.
A doc issue or quick note somewhere about swift usage would be helpful.
As I understand the swift build step auto-generates this file so it should not affect customers. I have updated the description with a more detailed description of actions and summary |
We dont officially support swift bindings and I am not aware of all the steps and files needed for swift bindings so I am wary of adding guidance which might be half baked. |
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.
What effect will this have on existing Swift customers building the library? Will it break existing builds?
The description was updated to answer this. This change could break customer builds, but the expected impact is still low and affected customers have workarounds.
awslabs/aws-crt-swift#163
Description of changes:
What is module.modulemap
module.modulemap
allows C code to be consumed as a clang module. Since Swift consumes s2n-tls as a clang module this file is/was necessary (this file was added by the SDK team to support Swift build). However, more recent version of Swift Packet Manager now supports auto-generating the module.modulemap so this file is not necessary.Why remove module.modulemap
In some environments (case-insensitive file systems) we are seeing issues. Note that this is the SDK build team (same team that originally added this file) and they are asking to remove the module.modulemap since its can be auto generated from the Swift Packet Manager.
Impact
module.modulemap enables s2n-tls code to be consumes as a clang module. This therefore impacts two types of build systems: Swift and Clang.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.