#!/bin/sh
##===- utils/llvmgrep - Counts Lines Of Code -----------------*- Script -*-===##
# 
# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
# 
##===----------------------------------------------------------------------===##
#
# 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|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"
fi
