#!/bin/sh
##===- utils/llvmgrep - Counts Lines Of Code -----------------*- Script -*-===##
# 
#                     The LLVM Compiler Infrastructure
#
# This file was developed by Reid Spencer and 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 projects" $grep_cmd "$*"
else
  echo "Can't find LLVM top directory"
fi
