#!/usr/bin/env bash

set -euo pipefail

real_compiler="${DTK_AMDCLANG_REAL:-/opt/dtk/llvm/bin/dcc}"
bad_gcc_toolchain="${DTK_BAD_GCC_TOOLCHAIN:-/opt/dtk/llvm}"
fixed_gcc_toolchain="${DTK_GCC_TOOLCHAIN:-/usr}"

args=()

while (($#)); do
    case "$1" in
        --gcc-toolchain="$bad_gcc_toolchain")
            args+=("--gcc-toolchain=$fixed_gcc_toolchain")
            shift
            ;;
        --gcc-toolchain)
            if (($# >= 2)) && [[ "$2" == "$bad_gcc_toolchain" ]]; then
                args+=("--gcc-toolchain" "$fixed_gcc_toolchain")
                shift 2
            else
                args+=("$1")
                shift
                if (($#)); then
                    args+=("$1")
                    shift
                fi
            fi
            ;;
        *)
            args+=("$1")
            shift
            ;;
    esac
done

exec "$real_compiler" "${args[@]}"
