Make all tools that use llvmdo have a -topdir option that allows the top

source dir for LLVM to be specified explicitly. This removes the dependency
on the llvm-config script. If the option is not given, then the scripts use
llvm-config which should be both built and in the PATH. This arrangement
provides a useful default for most developers but also allows the nightly
tester to execute countloc.sh before llvm-config is built and without
altering the PATH.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29663 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Reid Spencer
2006-08-14 18:49:05 +00:00
parent e6dd6a11d1
commit ca7592a1ba
6 changed files with 186 additions and 127 deletions

View File

@@ -17,6 +17,9 @@
# Report details about lines of code in each file for each user
# -html
# Generate HTML output instead of text output
# -topdir
# Specify where the top llvm source directory is. Otherwise the
# llvm-config tool is used to find it.
# Directories:
# The directories passed after the options should be relative paths to
# directories of interest from the top of the llvm source tree, e.g. "lib"
@@ -29,6 +32,7 @@ my $tag = "";
my $html = 0;
my $debug = 0;
my $filedetails = "";
my $srcroot = "";
while ( defined($ARGV[0]) && substr($ARGV[0],0,1) eq '-' )
{
if ($ARGV[0] =~ /-tag=.*/) {
@@ -40,15 +44,22 @@ while ( defined($ARGV[0]) && substr($ARGV[0],0,1) eq '-' )
$html = 1;
} elsif ($ARGV[0] eq "-debug") {
$debug = 1;
} elsif ($ARGV[0] eq "-topdir") {
shift; $srcroot = $ARGV[0]; shift;
} else {
die "Invalid option: $ARGV[0]";
}
shift;
}
chomp(my $srcroot = `llvm-config --src-root`);
if (length($srcroot) == 0) {
chomp($srcroot = `llvm-config --src-root`);
}
if (! -d "$srcroot") {
die "Invalid source root: $srcroot\n";
}
chdir($srcroot);
my $llvmdo = "$srcroot/utils/llvmdo";
my $llvmdo = "$srcroot/utils/llvmdo -topdir '$srcroot'";
my %Stats;
my %FileStats;