Blob: scripts/mouse-cc
Raw · Blame
#!/bin/sh
set -eu
: "${MOUSE_SYSROOT:?MOUSE_SYSROOT is required}"
: "${MOUSE_LLD:?MOUSE_LLD is required}"
: "${MOUSE_BUILTINS:?MOUSE_BUILTINS is required}"
: "${MOUSE_LINK_COMPAT:?MOUSE_LINK_COMPAT is required}"
compiler=${MOUSE_CLANG:-clang}
link=yes
for argument do
case "$argument" in
-c|-E|-M|-MM|-S|-fsyntax-only|-shared|-r)
link=no
;;
esac
done
if [ "$link" = no ]; then
exec "$compiler" \
--target=x86_64-unknown-linux-musl \
--sysroot="$MOUSE_SYSROOT" \
"$@"
fi
exec "$compiler" \
--target=x86_64-unknown-linux-musl \
--sysroot="$MOUSE_SYSROOT" \
--ld-path="$MOUSE_LLD" \
-nostdlib \
-static \
"$MOUSE_SYSROOT/usr/lib/crt1.o" \
"$MOUSE_SYSROOT/usr/lib/crti.o" \
-L"$MOUSE_SYSROOT/usr/lib" \
"$@" \
-Wl,--start-group \
"$MOUSE_BUILTINS" \
"$MOUSE_LINK_COMPAT" \
"$MOUSE_SYSROOT/usr/lib/libc.a" \
-Wl,--end-group \
"$MOUSE_SYSROOT/usr/lib/crtn.o"