#!/bin/sh # script to set GNU CPP or CC1, CC1PLUS to be called from gcc # ./unset_mcpp.sh $gcc_path $gcc_maj_ver $gcc_min_ver $cpp_call $CC $CXX # x$EXEEXT $LN_S $inc_dir $host_system $target_cc gcc_maj_ver=$2 gcc_min_ver=$3 cpp_call=$4 CC=$5 CXX=$6 LN_S=$8 inc_dir=$9 host_system=${10} target_cc=${11} cpp_name=`echo $cpp_call | sed 's,.*/,,'` cpp_path=`echo $cpp_call | sed "s,/$cpp_name,,"` gcc_path=`echo $1 | sed "s,/${CC}\$,,"` EXEEXT=`echo $7 | sed 's/^x//'` if test x$EXEEXT != x; then cpp_base=`echo $cpp_name | sed "s/$EXEEXT//"` else cpp_base=$cpp_name fi echo " rm -fr $inc_dir/mcpp-gcc*" rm -fr $inc_dir/mcpp-gcc* if test $host_system = SYS_CYGWIN; then echo " rm -fr $inc_dir/mingw" rm -fr $inc_dir/mingw fi echo " cd $cpp_path" cd $cpp_path if (test -h $cpp_name || test $host_system = SYS_MINGW) \ && test -f ${cpp_base}_gnuc$EXEEXT; then rm -f $cpp_name mcpp.sh echo " mv ${cpp_base}_gnuc$EXEEXT $cpp_name" mv -f ${cpp_base}_gnuc$EXEEXT $cpp_name if test x$cpp_base = xcc1; then rm -f cc1plus$EXEEXT mcpp_plus.sh echo " mv cc1plus_gnuc$EXEEXT cc1plus$EXEEXT" mv -f cc1plus_gnuc$EXEEXT cc1plus$EXEEXT fi fi if test x$gcc_maj_ver = x2; then exit 0 fi echo " cd $gcc_path" cd $gcc_path if test $host_system = SYS_MAC && test x${target_cc} != x; then CC_=$target_cc CXX_=`echo $target_cc | sed 's/gcc/g++/'` else CC_=$CC CXX_=$CXX fi for cc in $CC_ $CXX_ do if test $host_system != SYS_MINGW; then ref=`readlink $cc` fi if test x$ref = x; then ref=$cc fi ccache=`grep ccache $ref` if test x$ccache != x; then ## search the real $cc in $PATH for path in `echo $PATH | sed 's/:/ /g'` do if test -f $path/$cc$EXEEXT && test $gcc_path != $path; then break; fi done gcc_path=$path echo " cd $gcc_path" cd $gcc_path ref=`readlink $cc` fi if test x$ref = x$cc.sh || test $host_system = SYS_MINGW; then entity=`grep $gcc_path $cc.sh | sed "s,$gcc_path/,," | sed "s/_proper.*$//"` rm -f $entity echo " mv ${entity}_proper$EXEEXT $entity$EXEEXT" mv -f ${entity}_proper$EXEEXT $entity$EXEEXT if test $entity != $cc; then echo " $LN_S $entity $cc" $LN_S -f $entity $cc fi rm -f $cc.sh fi done