aboutsummaryrefslogtreecommitdiff
path: root/utils/llvmgrep
diff options
context:
space:
mode:
Diffstat (limited to 'utils/llvmgrep')
-rwxr-xr-xutils/llvmgrep39
1 files changed, 39 insertions, 0 deletions
diff --git a/utils/llvmgrep b/utils/llvmgrep
new file mode 100755
index 000000000000..7d7355ba9904
--- /dev/null
+++ b/utils/llvmgrep
@@ -0,0 +1,39 @@
+#!/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 projects" $grep_cmd "$*"
+else
+ echo "Can't find LLVM top directory"
+fi