When removing a function from the function set and adding it to deferred, we
[llvm.git] / utils / countloc.sh
blob4d1b775d74aad808ceb69d0542f12c58bed68b2a
1 #!/bin/sh
2 ##===- utils/countloc.sh - Counts Lines Of Code --------------*- Script -*-===##
3 #
4 # The LLVM Compiler Infrastructure
6 # This file is distributed under the University of Illinois Open Source
7 # License. See LICENSE.TXT for details.
8 #
9 ##===----------------------------------------------------------------------===##
11 # This script finds all the source code files in the source code directories
12 # (excluding certain things), runs "wc -l" on them to get the number of lines in
13 # each file and then sums up and prints the total with awk.
15 # The script takes one optional option, -topdir, which specifies the top llvm
16 # source directory. If it is not specified then the llvm-config tool is
17 # consulted to find top source dir.
19 # Note that the implementation is based on llvmdo. See that script for more
20 # details.
21 ##===----------------------------------------------------------------------===##
23 if test $# -gt 1 ; then
24 if test "$1" = "-topdir" ; then
25 TOPDIR="$2"
26 shift; shift;
27 else
28 TOPDIR=`llvm-config --src-root`
32 if test -d "$TOPDIR" ; then
33 cd $TOPDIR
34 ./utils/llvmdo -topdir "$TOPDIR" -dirs "include lib tools test utils examples" -code-only wc -l | awk '\
35 BEGIN { loc=0; } \
36 { loc += $1; } \
37 END { print loc; }'
38 else
39 echo "Can't find LLVM top directory"