After its announcement almost exactly a year ago, the
swift-driver project is moving full-steam-ahead towards the goal of replacing its C++ predecessor. Recent weeks saw a large amount of activity on the
swift-driver repository towards achieving that goal. A few highlights:
- @David_Ungar2 has been building out incremental build support  .
@owenv has been making huge strides in chipping away the outstanding lit test failures when using
swift-driveras a drop-in replacement for the C++ driver. (, , , and many more)
- Integration with SwiftPM and Explicit Module Build flows have matured and are now available for experimentation.
- We now build and package both the
libSwiftDrivershared library in our toolchain snapshots.
- @stevapple has started work on implementing the Windows-specific toolchain abstraction .
Over the years, the C++ driver has included many efforts to support additional platforms (e.g. WebAssembly, Android). Catching up on supported platforms is one of the major outstanding considerations in making a switch to using
swift-driver as the default. With the progress we've been making, it is now prudent to call attention of platform maintainers to this upcoming change.
We are very excited to have a significant component of the compiler written in Swift itself. There are many ways to get involved with this effort in either bringup of missing platform support and general improvements to the new driver:
- PRs are always welcome at: https://github.com/apple/swift-driver.
- You can now use the new driver as a direct drop-in by setting an environment variable (
SWIFT_USE_NEW_DRIVER) . Alternative instructions here. Exercising the new driver in this fashion is extremely valuable for increasing coverage of potential use-cases.
- Comment on this forum post for any and all discussion and concerns about this effort.