Swift for ARM Systems
There has been a lot of excitement over using Swift on ARM devices such as the Raspberry Pi and BeagleBone. Earlier this year a number of folks made tremendous progress in getting Swift 2.2 somewhat working on the Raspberry Pi 2.
As the future of Swift looks ever brighter and the language is beginning to attract more fans its clear that a renewed focus on building a functioning Swift 3.0 toolchain for ARMv7 systems would be appreciated by the community.
Now I’ll be clear: the guy to lead the technical effort isn’t me. What I can do though is help collect together all of the notes from those working on this, organize a team for collaboration, and in some small part provide a bit of hardware to help compile and test things.
What’s Being Built?
Swift 3.0 for armv7. Note that this excludes the original Raspberry Pi and any other system using an armv6 processor.
All of the repos currently being used to build are Apple’s, with one exception, and that’s llvm which uses the
arm branch. At the beginning of every build there is an information dump of what repositories make up the build, like this:
Repository,URL,Branch,Revision swift,https://github.com/apple/swift.git,master,0c011c328c llvm,https://github.com/hpux735/swift-llvm,arm,473f9137a9 clang,https://github.com/apple/swift-clang.git,stable,1e6cba3ce3 compiler-rt,https://github.com/apple/swift-compiler-rt.git,stable,a897309947 lldb,https://github.com/apple/swift-lldb.git,master,38dbc3b761 cmark,https://github.com/apple/swift-cmark.git,master,5af77f3c1d llbuild,https://github.com/apple/swift-llbuild.git,master,437ce6ce0b swiftpm,https://github.com/apple/swift-package-manager.git,master,2d8ded119d swift-corelibs-xctest,https://github.com/apple/swift-corelibs-xctest.git,master,244507b687 swift-corelibs-foundation,https://github.com/apple/swift-corelibs-foundation.git,master,d2dc9f3cf9 swift-integration-tests,https://github.com/apple/swift-integration-tests.git,master,98f6c6d992 swift-corelibs-libdispatch,https://github.com/apple/swift-corelibs-libdispatch.git,master,65330e06d9
The goal of the incremental builds is to not run a
make clean prior to the build, as even with the X15 the compiles take quite some time (around 4 hours).
For now the build will be issued on demand at the direction of folks doing the development.
Issues Being Tackled
Editor’s note: This list is going to be fluid.
- Open ARM Issues
- Adding Swift Tests
If you are interested in getting involved in helping the port of Swift to ARM devices, come join our Slack team.