Skip to content

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

Merged
stmontgomery merged 1 commit into
swiftlang:mainfrom
stmontgomery:remove-binary-module-macos
Dec 4, 2024
Merged

Don't install the binary Swift module when building for Apple platforms#837
stmontgomery merged 1 commit into
swiftlang:mainfrom
stmontgomery:remove-binary-module-macos

Conversation

@stmontgomery

@stmontgomery stmontgomery commented Nov 26, 2024

Copy link
Copy Markdown
Contributor

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