scan-build: use the xcodebuild specified by the user.

This is important if the user has multiple Xcodes installed on their
system -- we use xcodebuild to do a version check, and therefore we need
to make sure we match the actual build command.

Reported by Howard Ling!

llvm-svn: 182498
This commit is contained in:
Jordan Rose 2013-05-22 18:09:57 +00:00
parent 1bfe9c787f
commit d8fb478b36
1 changed files with 4 additions and 9 deletions

View File

@ -910,7 +910,7 @@ sub RunXcodebuild {
# Detect the version of Xcode. If Xcode 4.6 or higher, use new
# in situ support for analyzer interposition without needed to override
# the compiler.
open(DETECT_XCODE, "xcodebuild -version |") or
open(DETECT_XCODE, "-|", $Args->[0], "-version") or
die "error: cannot detect version of xcodebuild\n";
my $oldBehavior = 1;
@ -976,16 +976,11 @@ sub RunBuildCommand {
my $CCAnalyzer = shift;
my $CXXAnalyzer = shift;
my $Options = shift;
# Get only the part of the command after the last '/'.
if ($Cmd =~ /\/([^\/]+)$/) {
$Cmd = $1;
}
if ($Cmd eq "xcodebuild") {
if ($Cmd =~ /\bxcodebuild$/) {
return RunXcodebuild($Args, $IgnoreErrors, $CCAnalyzer, $CXXAnalyzer, $Options);
}
# Setup the environment.
SetEnv($Options);