| #!/bin/sh |
| # |
| # Update compiler links to ccache (in /usr/local/bin) |
| # |
| # The idea is that /usr/local/bin is ahead of /usr/bin in your PATH, so adding |
| # the link /usr/local/bin/cc -> /usr/bin/ccache means that it is run instead of |
| # /usr/bin/cc |
| # |
| # Written by: Behan Webster <behanw@websterwood.com> |
| # |
| |
| DIRECTORY=/usr/local/bin |
| CCACHE=/usr/bin/ccache |
| CCDIR=/usr/lib/ccache |
| |
| usage() { |
| echo "Usage: `basename $0` [--directory <dir>] [--remove]" |
| exit 0 |
| } |
| |
| while [ $# -gt 0 ] ; do |
| case "$1" in |
| -d*|--d*|--directory) DIRECTORY=$2; shift; shift;; |
| -h*|--h*|--help) usage;; |
| -r*|--r*|--remove) REMOVE=1; shift;; |
| -t*|--t*|--test) TEST=echo; shift;; |
| esac |
| done |
| |
| for FILE in `cd $CCDIR; ls` ; do |
| LINK=$DIRECTORY/$FILE |
| if [ -z "$REMOVE" ] ; then |
| # Add link |
| $TEST ln -fs $CCACHE $LINK |
| else |
| # Remove link |
| if [ -L "$LINK" ] ; then |
| $TEST rm -f $LINK |
| fi |
| fi |
| done |
| |
| # vim: sw=4 ts=4 |