Refactor existing implementation for swift-driver change by polac24 · Pull Request #208 · spotify/XCRemoteCache
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
BuildSettingsIntegrateAppenderto specify if theSWIFT_USE_INTEGRATED_DRIVERshould 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 theXCSwiftAbstract, which will be shared with theXCSwiftFrontend- Making some params optional, which are
nilin the swift-frontend
Next steps
Add swift-frontend support (draft PR)