43 lines
986 B
Plaintext
43 lines
986 B
Plaintext
|
#!/bin/sh
|
||
|
# PROJECT: XTchain
|
||
|
# LICENSE: See the COPYING.md in the top level directory
|
||
|
# FILE: scripts/clang-target-wrapper
|
||
|
# DESCRIPTION: CLANG Wrapper
|
||
|
# DEVELOPERS: Martin Storsjo <martin@martin.st>
|
||
|
# Rafal Kupiec <belliash@codingworkshop.eu.org>
|
||
|
|
||
|
|
||
|
# Set basic variables
|
||
|
DIR="$(cd $(dirname $0) && pwd)"
|
||
|
CLANG="$DIR/clang"
|
||
|
BASENAME="$(basename $0)"
|
||
|
TARGET="${BASENAME%-*}"
|
||
|
EXECUTABLE="${BASENAME##*-}"
|
||
|
DEFAULT_TARGET="x86_64-w64-mingw32"
|
||
|
ARCH="${TARGET%%-*}"
|
||
|
|
||
|
# Set proper target
|
||
|
if [ "${TARGET}" = "${BASENAME}" ]; then
|
||
|
TARGET="${DEFAULT_TARGET}"
|
||
|
fi
|
||
|
|
||
|
# Set lang-specific flags
|
||
|
case ${EXECUTABLE} in
|
||
|
"clang++"|"g++"|"c++")
|
||
|
FLAGS="$FLAGS --driver-mode=g++"
|
||
|
;;
|
||
|
*)
|
||
|
FLAGS=""
|
||
|
;;
|
||
|
esac
|
||
|
|
||
|
# Set compiler flags
|
||
|
FLAGS="${FLAGS} -target ${TARGET}"
|
||
|
FLAGS="${FLAGS} -rtlib=compiler-rt"
|
||
|
FLAGS="${FLAGS} -stdlib=libc++"
|
||
|
FLAGS="${FLAGS} -fuse-ld=lld"
|
||
|
FLAGS="${FLAGS} -Qunused-arguments"
|
||
|
|
||
|
# Launch the compiler
|
||
|
$CLANG $FLAGS "$@"
|