Blame src/unset_mcpp.sh

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