From c810bff508f7515dd398e80c1828de1ef773d1ca Mon Sep 17 00:00:00 2001 From: Jordan Rose <jordan_rose@apple.com> Date: Wed, 22 May 2013 18:09:57 +0000 Subject: [PATCH] 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! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@182498 91177308-0d34-0410-b5e6-96231b3b80d8 --- tools/scan-build/scan-build | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/tools/scan-build/scan-build b/tools/scan-build/scan-build index 35f852e70b2..803c0735110 100755 --- a/tools/scan-build/scan-build +++ b/tools/scan-build/scan-build @@ -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); -- GitLab