-
Notifications
You must be signed in to change notification settings - Fork 470
Windows BlocksRuntime #362
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
Conversation
CC: @MadCoder @millenomi |
how does this relate to #361 ? |
The only way it really relates to #361 is my laziness. I didn't pull this onto a separate branch so it is sitting on top. I can remove the underlying commit (I figure that I would have to rebase it anyways). |
ok that's a lot of mojo jumbo cmake and I understand very little of it, anyone feeling like reviewing this? |
@MadCoder - rebased. It should be primarily |
@swift-ci please test |
Please test with following PR: @swift-ci please test |
Doesn't the static build of libdispatch still need the static blocks runtime? |
I also thought the blocks runtime was designed to be included statically. @rjmccall? |
IIRC, it's designed to be linked into the program image. I don't know how well it would work with multiple copies in an application; each copy would try to export the same strong symbols, which might annoy the static linker (depending on how you link it in) and might annoy the loader (depending on how much it enforces), but if you somehow got around that I don't know that anything would break — I don't think there are any global registries or anything like that. Certainly some of the ObjC-interop features wouldn't work, but that's probably okay on targets without ObjC interop. |
Please test with following PR: @swift-ci please test |
@rjmccall - yeah, the multiple definitions wouldn't work very well for parts of the runtime, so, although this adds an additional library, having it shared seems better. |
Please test with following PR: @swift-ci please test |
Please test with following PR: @swift-ci please test |
Please test with following PR: @swift-ci please test |
1 similar comment
Please test with following PR: @swift-ci please test |
Please test with following PR: @swift-ci please test |
Please test with following PR: @swift-ci please test |
Okay, this splits out the Windows handling now, but is rebased on top of #395. Once that is handled, we can come back to this. |
b476511
to
8088e28
Compare
Adjust the build for Windows to permit the isa pointer to successfully link. They will be off by a level of indirection and need to be patched up at runtime.
@swift-ci please test |
Windows BlocksRuntime Signed-off-by: Kim Topley <[email protected]>
No description provided.