-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Coordinate porting to Windows #5430
Copy link
Copy link
Closed
Labels
community:in-progresshelp wantedThis issue is generally accepted and needs someone to pick it upThis issue is generally accepted and needs someone to pick it upkind:featureplatform:windowsWindows support based on the MSVC toolchain / Win32 APIWindows support based on the MSVC toolchain / Win32 API
Metadata
Metadata
Assignees
Labels
community:in-progresshelp wantedThis issue is generally accepted and needs someone to pick it upThis issue is generally accepted and needs someone to pick it upkind:featureplatform:windowsWindows support based on the MSVC toolchain / Win32 APIWindows support based on the MSVC toolchain / Win32 API
Type
Fields
Give feedbackNo fields configured for issues without a type.
Projects
StatusShow more project fields
Done
UPDATE 2023-04-24:
All the main platform features for Windows are finished! 🚀
There are still some smaller stories pending. Project board: Windows Support (view)
You can support the ongoing development financially: Windows suppport project on Open Collective.
UPDATE 2021-11-18:
By now, the compiler works pretty well on windows and most of the standard library has been ported as well. Besides a couple other smaller missing pieces, the major gap is in concurrency-related features held back by the missing event loop implementation.
With #5339 being merged, the first step of bringing Crystal to Windows has been accomplished!
With current master branch it is possible to cross-compile and run simple programs (alá Hello, World!) on native Windows.
Obviously we're still far away from porting the compiler or entire standard library to windows. This issue is supposed to coordinate and keep track of ongoing efforts to add support for more and more of the crystal standard library.
TODO
The primary focus should be on the core library (somewhat odered by priority):
Mutexon Windows #12213Socketto win32 #10696And of course a CI infrastructure once specs are running on windows.
Proceedings
The general course of action is to extract platform-specific implementations and then add the implementation for win32 platform.
A lot of work has already been done in #3582 but it needs to be updated and chopped into smaller pieces of changes.
The first goal should probably be to get specs running on windows to be able to verify the windows implementations. Essential for this are as far as I can see file, dir, exceptions (backtrace!), process and signal.
If you want to help with that effort, or want to "take" a piece of that work to work on, please comment below.
Useful References
Please feel free to add and edit this post as appropriate (core team).