1#!/bin/sh 2 3CDIR=$(dirname $0) 4CNAME=$(basename $0) 5 6# XXX clang needs some special handling 7# 8# it is called only for "cc" and "gcc" and even then it could have been 9# run on c++ files 10# 11if [ "${CCVER}" = "clang" ]; then 12 if [ "${CNAME}" = "cpp" ]; then 13 exec ${CDIR}/../gcc41/cpp "$@" 14 elif [ "${CNAME}" = "c++" -o "${CNAME}" = "g++" ]; then 15 exec ${CDIR}/../gcc41/c++ "$@" 16 elif [ -z $beenhere ]; then 17 export beenhere=1 18 oldargs="$@" 19 export oldargs 20 INCOPT="-nobuiltininc -nostdinc \ 21 -isysroot @@INCPREFIX@@ \ 22 -isystem /usr/include \ 23 -isystem /usr/libdata/gcc41 \ 24 -isystem /usr/include/c++/4.1" 25 elif [ "${CNAME}" = "cc" -o "${CNAME}" = "gcc" ]; then 26 exec ${CDIR}/../gcc41/cc $oldargs 27 fi 28elif [ "${CCVER}" = "clangsvn" ]; then 29 if [ "${CNAME}" = "cpp" ]; then 30 exec ${CDIR}/../gcc41/cpp "$@" 31 else 32 INCOPT="-nobuiltininc -nostdinc \ 33 -isysroot @@INCPREFIX@@ \ 34 -isystem /usr/include \ 35 -isystem /usr/include/c++/4.4" 36 fi 37fi 38 39. /etc/defaults/compilers.conf 40[ -f /etc/compilers.conf ] && . /etc/compilers.conf 41 42CUSTOM_CC=`eval echo \$\{${CCVER}_CC\}` 43CUSTOM_CFLAGS=`eval echo \$\{${CCVER}_CFLAGS\}` 44CUSTOM_CXX=`eval echo \$\{${CCVER}_CXX\}` 45CUSTOM_CXXFLAGS=`eval echo \$\{${CCVER}_CXXFLAGS\}` 46CUSTOM_CPP=`eval echo \$\{${CCVER}_CPP\}` 47CUSTOM_CPPFLAGS=`eval echo \$\{${CCVER}_CPPFLAGS\}` 48CUSTOM_VERSION=`eval echo \$\{${CCVER}_VERSION\}` 49 50if [ "${CUSTOM_VERSION}" != "" -a "$1" = "-dumpversion" ]; then 51 echo ${CUSTOM_VERSION} 52elif [ "${CNAME}" = "cc" -o "${CNAME}" = "gcc" ]; then 53 exec ${CUSTOM_CC} ${INCOPT} ${CUSTOM_CFLAGS} "$@" 54elif [ "${CNAME}" = "c++" -o "${CNAME}" = "g++" ]; then 55 exec ${CUSTOM_CXX} ${INCOPT} ${CUSTOM_CXXFLAGS} "$@" 56elif [ "${CNAME}" = "cpp" ]; then 57 exec ${CUSTOM_CPP} ${INCOPT} ${CUSTOM_CPPFLAGS} "$@" 58fi 59