Files
kotlin-fork/kotlin-native/tools/toolchain_builder/build_toolchain.sh
T
Sergey Bogolepov 357f2be14e [Toolchain] Archive versioning
Allow toolchain builder to add a suffix to toolchain name.
It is useful for rebuilding the same toolchain in different environment.

(cherry picked from commit 83148fc5bb4e8bcc5afcf119df53ec1bc854be17)
2021-03-09 20:19:32 +00:00

53 lines
1.1 KiB
Bash

#!/bin/bash
set -eou pipefail
TARGET=$1
VERSION=$2
TOOLCHAIN_VERSION_SUFFIX=$3
HOME=/home/ct
ZLIB_VERSION=1.2.11
build_toolchain() {
mkdir $HOME/build-"$TARGET"
cd $HOME/build-"$TARGET"
cp $HOME/toolchains/"$TARGET"/"$VERSION".config .config
ct-ng build
cd ..
}
build_zlib() {
TOOLCHAINS_PATH=$HOME/x-tools
INSTALL_PATH=$TOOLCHAINS_PATH/$TARGET/$TARGET/sysroot/usr
TOOLCHAIN_BIN_PREFIX=$TOOLCHAINS_PATH/$TARGET/bin/$TARGET
cd $HOME/zlib-$ZLIB_VERSION
CHOST=$TARGET \
CC=$TOOLCHAIN_BIN_PREFIX-gcc \
AR=$TOOLCHAIN_BIN_PREFIX-ar \
RANLIB=$TOOLCHAIN_BIN_PREFIX-ranlib \
./configure \
--prefix="$INSTALL_PATH"
make && make install
}
build_archive() {
cd $HOME/x-tools
if [ -z "$TOOLCHAIN_VERSION_SUFFIX" ]
then
FULL_NAME="$TARGET-$VERSION"
else
FULL_NAME="$TARGET-$VERSION-$TOOLCHAIN_VERSION_SUFFIX"
fi
mv "$TARGET" "$FULL_NAME"
ARCHIVE_NAME="$FULL_NAME.tar.gz"
tar -czvf "$ARCHIVE_NAME" "$FULL_NAME"
cp "$ARCHIVE_NAME" /artifacts/"$ARCHIVE_NAME"
}
echo "building toolchain for $TARGET"
build_toolchain
build_zlib
build_archive