xref: /dragonfly/libexec/customcc/cc.sh (revision 28c26f7e)
1#!/bin/sh
2
3CDIR=$(dirname $0)
4CNAME=$(basename $0)
5
6# XXX clang is called only for "cc" and "gcc" for now
7#
8if [ "${CCVER}" = "clang" ]; then
9	if [ "${CNAME}" = "cpp" ]; then
10		exec ${CDIR}/../gcc41/cpp "$@"
11	elif [ "${CNAME}" = "c++" -o "${CNAME}" = "g++" ]; then
12		exec ${CDIR}/../gcc41/c++ "$@"
13	else
14		INCOPT="-nobuiltininc -nostdinc \
15		    -isysroot @@INCPREFIX@@ \
16		    -isystem /usr/include \
17		    -isystem /usr/libdata/gcc41 \
18		    -isystem /usr/include/c++/4.1"
19	fi
20fi
21
22. /etc/defaults/compilers.conf
23[ -f /etc/compilers.conf ] && . /etc/compilers.conf
24
25CUSTOM_CC=`eval echo \$\{${CCVER}_CC\}`
26CUSTOM_CFLAGS=`eval echo \$\{${CCVER}_CFLAGS\}`
27CUSTOM_CXX=`eval echo \$\{${CCVER}_CXX\}`
28CUSTOM_CXXFLAGS=`eval echo \$\{${CCVER}_CXXFLAGS\}`
29CUSTOM_CPP=`eval echo \$\{${CCVER}_CPP\}`
30CUSTOM_CPPFLAGS=`eval echo \$\{${CCVER}_CPPFLAGS\}`
31CUSTOM_VERSION=`eval echo \$\{${CCVER}_VERSION\}`
32
33if [ "${CUSTOM_VERSION}" != "" -a "$1" = "-dumpversion" ]; then
34	echo ${CUSTOM_VERSION}
35elif [ "${CNAME}" = "cc" -o "${CNAME}" = "gcc" ]; then
36	exec ${CUSTOM_CC} ${INCOPT} ${CUSTOM_CFLAGS} "$@"
37elif [ "${CNAME}" = "c++" -o "${CNAME}" = "g++" ]; then
38	exec ${CUSTOM_CXX} ${INCOPT} ${CUSTOM_CXXFLAGS} "$@"
39elif [ "${CNAME}" = "cpp" ]; then
40	exec ${CUSTOM_CPP} ${INCOPT} ${CUSTOM_CPPFLAGS} "$@"
41fi
42