Further simplify from r253832, removing unnecessary intermediate lambdas
[oota-llvm.git] / utils / countloc.sh
index 75a61549716b26a74b0f15a247f5670f208c4088..4d1b775d74aad808ceb69d0542f12c58bed68b2a 100755 (executable)
@@ -3,8 +3,8 @@
 # 
 #                     The LLVM Compiler Infrastructure
 #
-# This file was developed by Reid Spencer and is distributed under the 
-# University of Illinois Open Source License. See LICENSE.TXT for details.
+# This file is distributed under the University of Illinois Open Source
+# License. See LICENSE.TXT for details.
 # 
 ##===----------------------------------------------------------------------===##
 #
 # (excluding certain things), runs "wc -l" on them to get the number of lines in
 # each file and then sums up and prints the total with awk. 
 #
-# The script takes no arguments but does expect to be run from the top llvm
-# source directory.
+# The script takes one optional option, -topdir, which specifies the top llvm
+# source directory. If it is not specified then the llvm-config tool is 
+# consulted to find top source dir.  
 #
-TOPDIR=`pwd | sed -e 's#(.*/llvm).*#$1#'`
+# Note that the implementation is based on llvmdo. See that script for more
+# details.
+##===----------------------------------------------------------------------===##
+
+if test $# -gt 1 ; then
+  if test "$1" = "-topdir" ; then
+    TOPDIR="$2"
+    shift; shift;
+  else
+    TOPDIR=`llvm-config --src-root`
+  fi
+fi
+
 if test -d "$TOPDIR" ; then
   cd $TOPDIR
-  find include lib tools utils examples -type f -name '*.[cdhyltp]*' \
-      \! -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 wc -l {} \; | awk '\
+  ./utils/llvmdo -topdir "$TOPDIR" -dirs "include lib tools test utils examples" -code-only wc -l | awk '\
       BEGIN { loc=0; } \
       { loc += $1; } \
       END { print loc; }'
 else
-  echo "Can't find LLVM top directory in $TOPDIR"
+  echo "Can't find LLVM top directory"
 fi