CARVIEW |
Navigation Menu
-
Notifications
You must be signed in to change notification settings - Fork 16
Releases: CSCIX65G/SwiftCrossCompilers
5.6.1
f011c6e
Compare
Assets 2
5.5.2 Release
565bfc7
Compare
Adds support for swift 5.5.2 on armv8 and amd64
What's Changed
- 5.5.1 destination by @krzyzanowskim in #9
- 5.5.1-RELEASE amd64 destination by @krzyzanowskim in #10
- 5.5.2 configuration by @krzyzanowskim in #11
- Add platform cpp flag by @krzyzanowskim in #12
- Link ld.gold -> ld by @krzyzanowskim in #13
- Add SwiftPackage libs to SDK by @krzyzanowskim in #14
- making some 5.4 changes by @rvsrvs in #15
New Contributors
- @krzyzanowskim made their first contribution in #9
- @rvsrvs made their first contribution in #15
Full Changelog: 5.4.2...5.5.2
Assets 2
5.4.2 release
bd14164
Compare
Prepping all platforms for 5.4.2 release
Assets 5
Update to Swift 5.3.3, drop support for 32-bit platforms
Compare
This release brings the cross compilers up to Swift 5.3.3. The build scripts should now accept configurations for versions forward from 5.2. (Sorry it took so long). Since the release of 5.2 it has been impossible to build 32-bit swift for the arm-v7 and arm-v6 platforms, so for this release the 32-bit versions have been dropped. Sorry about that too. Ubuntu 18.02 bionic is the still the basis for the included swift runtimes. With 5.4 support I plan to transition to Ubuntu 20.04.
The arm64 x-compiler will build executables which, when linked with the included runtime libs, will run on either Raspberry Pi 3 or 4 or Apple M1 devices running docker. The two source projects included here demonstrate building for those environments.
The amd64 x-compiler will build executables which, when linked with the included runtime libs, will run on either x86-64 devices running Linux or on Apple Intel devices running docker. The two source projects included here demonstrate building for those environments.
Note that the intended use case of both packages is to generate SCRATCH docker images which can be run on their respective target. You don't have to base your docker image on SCRATCH, but if you don't you will need to base on an Ubuntu Bionic image and make sure that the Swift runtime libs included in this package are ahead of the native packages in the linker search path.
You may want to check out the companion project to this one ( https://github.com/CSCIX65G/swift-remote-debug.git ) for example Docker build files which build working Swift docker images.
If none of that sounds familiar, x-compiling may not be for you.
Assets 4
Cross Compilers for Swift 5.1.1
Compare
Release Notes:
This release contains installer packages for MacOS cross compilers of the Swift 5.1.1 release. There is a separate installer package for the following architectures:
- arm64 - for Raspberry Pi 3, 3+, 4 running 64-bit OSes.
- armv7 - for Pi 2, 3, 3+, 4 running 32-bit OSes such as Raspbian
- armv7-raspbian - for Pi 2, 3, 3+, 4 running directly under Raspbian
- armv6 - Pi 0 and 1 running 32-bit OSes such as Raspbian.
- amd64 - for Intel architecture devices running Linux.
Each distribution includes: a toolchain, an SDK, a destination file and a collection of libs used at runtime. X-compiled applications are best run under Docker, but judicious setting of the LD_LIBRARY_PATH variable to point at the correct runtime can also work.
See the main page for more details.
Example usage:
cd helloworld
swift build --destination /Library/Developer/Destinations/arm64-5.1.0-RELEASE.json
swift build --destination /Library/Developer/Destinations/amd64-5.1.0-RELEASE.json
swift build --destination /Library/Developer/Destinations/armv7-5.1.0-RELEASE.json
/Library/Developer/Toolchains/armhf-5.1.1-RELEASE_armv6.xctoolchain/usr/bin/swift build --destination /Library/Developer/Destinations/armv6-5.1.1-RELEASE.json
Associated Ubuntu 18.04 runtimes for each architecture can be found in /Library/Developer/Runtimes after installation. The runtimes are the easiest way to construct distro-less docker containers for deploying to your Pi or cloud installation.
Note that this release includes the mosquitto MQTT developer packages. This is not strictly necessary for compiling but has been added for convenience because many R/Pi IoT projects (in particular the maintainer's :) ) require an MQTT client.
NB, this release includes a Mac OS/X toolchain: swift-5.1.1-osx-armv6.pkg. This has one patch to the swift package manager to include an armv6 target for generation of binaries using the armv6 instruction set. You do not need to download this package as it is incorporated in the armv6 cross-compiler: Swift-arm6-5.1.pkg during x-compiler build. It is here solely to allow others to build the x-compiler without having to apply the patch and rebuild a macosx toolchain themselves.
You do need to make sure you use that particular version of the swift toolchain when compiling your Pi Zero/1 code. i.e. do NOT just say swift build --destination /Library/Developer/Destinations/armv6-5.1.1-RELEASE.json
as that will pick up the standard xcode version of swift which does not include support for emitting armv6 objects. You should instead use the swift command from the x-compiler toolchain as shown above.
Assets 8
Cross compilers for Swift 5.0 Release
Compare
This release contains cross compiler installer packages for the Swift 5.0 release for the following architectures:
- arm64
- armv7
- armv6
- amd64
arm64 is for Raspberry Pi 3, 3+ running 64-bit OSes. armv7 is for Pi 2, 3, 3+ running 32-bit OSes such as Raspbian, armv6 is Pi 0 and 1 running 32-bit OSes such as Raspbian. amd64 is for Intel architecture devices running Linux. Each distribution includes: a toolchain, an SDK, a destination file and a collection of libs used at runtime. X-compiled applications are best run under Docker, but judicious setting of the LD_LIBRARY_PATH variable to correctly point at the correct runtime can also work. See the main page for more details.
Example usage:
cd helloworld
swift build --destination /Library/Developer/Destinations/arm64-5.0-RELEASE.json
swift build --destination /Library/Developer/Destinations/amd64-5.0-RELEASE.json
swift build --destination /Library/Developer/Destinations/armv7-5.0-RELEASE.json
swift build --destination /Library/Developer/Destinations/armv6-5.0-RELEASE.json
Associated runtimes for each can be found in /Library/Developer/Runtimes
after installation.
NB, this release includes a Mac OS/X toolchain: swift-5.0-armv6-osx.pkg
. This has one patch to the swift package manager to include an armv6 target for generation of binaries using the armv6 instruction set. You do not need to download this package as it is incorporated in the armv6 cross-compiler: Swift-arm6-5.0.pkg
during x-compiler build. It is here solely to allow others to build the x-compiler without having to apply the patch and rebuild a macosx toolchain themselves.