Skip to content

Navigation Menu

Sign in
Sign up

Refactor existing implementation for swift-driver change - #208

Merged
polac24 merged 3 commits into
spotify:master from
polac24:support-xcode14
May 30, 2023
Merged

Refactor existing implementation for swift-driver change #208
polac24 merged 3 commits into
spotify:master from
polac24:support-xcode14

Conversation

@polac24

@polac24 polac24 commented May 30, 2023

Copy link
Copy Markdown
Collaborator

As it is highly possible that Xcode 15 beta (expected on in a week, on Jun 5th) will no longer support SWIFT_USE_INTEGRATED_DRIVER: NO, we should be ready to add support for the integrated driver.

This is a first PR that refactors the existing implementation so it the swift-driver PR will be easier to reason about.

This PR doesn't change anything in the business logic.

Includes:

  • Adds a mode in the BuildSettingsIntegrateAppender to specify if the SWIFT_USE_INTEGRATED_DRIVER should be added or not (for now, always add)
  • Splits Swiftc into 2 phases: emit module and compilation. With swiftc, this is always done in a single process (at least from XCRemoteCache's perspective), in the driver world, that will be 2 independent processes
  • Adds extra options for the input (*.swift) and output (*.d, *.o etc) files: either via a file (used currently) or explicitly in the cmd argument list
  • XCSwiftc's logic is broken down to the XCSwiftAbstract, which will be shared with the XCSwiftFrontend
  • Making some params optional, which are nil in the swift-frontend

Next steps

Add swift-frontend support (draft PR)

polac24 marked this pull request as ready for review May 30, 2023 04:46

@vadim-smal vadim-smal left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Haven't tested but the changes look good.

polac24 commented May 30, 2023

Copy link
Copy Markdown
Collaborator Author

We have several E2E tests so hopefully that covers all cases.

vadim-smal reacted with thumbs up emoji

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@PatrikBillgren PatrikBillgren Awaiting requested review from PatrikBillgren
@aleksandergrzyb aleksandergrzyb Awaiting requested review from aleksandergrzyb
@acbdev acbdev Awaiting requested review from acbdev
1 more reviewer
@vadim-smal vadim-smal vadim-smal approved these changes
Reviewers whose approvals may not affect merge requirements

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

AltStyle によって変換されたページ (->オリジナル) /