From 0d5a42ad89f8da65736a4ba9561cb4d6e91e1feb Mon Sep 17 00:00:00 2001 From: Charlie Sharpsteen Date: Tue, 13 Nov 2012 14:38:57 -0800 Subject: [PATCH] superenv.rb: Configure Objective-C compilers The [`OBJC`][1] and [`OBJCXX`][2] environment variables should be set along with `CC` and `CXX`. Some formulae require these to be set in order to properly configure against Homebrew's compilers. Fixes Homebrew/homebrew#16029. [1]:http://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Objective-C-Compiler.html [2]:http://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Objective-C_002b_002b-Compiler.html --- Library/Homebrew/superenv.rb | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/Library/Homebrew/superenv.rb b/Library/Homebrew/superenv.rb index 9e249e0c87..205d840f7c 100644 --- a/Library/Homebrew/superenv.rb +++ b/Library/Homebrew/superenv.rb @@ -28,7 +28,7 @@ class << ENV alias_method :x11?, :x11 def reset - %w{CC CXX CPP OBJC MAKE LD + %w{CC CXX OBJC OBJCXX CPP MAKE LD CFLAGS CXXFLAGS OBJCFLAGS OBJCXXFLAGS LDFLAGS CPPFLAGS MACOS_DEPLOYMENT_TARGET SDKROOT CMAKE_PREFIX_PATH CMAKE_INCLUDE_PATH CMAKE_FRAMEWORK_PATH}. @@ -43,6 +43,8 @@ class << ENV check ENV['CC'] = 'cc' ENV['CXX'] = 'c++' + ENV['OBJC'] = 'cc' + ENV['OBJCXX'] = 'c++' ENV['DEVELOPER_DIR'] = determine_developer_dir # effects later settings ENV['MAKEFLAGS'] ||= "-j#{determine_make_jobs}" ENV['PATH'] = determine_path @@ -221,16 +223,16 @@ class << ENV end alias_method :j1, :deparallelize def gcc - ENV['CC'] = ENV['HOMEBREW_CC'] = "gcc" - ENV['CXX'] = "g++" + ENV['CC'] = ENV['OBJC'] = ENV['HOMEBREW_CC'] = "gcc" + ENV['CXX'] = ENV['OBJCXX'] = "g++" end def llvm - ENV['CC'] = ENV['HOMEBREW_CC'] = "llvm-gcc" - ENV['CXX'] = "g++" + ENV['CC'] = ENV['OBJC'] = ENV['HOMEBREW_CC'] = "llvm-gcc" + ENV['CXX'] = ENV['OBJCXX'] = "g++" end def clang - ENV['CC'] = ENV['HOMEBREW_CC'] = "clang" - ENV['CXX'] = "clang++" + ENV['CC'] = ENV['OBJC'] = ENV['HOMEBREW_CC'] = "clang" + ENV['CXX'] = ENV['OBJCXX'] = "clang++" end def make_jobs ENV['MAKEFLAGS'] =~ /-\w*j(\d)+/