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

Add Windows Support via cross-compilation using xwin for SDKs #7

Merged
merged 1 commit into from
May 4, 2022

Conversation

jemc
Copy link
Collaborator

@jemc jemc commented May 4, 2022

This PR compiles an x86_64 Windows version of the runtime bitcode
on an x86_64 Linux host, using Windows SDKs obtained via
xwin.

The resulting runtime has not yet been tested/confirmed to work
on a real Windows machine, but that testing will happen later
after we have updated the Savi compiler to support the Windows target
(and to support cross-compilation more generally, since it's
expected that for now the compiler will not be able to run on Windows
directly, and will have to run within WSL and "cross-compile" to Windows).

This change includes removing the old debuginfo patch and replacing
it with a more general patch that allows us to inject arbitrary CFLAGS,
which are needed for Windows cross-compilation beyond just the
debuginfo.

This patch is expected to be merged into mainline Pony
(see ponylang/ponyc#4108), at which point our
patch here will fail to apply and we'll need to remove it from our repo.

@jemc jemc self-assigned this May 4, 2022
@jemc jemc force-pushed the add/windows-xwin branch 3 times, most recently from 04706aa to 5b2ea23 Compare May 4, 2022 21:05
@jemc jemc changed the title WIP Add Windows Support via cross-compilation using xwin for SDKs May 4, 2022
@jemc jemc force-pushed the add/windows-xwin branch 6 times, most recently from 8dd89fb to 69a9a61 Compare May 4, 2022 21:51
This PR compiles an x86_64 Windows version of the runtime bitcode
on an x86_64 Linux host, using Windows SDKs obtained via
[xwin](https://github.com/Jake-Shadle/xwin).

The resulting runtime has not yet been tested/confirmed to work
on a real Windows machine, but that testing will happen later
after we have updated the Savi compiler to support the Windows target
(and to support cross-compilation more generally, since it's
expected that for now the compiler will not be able to run on Windows
directly, and will have to run within WSL and "cross-compile" to Windows).

This change includes removing the old debuginfo patch and replacing
it with a more general patch that allows us to inject arbitrary CFLAGS,
which are needed for Windows cross-compilation beyond just the
debuginfo.

This patch is expected to be merged into mainline Pony
(see ponylang/ponyc#4108), at which point our
patch here will fail to apply and we'll need to remove it from our repo.
@jemc jemc merged commit ffb2f47 into main May 4, 2022
@jemc jemc deleted the add/windows-xwin branch May 4, 2022 22:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant