aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorReid Spencer <rspencer@reidspencer.com>2004-09-20 07:21:19 +0000
committerReid Spencer <rspencer@reidspencer.com>2004-09-20 07:21:19 +0000
commit8141e371098c5d1b01e5e604e22bb2d58ae59402 (patch)
tree71ed0ecc62c5807293c4d2b83094cb15b1e0136e
parent7b6ec600c50e88112835021988b823973fbd7d36 (diff)
Fixed to actually work correctly and be the basis for other tools by
allowing the set of directories searched to be specified either by the LLVMDO_DIRS env var or by the -dirs "dirs..." command line option. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16441 91177308-0d34-0410-b5e6-96231b3b80d8
-rwxr-xr-xutils/llvmdo48
1 files changed, 39 insertions, 9 deletions
diff --git a/utils/llvmdo b/utils/llvmdo
index 5127fc51b8..22c708b58e 100755
--- a/utils/llvmdo
+++ b/utils/llvmdo
@@ -1,32 +1,62 @@
#!/bin/sh
# This is useful because it prints out all of the source files. Useful for
# greps.
+
+if test $# -lt 1 ; then
+ echo "Usage: llvmdo [-dirs "DIRNAMES..."] PROGRAM ARGS...";
+ exit 1;
+fi
+
+if test "$1" = "-dirs" ; then
+ LLVMDO_DIRS="$2";
+ shift ; shift
+elif test -z "$LLVMDO_DIRS" ; then
+ LLVMDO_DIRS="include lib tools test utils docs examples projects"
+fi
PROGRAM=`which $1`
-if [ ! -x "$PROGRAM" ]; then
+if test ! -x "$PROGRAM" ; then
echo "Can't execute $1"
exit 1
fi
shift;
ARGS="$*"
-TOPDIR=`pwd | sed -e 's#(.*/llvm).*#$1#'`
+TOPDIR=`pwd | sed -e 's#\(.*/llvm\).*#\1#'`
if test -d "$TOPDIR" ; then
cd $TOPDIR
- echo $TOPDIR
- find docs include lib tools utils projects -type f \
- \( -path '*/doxygen/*' -o -path '*/Burg/*' \) -prune -o \
- -name '*.[cdhyl]*' \
+ find $LLVMDO_DIRS -type f \
+ \( \
+ -path 'docs/doxygen/*' -o \
+ -path 'docs/CommandGuide/html/*' -o \
+ -path 'docs/CommandGuide/man/*' -o \
+ -path 'docs/CommandGuide/ps/*' -o \
+ -path 'docs/CommandGuide/man/*' -o \
+ -path 'docs/HistoricalNotes/*' -o \
+ -path 'utils/Burg/*' -o \
+ -path 'docs/img/*' -o \
+ -path '*/.libs/*' \
+ \) -prune -o \( \
+ -name '*.[cdhyltp]*' \
+ \! -name '.*' \
\! -name '*~' \
\! -name '#*' \
- \! -name '*.ll' \
- \! -name '*.lo' \
\! -name '*.d' \
\! -name '*.dir' \
+ \! -name '*.flc' \
+ \! -name '*.inc' \
+ \! -name '*.ll' \
+ \! -name '*.llx' \
+ \! -name '*.la' \
+ \! -name '*.lo' \
\! -name 'Sparc.burm.c' \
\! -name 'llvmAsmParser.cpp' \
\! -name 'llvmAsmParser.h' \
\! -name 'FileParser.cpp' \
\! -name 'FileParser.h' \
- -exec $PROGRAM $ARGS {} \;
+ \! -name 'StackerParser.h' \
+ \! -name 'StackerParser.cpp' \
+ -exec $PROGRAM $ARGS {} \; \
+ \)
else
echo "Can't find LLVM top directory in $TOPDIR"
fi
+