X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=utils%2Fcountloc.sh;h=4d1b775d74aad808ceb69d0542f12c58bed68b2a;hb=73d60e69f4e84d4f2399c73f5414fe2300e1ce02;hp=04edb9daf299b6a89a4b8788db2371ffddc87f9c;hpb=65e731d99a1c12924b1b457ad7b6eaa235b269ef;p=oota-llvm.git diff --git a/utils/countloc.sh b/utils/countloc.sh index 04edb9daf29..4d1b775d74a 100755 --- a/utils/countloc.sh +++ b/utils/countloc.sh @@ -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. # ##===----------------------------------------------------------------------===## # @@ -12,27 +12,29 @@ # (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 '*.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