swiftlang / swift-package-manager

The Package Manager for the Swift Programming Language
Apache License 2.0
9.75k stars 1.35k forks source link

Add (partial) support for building on Windows using SwiftPM #7866

Closed jakepetroules closed 3 months ago

jakepetroules commented 3 months ago

This adds a dependency on the new swift-toolchain-sqlite package, which allows swift-package-manager to build using swift build on Windows (including tests) without any additional flags or preinstalled dependencies.

It's "partial" because there is still one final blocker, which is that linking fails because we exceed the 65k exported symbol limit due to limitations in the build system, which can be addressed separately.

MaxDesiatov commented 3 months ago

@swift-ci test

jakepetroules commented 3 months ago

error: Dependencies could not be resolved because 'swift-llbuild' depends on 'swift-toolchain-sqlite' 0.1.0..<1.0.0. 'swift-toolchain-sqlite' >= 0.1.0 cannot be used because 'swift-toolchain-sqlite' 0.1.0 contains incompatible tools version (5.10.0) and no versions of 'swift-toolchain-sqlite' match the requirement 0.1.1..<1.0.0.

The macOS CI is still using Swift 5.9. Is this expected or should I bump down the tools version in swift-toolchain-sqlite from 5.10 to 5.9?

jakepetroules commented 3 months ago

@swift-ci please test Windows

jakepetroules commented 3 months ago

@swift-ci please test macOS

bnbarham commented 3 months ago

The macOS CI is still using Swift 5.9. Is this expected or should I bump down the tools version in swift-toolchain-sqlite from 5.10 to 5.9?

I'd prefer just bumping down for now. We should separately test bumping Utilities/Docker/Dockerfile up to 5.10

jakepetroules commented 3 months ago

@swift-ci please test

jakepetroules commented 3 months ago

@swift-ci please test windows