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
This commit is contained in:
parent
aaf2a397f0
commit
0d5a42ad89
@ -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)+/
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user