#!/bin/sh
##===- 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
  case `uname -s` in
    SunOS) grep_cmd="ggrep -H -n" ;;
    Linux) 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"
fi
