Added internal command logging.

llvm-svn: 51003
This commit is contained in:
Ted Kremenek 2008-05-12 22:07:14 +00:00
parent bf1516c618
commit f5a94e7114
2 changed files with 25 additions and 9 deletions

View File

@ -64,7 +64,10 @@ def analyze(clang, args,language,output,files,verbose,htmldir):
while i < len(args):
print_args.append(''.join([ '\'', args[i], '\'' ]))
i += 1
RunAnalyzer = 0;
if language.find("header") > 0:
target = remove_pch_extension(output)
command = 'cp'.split()
@ -72,19 +75,25 @@ def analyze(clang, args,language,output,files,verbose,htmldir):
else:
command = clang.split() + '-checker-cfref'.split()
args = command + args;
if htmldir is not None:
args.append('-o')
print_args.append('-o')
args.append(htmldir)
print_args.append(htmldir)
RunAnalyzer = 1
if verbose == 2:
print >> sys.stderr, '#SHELL (cd ' + os.getcwd() + ' && ' + ' '.join(command + print_args) + ')\n'
if RunAnalyzer and htmldir is not None:
args.append('-o')
print_args.append('-o')
args.append(htmldir)
print_args.append(htmldir)
if verbose:
# We MUST print to stderr. Some clients use the stdout output of
# gcc for various purposes.
print >> sys.stderr, ' '.join(command+print_args)
print >> sys.stderr, '\n'
subprocess.call(args)
def link(args):
@ -133,7 +142,10 @@ def main(args):
if os.environ.get('CCC_ANALYZER_VERBOSE') is not None:
verbose =1
verbose = 1
if os.environ.get('CCC_ANALYZER_LOG') is not None:
verbose = 2
clang_env = os.environ.get('CLANG')

View File

@ -662,6 +662,10 @@ if ($Verbose >= 2) {
$ENV{'CCC_ANALYZER_VERBOSE'} = 1;
}
if ($Verbose >= 3) {
$ENV{'CCC_ANALYZER_LOG'} = 1;
}
# Run the build.
RunBuildCommand(\@ARGV, $IgnoreErrors);