Fix support for building with --static-swift-stdlib
for armv7
#194
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The atomic library is used in the Swift stdlib for 32-bit architectures. As such, when attempting to compile a binary containing the static Swift stdlib using a Swift SDK for armv7,
-latomic
must be linked. This is not needed for regular cross-compilation, just when passing--static-swift-stdlib
.I've added
-latomic
for "armv7" and added a test case inLinuxRecipeTests
to ensure that it is included in the toolset.json file.Now, I can build my binary that contains the statically linked Swift stdlib with this command:
This generates a rather large binary when also linking other things such as Foundation and Dispatch, as is to be expected:
But that's fine, because it works perfectly on the target (Raspberry Pi 2) and provides yet another option for compiling binaries using the Swift SDK.