Skip to content

Instantly share code, notes, and snippets.

@aciidgh
Last active June 6, 2016 17:54
Show Gist options
  • Save aciidgh/e3e0b783af2b318d0a07ab72d9359bc1 to your computer and use it in GitHub Desktop.
Save aciidgh/e3e0b783af2b318d0a07ab72d9359bc1 to your computer and use it in GitHub Desktop.
Creates a toolchain on linux from a build created with `./swift/utils/build-script -R --llbuild --swiftpm --foundation --xctest`
#!/bin/sh
set -e
if [ -z "${CONFIGURATION}" ]; then
CONFIGURATION=debug
fi
PLATFORM='unknown'
unamestr=`uname`
if [ "$unamestr" = 'Linux' ]; then
PLATFORM='linux'
elif [ "$unamestr" = 'Darwin' ]; then
PLATFORM='macosx'
fi
INSTALL_LOCATION=build/toolchain
USR_DIR=$INSTALL_LOCATION/usr
BIN_DIR=$USR_DIR/bin
LIB_DIR=$USR_DIR/lib
mkdir -p $BIN_DIR
mkdir -p $LIB_DIR
BUILD_DIR=build/Ninja-ReleaseAssert
#Install swift
SWIFT_BUILD_DIR=$BUILD_DIR/swift-$PLATFORM-x86_64
SWIFT_BIN_BUILD_DIR=$SWIFT_BUILD_DIR/bin
rsync -ar \
$SWIFT_BIN_BUILD_DIR/* \
$BIN_DIR
#install swift libs
SWIFT_LIB_BUILD_DIR=$SWIFT_BUILD_DIR/lib
rsync -ar \
$SWIFT_LIB_BUILD_DIR/swift \
$LIB_DIR
#Install swiftpm
SWIFTPM_BUILD_DIR=$BUILD_DIR/swiftpm-$PLATFORM-x86_64/$CONFIGURATION
rsync -ar \
$SWIFTPM_BUILD_DIR/swift-build \
$SWIFTPM_BUILD_DIR/swift-test \
$SWIFTPM_BUILD_DIR/swift-package \
$BIN_DIR
#Install llbuild
LLBUILD_BUILD_DIR=$BUILD_DIR/llbuild-$PLATFORM-x86_64
LLBUILD_BIN_BUILD_DIR=$BUILD_DIR/llbuild-$PLATFORM-x86_64/bin
rsync -ar \
$LLBUILD_BIN_BUILD_DIR/swift-build-tool \
$BIN_DIR
#Install foundation
FOUNDATION_DIR=$BUILD_DIR/foundation-$PLATFORM-x86_64/Foundation
#Install core foundation headers
rsync -ar \
$FOUNDATION_DIR/usr \
$INSTALL_LOCATION
rsync -ar \
$FOUNDATION_DIR/libFoundation.so \
$LIB_DIR/swift/$PLATFORM
rsync -ar \
$FOUNDATION_DIR/Foundation.swiftdoc \
$FOUNDATION_DIR/Foundation.swiftmodule \
$LIB_DIR/swift/$PLATFORM/x86_64
#XCTest
XCTEST_DIR=$BUILD_DIR/xctest-$PLATFORM-x86_64
rsync -ar \
$XCTEST_DIR/libXCTest.so \
$LIB_DIR/swift/$PLATFORM
rsync -ar \
$XCTEST_DIR/XCTest.swiftdoc \
$XCTEST_DIR/XCTest.swiftmodule \
$LIB_DIR/swift/$PLATFORM/x86_64
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment