Module: OS::Mac::Superenv Private

Extended by:
T::Helpers
Included in:
Superenv
Defined in:
extend/os/mac/extend/ENV/super.rb

This module is part of a private API. This module may only be used in the Homebrew/brew repository. Third parties should avoid using this module if possible, as it may be removed or changed without warning.

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#determine_cccfgObject

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.



76
77
78
79
80
81
# File 'extend/os/mac/extend/ENV/super.rb', line 76

def determine_cccfg
  s = +""
  # Fix issue with >= Mountain Lion apr-1-config having broken paths
  s << "a"
  s.freeze
end

#homebrew_extra_cmake_frameworks_pathsObject

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.



70
71
72
73
74
# File 'extend/os/mac/extend/ENV/super.rb', line 70

def homebrew_extra_cmake_frameworks_paths
  paths = []
  paths << "#{self["HOMEBREW_SDKROOT"]}/System/Library/Frameworks" if MacOS::Xcode.without_clt?
  paths
end

#homebrew_extra_cmake_include_pathsObject

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.



57
58
59
60
61
62
63
# File 'extend/os/mac/extend/ENV/super.rb', line 57

def homebrew_extra_cmake_include_paths
  paths = []
  paths << "#{self["HOMEBREW_SDKROOT"]}/usr/include/libxml2" if libxml2_include_needed?
  paths << "#{self["HOMEBREW_SDKROOT"]}/usr/include/apache2" if MacOS::Xcode.without_clt?
  paths << "#{self["HOMEBREW_SDKROOT"]}/System/Library/Frameworks/OpenGL.framework/Versions/Current/Headers"
  paths
end

#homebrew_extra_cmake_library_pathsObject

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.



65
66
67
68
# File 'extend/os/mac/extend/ENV/super.rb', line 65

def homebrew_extra_cmake_library_paths
  brew_sdkroot = self["HOMEBREW_SDKROOT"]
  [Pathname("#{brew_sdkroot}/System/Library/Frameworks/OpenGL.framework/Versions/Current/Libraries")]
end

#homebrew_extra_isystem_pathsObject

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.



39
40
41
42
43
44
45
# File 'extend/os/mac/extend/ENV/super.rb', line 39

def homebrew_extra_isystem_paths
  paths = []
  paths << "#{self["HOMEBREW_SDKROOT"]}/usr/include/libxml2" if libxml2_include_needed?
  paths << "#{self["HOMEBREW_SDKROOT"]}/usr/include/apache2" if MacOS::Xcode.without_clt?
  paths << "#{self["HOMEBREW_SDKROOT"]}/System/Library/Frameworks/OpenGL.framework/Versions/Current/Headers"
  paths
end

#homebrew_extra_library_pathsObject

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.



47
48
49
50
51
52
53
54
55
# File 'extend/os/mac/extend/ENV/super.rb', line 47

def homebrew_extra_library_paths
  paths = []
  if compiler == :llvm_clang
    paths << "#{self["HOMEBREW_SDKROOT"]}/usr/lib"
    paths << ::Formula["llvm"].opt_lib.to_s
  end
  paths << "#{self["HOMEBREW_SDKROOT"]}/System/Library/Frameworks/OpenGL.framework/Versions/Current/Libraries"
  paths
end

#homebrew_extra_pkg_config_pathsArray<Pathname>

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:



27
28
29
# File 'extend/os/mac/extend/ENV/super.rb', line 27

def homebrew_extra_pkg_config_paths
  [Pathname("/usr/lib/pkgconfig"), Pathname("#{HOMEBREW_LIBRARY}/Homebrew/os/mac/pkgconfig/#{MacOS.version}")]
end

#libxml2_include_needed?Boolean

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.

Returns:

  • (Boolean)


32
33
34
35
36
37
# File 'extend/os/mac/extend/ENV/super.rb', line 32

def libxml2_include_needed?
  return false if deps.any? { |d| d.name == "libxml2" }
  return false if Pathname("#{self["HOMEBREW_SDKROOT"]}/usr/include/libxml").directory?

  true
end

#no_fixup_chainsObject

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.



165
166
167
# File 'extend/os/mac/extend/ENV/super.rb', line 165

def no_fixup_chains
  append_to_cccfg "f" if no_fixup_chains_support?
end

#no_weak_importsObject

This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.



161
162
163
# File 'extend/os/mac/extend/ENV/super.rb', line 161

def no_weak_imports
  append_to_cccfg "w" if no_weak_imports_support?
end