#!/bin/sh
# This is useful because it prints out all of the source files.  Useful for
# greps.
PROGRAM=`which $1`
if [ ! -x "$PROGRAM" ]; then
  echo "Can't execute $1"
  exit 1
fi
shift;
ARGS="$*"
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]*' \
      \! -name '*~' \
      \! -name '#*' \
      \! -name '*.ll' \
      \! -name '*.lo' \
      \! -name '*.d' \
      \! -name '*.dir' \
      \! -name 'Sparc.burm.c' \
      \! -name 'llvmAsmParser.cpp' \
      \! -name 'llvmAsmParser.h' \
      \! -name 'FileParser.cpp' \
      \! -name 'FileParser.h' \
      -exec $PROGRAM $ARGS {} \;
else
  echo "Can't find LLVM top directory in $TOPDIR"
fi
