[llvm-commits] CVS: llvm/utils/countloc.sh

Reid Spencer reid at x10sys.com
Mon Sep 6 12:06:37 PDT 2004



Changes in directory llvm/utils:

countloc.sh added (r1.1)
---
Log message:

Added a tool to more accurately count the lines of code. The previous
utility, getsrcs.sh suffered from two problems: (1) it generated command
lines too long for some platforms and (2) it searched the projects diretory
which now contains the llvm-test module (in nightly tester) but we don't
want to include the test code in our LOC calculation. This script should
be maintained as LLVM adds new top level directories that contain source
code.


---
Diffs of the changes:  (+38 -0)

Index: llvm/utils/countloc.sh
diff -c /dev/null llvm/utils/countloc.sh:1.1
*** /dev/null	Mon Sep  6 14:06:37 2004
--- llvm/utils/countloc.sh	Mon Sep  6 14:06:27 2004
***************
*** 0 ****
--- 1,38 ----
+ #!/bin/sh
+ ##===- utils/countloc.sh - Counts Lines Of Code --------------*- Script -*-===##
+ # 
+ #                     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 script finds all the source code files in the source code directories
+ # (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.
+ #
+ TOPDIR=`pwd | sed -e 's#(.*/llvm).*#$1#'`
+ 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 '\
+       BEGIN { loc=0; } \
+       { loc += $1; } \
+       END { print loc; }'
+ else
+   echo "Can't find LLVM top directory in $TOPDIR"
+ fi






More information about the llvm-commits mailing list