#!/bin/sh # # This is a gcc wrapper. It forces gcc -m64 for default compilation. # It also fakes the return of --print-libgcc-file-name which is used # by Debian dpkg and dpkg-architecture to detect what the system is. # # Install # mv /usr/bin/gcc /usr/bin/gcc.org # mv /usr/bin/g++ /usr/bin/g++.org # cp gcc.bart /usr/bin/gcc.bart # ln -s /usr/bin/gcc.bart /usr/bin/gcc # ln -s /usr/bin/gcc.bart /usr/bin/g++ # # ARCH="x86_64" can be used on 32bit systems to override default compilation # machine=`uname -m` arch=${ARCH:-$machine} stem=$0 args=${1+"$@"} #echo $0 $@ > /tmp/last-gcc-cmd.${USER} case ${arch} in x86_64) stem=`case ${stem} in \ cc|*/cc) echo gcc ;; \ c++|*/c++) echo g++ ;; \ gcc.bart|*/gcc.bart) echo gcc ;; \ *) echo ${stem} ;; \ esac` if [ "$args" = '-dumpmachine' ] ; then echo 'x86_64-linux'; elif [ "$args" = '--print-libgcc-file-name' ] ; then gcclib=$(${stem}-3.3 --print-libgcc-file-name) if [ -z "$gcclib" ] ; then exit 127 fi echo "$gcclib" | sed 's,/usr/lib/gcc-lib/i.86-linux/,/usr/lib/gcc-lib/x86_64-linux/,' elif ( echo $args | grep -E -e '-m(32|64)' > /dev/null ) ; then exec ${stem}-3.3 ${1+"$@"} else exec ${stem}-3.3 -m64 ${1+"$@"} fi ;; *) exec ${stem}-3.3 ${args} ;; esac