#!/bin/sh
##===- utils/countloc.sh - Counts Lines Of Code --------------*- Script -*-===##
# 
#                     The LLVM Compiler Infrastructure
#
# This file 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 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.  
#
# 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
  ./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"
fi
