#!/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
