1 #!/bin/sh 2 ##===- utils/llvmgrep - Counts Lines Of Code -----------------*- Script -*-===## 3 # 4 # The LLVM Compiler Infrastructure 5 # 6 # This file is distributed under the University of Illinois Open Source 7 # 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 if test "$1" = "-topdir" ; then 22 TOPDIR="$2" 23 shift; shift; 24 else 25 TOPDIR=`llvm-config --src-root` 26 fi 27 28 if test -d "$TOPDIR" ; then 29 cd $TOPDIR 30 case `uname -s` in 31 SunOS) grep_cmd="ggrep -H -n" ;; 32 Linux|Darwin) grep_cmd="egrep -H -n" ;; 33 *) grep_cmd="egrep -l -n" ;; 34 esac 35 ./utils/llvmdo -topdir "$TOPDIR" \ 36 -dirs "include lib tools utils docs examples test unittests projects cmake" $grep_cmd "$*" 37 else 38 echo "Can't find LLVM top directory" 39 fi 40