aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJack Nagel2014-04-29 21:51:17 -0500
committerJack Nagel2014-04-29 21:51:17 -0500
commit80073d22224df8f6e06a12a854df776634a387c6 (patch)
tree3d5911ed388ce5a5f82ba67bba94da87a304b6f2
parent22011d1118be5314d9160381f00fdd18afdb3849 (diff)
downloadhomebrew-80073d22224df8f6e06a12a854df776634a387c6.tar.bz2
xcrun wrapper: reorganize so we only access ARGV once
-rwxr-xr-xLibrary/ENV/4.3/xcrun10
1 files changed, 6 insertions, 4 deletions
diff --git a/Library/ENV/4.3/xcrun b/Library/ENV/4.3/xcrun
index 940358c2c..8cf29a2b2 100755
--- a/Library/ENV/4.3/xcrun
+++ b/Library/ENV/4.3/xcrun
@@ -11,9 +11,12 @@ if ARGV.empty? || ARGV[0][0..0] == "-"
exec "/usr/bin/xcrun", *ARGV
end
-if File.exist?("/usr/bin/#{ARGV.first}")
- sdkroot = ENV['HOMEBREW_SDKROOT']
- exec "/usr/bin/#{ARGV.shift}", *ARGV unless sdkroot and File.directory? sdkroot
+arg0 = ARGV.shift
+
+exe = "/usr/bin/#{arg0}"
+if File.executable?(exe)
+ sdkroot = ENV["HOMEBREW_SDKROOT"]
+ exec(exe, *ARGV) unless sdkroot && File.directory?(sdkroot)
end
$:.unshift "/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8"
@@ -25,7 +28,6 @@ end
SUPERBIN = canonical_dirname(__FILE__)
-arg0 = ARGV.shift
exe = `/usr/bin/xcrun --find #{arg0} 2>/dev/null`.chomp
if File.executable?(exe) && canonical_dirname(exe) != SUPERBIN
exec(exe, *ARGV)