Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[SR-34] Port Swift to Windows #42657

Closed
swift-ci opened this issue Dec 4, 2015 · 8 comments
Closed

[SR-34] Port Swift to Windows #42657

swift-ci opened this issue Dec 4, 2015 · 8 comments
Assignees
Labels
feature A feature request or implementation platform support Windows Platform: Windows

Comments

@swift-ci
Copy link
Collaborator

swift-ci commented Dec 4, 2015

Previous ID SR-34
Radar None
Original Reporter add210 (JIRA User)
Type New Feature
Status Resolved
Resolution Done
Additional Detail from JIRA
Votes 11
Component/s
Labels New Feature, NewPortRequest, Windows
Assignee @compnerd
Priority Medium

md5: f4b64a255a413f9bd9346ba92309927c

relates to:

  • SR-1131 Build script for MSVC on Windows

Issue Description:

Port Swift to Windows. This effectively breaks into a few ports (see linked issues) but the important ones being:

❌ Port to Visual Studio (MSVC)
❌ Port to Cygwin

This is actively being worked on here by tinysun (JIRA User): https://github.com/tinysun212/swift-windows

@swift-ci
Copy link
Collaborator Author

Comment by Unai Landa (JIRA)

Even if not done, if would be great to provide a "path to follow" for the community in the sense of a task break down and/or pending dependencies form clang/llvm that could make this not possible at the moment.

@swift-ci
Copy link
Collaborator Author

Comment by Han Sangjin (JIRA)

Ignoring the difference between 32bit and 64bit, I have seen several triples for windows,
*-windows-mingw
*-windows-msvc
*-windows-cygnus
*-windows-gnu.

Each triple has different compile environment and runtime for building and running, althogh the object files and executables have same file format,

So, I think 'Porting to Windows' may be splitted into 'Porting to Windows/MSVC', 'Porting to Windows/Cygnus', 'Porting to Windows/Mingw', etc.

And, each porting effort can be classified as follows,

  1. compiler (swift.exe),
  2. standard library (Swift.swiftmodule, swiftCore.dll),
  3. build script (CMakeLists.txt, build-script.sh, etc),
  4. Test script.

@swift-ci
Copy link
Collaborator Author

swift-ci commented Apr 3, 2016

Comment by Hitster GTD (JIRA)

If there is a Windows port being worked on, why spend effort on anything except for *-windows-msvc?

I would have thought the goal of a language platform is to be as seamless as possible and requiring the least amount of "moving parts" as possible. Considering a port to *-windows-mingw, *-windows-cygnus, etc. just means that the port becomes dependent on more third-party frameworks.

@swift-ci
Copy link
Collaborator Author

swift-ci commented May 8, 2016

Comment by Stefan Popp (JIRA)

Is anyone aware of this project here http://swiftforwindows.codeplex.com / https://github.com/tinysun212/swift-windows/tree/swift-msvc-20160507 ?

@swift-ci
Copy link
Collaborator Author

swift-ci commented May 8, 2016

Comment by Han Sangjin (JIRA)

I knew the github's swift-windows, but I didn't know the swiftforwindows.codeplex.com. That's interesting.

Thanks for your information.

@swift-ci
Copy link
Collaborator Author

Comment by Muhammad Mominul Huque (JIRA)

tinysun (JIRA User) How about opening a organization for Windows on github like Android has?
CC: @compnerd

@compnerd
Copy link
Collaborator

Not sure how valuable that would be. It complicates things to have different upstream for the ports. Furthermore, most of the MSVC support is merged into mainline (theres some work needed to fix the last few things). I think we can do the same with cygwin, and just work from the same tree.

@compnerd
Copy link
Collaborator

compnerd commented Mar 2, 2018

The MSVC port is pretty much done. There is ongoing work to get the tests passing, but a complete build works. Furthermore, the MSVC build has been verified to be able to build and run programs written in swift on Windows. The cygwin port seems to be pretty similarly far along. I'm marking this as done for now.

@swift-ci swift-ci transferred this issue from apple/swift-issues Apr 25, 2022
@AnthonyLatsis AnthonyLatsis added platform support feature A feature request or implementation and removed new feature labels Nov 11, 2022
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature A feature request or implementation platform support Windows Platform: Windows
Projects
None yet
Development

No branches or pull requests

3 participants