Skip to content

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