#!/usr/bin/env bash #set -x set -e codegen_channel=debug sysroot_channel=debug flags= while [[ $# -gt 0 ]]; do case $1 in --release) codegen_channel=release shift ;; --release-sysroot) sysroot_channel=release shift ;; --no-default-features) flags="$flags --no-default-features" shift ;; --features) shift flags="$flags --features $1" shift ;; *) echo "Unknown option $1" exit 1 ;; esac done if [ -f ./gcc_path ]; then export GCC_PATH=$(cat gcc_path) else echo 'Please put the path to your custom build of libgccjit in the file `gcc_path`, see Readme.md for details' exit 1 fi export LD_LIBRARY_PATH="$GCC_PATH" export LIBRARY_PATH="$GCC_PATH" if [[ "$codegen_channel" == "release" ]]; then export CHANNEL='release' CARGO_INCREMENTAL=1 cargo rustc --release $flags else echo $LD_LIBRARY_PATH export CHANNEL='debug' cargo rustc $flags fi source config.sh rm -r target/out || true mkdir -p target/out/gccjit echo "[BUILD] sysroot" if [[ "$sysroot_channel" == "release" ]]; then time ./build_sysroot/build_sysroot.sh --release else time ./build_sysroot/build_sysroot.sh fi