Skip to content

Don't install the binary Swift module when building for Apple platforms #837

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

Merged

Conversation

stmontgomery
Copy link
Contributor

@stmontgomery stmontgomery commented Nov 26, 2024

This modifies the CMake rules to stop installing binary .swiftmodule files when building for Apple platforms.

Motivation:

Apple platforms have a stable ABI and modules for those platforms should instead use the textual .swiftinterface which is already installed by CMake. The binary .swiftmodule permits access to SPI declarations from the testing library, and these are not intended to be exposed in distribution builds. Although this PR only removes access to these on macOS, since it's the only platform which has a textual .swiftinterface currently, we intend to investigate ways to match this behavior for other platforms in the future.

Checklist:

  • Code and documentation should follow the style of the Style Guide.
  • If public symbols are renamed or modified, DocC references should be updated.

Resolves rdar://136083081

@stmontgomery stmontgomery added enhancement New feature or request build 🧱 Affects the project's build configuration or process labels Nov 26, 2024
@stmontgomery stmontgomery added this to the Swift 6.x milestone Nov 26, 2024
@stmontgomery stmontgomery self-assigned this Nov 26, 2024
@stmontgomery
Copy link
Contributor Author

@swift-ci please test

@stmontgomery stmontgomery requested a review from etcwilde December 2, 2024 20:07
@stmontgomery stmontgomery merged commit 8fb3f68 into swiftlang:main Dec 4, 2024
3 checks passed
@stmontgomery stmontgomery deleted the remove-binary-module-macos branch December 4, 2024 05:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build 🧱 Affects the project's build configuration or process enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants