forked from llvm-mirror/llvm
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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
- Loading branch information
Reid Spencer
committed
Sep 20, 2004
1 parent
7b6ec60
commit 8141e37
Showing
1 changed file
with
39 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 | ||
|