Files
Svyatoslav Scherbina aecf18b842 Native: move copying of toolchain builder artifact from Docker to host
Don't make Docker container copy artifact to a host directory mounted
with -v, because this fails due to a file permission issue:
build is run by a regular user, but the volume directory inside the
container is owned by root.

Instead, make the host copy the artifact from the container.

Also, make the container print the artifact path before that.
Just in case, in order to easily copy file manually, should something
go wrong.

^KT-58864
2023-07-21 10:40:13 +00:00
..

Kotlin/Native toolchains builder

This directory contains a set of scripts and configuration files that allow one to build the same toolchain that is used by Kotlin/Native.

System requirements

  • Docker

Usage

  1. First, you need to build a Docker image with crosstool-ng inside. Use create_image.sh for it.
  2. Now you can build an actual toolchain. To pick one, take a look inside toolchains folder. It is organized as $TARGET/$VERSION. Then run ./run_container.sh $TARGET $VERSION $TOOLCHAIN_VERSION_SUFFIX. Building a toolchain might take a while (~17 minutes on Ryzen 5 3600). Once ready, an archive will be placed in artifacts folder. $TOOLCHAIN_VERSION_SUFFIX is an optional argument that adds suffix to the end of toolchain name.

Example

./create_image.sh && ./run_container.sh aarch64-unknown-linux-gnu gcc-8.3.0-glibc-2.25-kernel-4.9

Notes

Check that Docker can write to artifacts directory (where build_toolchains.sh places archives).