X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=utils%2Fllvmgrep;h=dc15da4961efcad5cd8c668056af99f1c7099ccd;hb=bed1965111fc29929e8b282c489e05c857610fb9;hp=73cfd41b1ef24e4ef2fbc52f45cd184d8012b86d;hpb=8eecb149ef3c2401c8c1e16bf8b33b744936d79e;p=oota-llvm.git diff --git a/utils/llvmgrep b/utils/llvmgrep index 73cfd41b1ef..dc15da4961e 100755 --- a/utils/llvmgrep +++ b/utils/llvmgrep @@ -1,24 +1,39 @@ #!/bin/sh -# This is useful because it prints out all of the source files. Useful for -# greps. -PATTERN="$*" -TOPDIR=`pwd | sed -e 's#(.*/llvm).*#$1#'` +##===- utils/llvmgrep - Counts Lines Of Code -----------------*- Script -*-===## +# +# The LLVM Compiler Infrastructure +# +# This file is distributed under the University of Illinois Open Source +# License. See LICENSE.TXT for details. +# +##===----------------------------------------------------------------------===## +# +# This script searches your srcdir for an egrep style pattern. This can quickly +# help you build a list of the places you need to modify when changing a header +# or other "global" name. The only argument is the pattern you want to search +# for. It should be quoted to escape shell interpretation of the pattern's +# special characters. +# +# Note that the implementation is based on llvmdo. See that script for more +# details. +##===----------------------------------------------------------------------===## + +if test "$1" = "-topdir" ; then + TOPDIR="$2" + shift; shift; +else + TOPDIR=`llvm-config --src-root` +fi + if test -d "$TOPDIR" ; then cd $TOPDIR - find docs include lib tools utils examples projects -type f \ - \( -path '*/doxygen/*' -o -path '*/Burg/*' \) -prune -o \ - -name '*.[cdhylt]*' \ - \! -name '*~' \ - \! -name '#*' \ - \! -name '*.ll' \ - \! -name '*.d' \ - \! -name '*.dir' \ - \! -name 'Sparc.burm.c' \ - \! -name 'llvmAsmParser.cpp' \ - \! -name 'llvmAsmParser.h' \ - \! -name 'FileParser.cpp' \ - \! -name 'FileParser.h' \ - -exec egrep -H -n "$PATTERN" {} \; + case `uname -s` in + SunOS) grep_cmd="ggrep -H -n" ;; + Linux|Darwin) grep_cmd="egrep -H -n" ;; + *) grep_cmd="egrep -l -n" ;; + esac + ./utils/llvmdo -topdir "$TOPDIR" \ + -dirs "include lib tools utils docs examples test unittests projects cmake" $grep_cmd "$*" else - echo "Can't find LLVM top directory in $TOPDIR" + echo "Can't find LLVM top directory" fi