Skip to content

Windows cross compilation #12480

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

Closed
wants to merge 4 commits into from

Conversation

compnerd
Copy link
Member

Replace this paragraph with a description of your changes and rationale. Provide links to external references/discussions if appropriate.

Resolves SR-NNNN.

This makes it easier to read and see what is going on.  This made it
easier to see what parameters were being passed when debugging the
windows cross-compilation dependencies.
Rather than check the two names individually use a `IN_LIST` to make it
simpler to reason about.  Wrap another conditional to 80-columns.  NFC.
@compnerd
Copy link
Member Author

CC: @llvm-beanz @gottesmm

@compnerd
Copy link
Member Author

@swift-ci please test

@swift-ci
Copy link
Contributor

Build failed
Swift Test Linux Platform
Git Sha - fe04987b8300a60d19b6fa7a4515d6c9533aef38

For the non-MachO targets, which do not have the concept of fat
binaries, depend explicitly on the architecture variant.  This is
particularly useful for Windows which permits cross-compilation and
cross-targeting of all the variants even though it does not support fat
binaries.  This allows us to build a single variant of the windows
standard library at a time in the case that we would like to build a
subset of the targets.
When building non-MachO targets, there is no support for fat binaries.
As a result, the lipo target does nothing.  Because we do not support
variant builds for ELF targets, this has not resulted in any issues.
However, the PE/COFF (Windows) target suppots multiple variants.  In
such a case, the "lipo" target will copy a number of builds, leaving the
binary to be an arbitrary variant.  Instead, prefer to always use the
architectural variant path.  In place, create an empty target which
serves as a means of collecting dependencies.
@compnerd compnerd force-pushed the windows-cross-compilation branch from fe04987 to ff5d635 Compare October 17, 2017 23:40
@compnerd
Copy link
Member Author

@swift-ci please test

@swift-ci
Copy link
Contributor

Build failed
Swift Test OS X Platform
Git Sha - fe04987b8300a60d19b6fa7a4515d6c9533aef38

@swift-ci
Copy link
Contributor

Build failed
Swift Test Linux Platform
Git Sha - fe04987b8300a60d19b6fa7a4515d6c9533aef38

@compnerd
Copy link
Member Author

Rebased and split.

@compnerd compnerd closed this Jan 29, 2018
@compnerd compnerd deleted the windows-cross-compilation branch January 29, 2018 20:33
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.

2 participants