superenv only adds X11 paths if required
Since we are moving towards only depending on X11 for X-headers, superenv now doesn't automatically add X11 compilation. I was reluctant to do this, but it is the right thing to do now that X11 is not automatically installed by OS X or Xcode. I didn't implement ENV.x11 because the order that the X headers are inserted is important. It must be done at initial setup to ensure that brewed versions of e.g. freetype and Cairo are used and not the ones installed by XQuartz.
This commit is contained in:
parent
b834027b17
commit
a360a41472
@ -83,6 +83,7 @@ def install f
|
||||
|
||||
if superenv?
|
||||
ENV.deps = keg_only_deps.map(&:to_s)
|
||||
ENV.x11 = f.requirements.detect{|rq| rq.class == X11Dependency }
|
||||
ENV.setup_build_environment
|
||||
class << ENV
|
||||
def []=(key, value)
|
||||
|
@ -24,6 +24,8 @@ end
|
||||
|
||||
class << ENV
|
||||
attr :deps, true
|
||||
attr :x11, true
|
||||
alias_method :x11?, :x11
|
||||
|
||||
def reset
|
||||
%w{CC CXX LD CPP OBJC MAKE
|
||||
@ -100,7 +102,7 @@ class << ENV
|
||||
end
|
||||
paths += deps.map{|dep| "#{HOMEBREW_PREFIX}/opt/#{dep}/bin" }
|
||||
paths << HOMEBREW_PREFIX/:bin
|
||||
paths << "#{MacSystem.x11_prefix}/bin"
|
||||
paths << "#{MacSystem.x11_prefix}/bin" if x11?
|
||||
paths += %w{/usr/bin /bin /usr/sbin /sbin}
|
||||
paths.to_path_s
|
||||
end
|
||||
@ -111,7 +113,7 @@ class << ENV
|
||||
paths << "#{HOMEBREW_REPOSITORY}/lib/pkgconfig"
|
||||
paths << "#{HOMEBREW_REPOSITORY}/share/pkgconfig"
|
||||
# we put our paths before X because we dupe some of the X libraries
|
||||
paths << "#{MacSystem.x11_prefix}/lib/pkgconfig" << "#{MacSystem.x11_prefix}/share/pkgconfig"
|
||||
paths << "#{MacSystem.x11_prefix}/lib/pkgconfig" << "#{MacSystem.x11_prefix}/share/pkgconfig" if x11?
|
||||
# Mountain Lion no longer ships some .pcs; ensure we pick up our versions
|
||||
paths << "#{HOMEBREW_REPOSITORY}/Library/Homebrew/pkgconfig" if MacOS.mountain_lion?
|
||||
paths.to_path_s
|
||||
@ -121,13 +123,14 @@ class << ENV
|
||||
paths = deps.map{|dep| "#{HOMEBREW_PREFIX}/opt/#{dep}" }
|
||||
paths << "#{MacOS.sdk_path}/usr" if MacSystem.xcode43_without_clt?
|
||||
paths << HOMEBREW_PREFIX.to_s # again always put ourselves ahead of X11
|
||||
paths << MacSystem.x11_prefix
|
||||
paths << MacSystem.x11_prefix if x11?
|
||||
paths.to_path_s
|
||||
end
|
||||
|
||||
def determine_cmake_include_path
|
||||
sdk = MacOS.sdk_path if MacSystem.xcode43_without_clt?
|
||||
paths = %W{#{MacSystem.x11_prefix}/include/freetype2}
|
||||
paths = []
|
||||
paths << "#{MacSystem.x11_prefix}/include/freetype2" if x11?
|
||||
paths << "#{sdk}/usr/include/libxml2" unless deps.include? 'libxml2'
|
||||
# TODO prolly shouldn't always do this?
|
||||
paths << "#{sdk}/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7" if MacSystem.xcode43_without_clt?
|
||||
@ -137,7 +140,7 @@ class << ENV
|
||||
def determine_aclocal_path
|
||||
paths = deps.map{|dep| "#{HOMEBREW_PREFIX}/opt/#{dep}/share/aclocal" }
|
||||
paths << "#{HOMEBREW_PREFIX}/share/aclocal"
|
||||
paths << "/opt/X11/share/aclocal"
|
||||
paths << "/opt/X11/share/aclocal" if x11?
|
||||
paths.to_path_s
|
||||
end
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user