Make llvmdo and llvmgrep invulnerable to where they are run from by getting
[oota-llvm.git] / utils / llvmgrep
1 #!/bin/sh
2 ##===- utils/llvmgrep - Counts Lines Of Code -----------------*- Script -*-===##
3
4 #                     The LLVM Compiler Infrastructure
5 #
6 # This file was developed by Reid Spencer and is distributed under the 
7 # University of Illinois Open Source License. See LICENSE.TXT for details.
8
9 ##===----------------------------------------------------------------------===##
10 #
11 # This script searches your srcdir for an egrep style pattern. This can quickly
12 # help you build a list of the places you need to modify when changing a header
13 # or other "global" name. The only argument is the pattern you want to search
14 # for. It should be quoted to escape shell interpretation of the pattern's
15 # special characters.
16 #
17 # Note that the implementation is based on llvmdo. See that script for more
18 # details.
19 ##===----------------------------------------------------------------------===##
20
21 TOPDIR=`llvm-config --src-root`
22 if test -d "$TOPDIR" ; then
23   cd $TOPDIR
24   case `uname -s` in
25     SunOS) grep_cmd="ggrep -H -n" ;;
26     Linux) grep_cmd="egrep -H -n" ;;
27     *) grep_cmd="egrep -l -n" ;;
28   esac
29   ./utils/llvmdo -dirs "include lib tools utils docs examples test projects" $grep_cmd "$*"
30 else
31   echo "Can't find LLVM top directory in $TOPDIR"
32 fi