diff options
author | Reid Spencer <rspencer@reidspencer.com> | 2004-09-20 07:21:19 +0000 |
---|---|---|
committer | Reid Spencer <rspencer@reidspencer.com> | 2004-09-20 07:21:19 +0000 |
commit | 8141e371098c5d1b01e5e604e22bb2d58ae59402 (patch) | |
tree | 71ed0ecc62c5807293c4d2b83094cb15b1e0136e /utils/llvmdo | |
parent | 7b6ec600c50e88112835021988b823973fbd7d36 (diff) | |
download | llvm-8141e371098c5d1b01e5e604e22bb2d58ae59402.tar.gz llvm-8141e371098c5d1b01e5e604e22bb2d58ae59402.tar.bz2 llvm-8141e371098c5d1b01e5e604e22bb2d58ae59402.tar.xz |
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
Diffstat (limited to 'utils/llvmdo')
-rwxr-xr-x | utils/llvmdo | 48 |
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 + |