#!/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/sh
cc="clang"
libc="/nix/store/bg98g1bxai0syh06hvg1hwxrzvdbzbv4-musl-static-x86_64-unknown-linux-musl-1.2.5"
libc_inc="/nix/store/74hbw0l8vrrfgafqg47p1xbjwpjxhddz-musl-static-x86_64-unknown-linux-musl-1.2.5-dev/include"
libc_lib="/nix/store/bg98g1bxai0syh06hvg1hwxrzvdbzbv4-musl-static-x86_64-unknown-linux-musl-1.2.5/lib"
thisdir="`cd "$(dirname "$0")"; pwd`"

# prevent clang from running the linker (and erroring) on no input.
sflags=
eflags=
for x ; do
    case "$x" in
        -l*) input=1 ;;
        *) input= ;;
    esac
    if test "$input" ; then
        sflags="-l-user-start"
        eflags="-l-user-end"
        break
    fi
done

exec $cc \
    -B"$thisdir" \
    -fuse-ld=musl-clang \
    -static-libgcc \
    -nostdinc \
    --sysroot "$libc" \
    -isystem "$libc_inc" \
    -L-user-start \
    $sflags \
    "$@" \
    $eflags \
    -L"$libc_lib" \
    -L-user-end
