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_cccfgString

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:



82
83
84
85
86
87
# File 'extend/os/mac/extend/ENV/super.rb', line 82

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

#homebrew_extra_cmake_frameworks_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:



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

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

#homebrew_extra_cmake_include_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:



60
61
62
63
64
65
66
# File 'extend/os/mac/extend/ENV/super.rb', line 60

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.map { |p| Pathname(p) }
end

#homebrew_extra_cmake_library_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:



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

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_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:



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

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.map { |p| Pathname(p) }
end

#homebrew_extra_library_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:



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

def homebrew_extra_library_paths
  paths = []
  if compiler == :llvm_clang
    paths << "#{self["HOMEBREW_SDKROOT"]}/usr/lib"
    paths << ::Formula["llvm"].opt_lib
  end
  paths << "#{self["HOMEBREW_SDKROOT"]}/System/Library/Frameworks/OpenGL.framework/Versions/Current/Libraries"
  paths.map { |p| Pathname(p) }
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_chainsvoid

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.

This method returns an undefined value.



183
184
185
# File 'extend/os/mac/extend/ENV/super.rb', line 183

def no_fixup_chains
  append_to_cccfg "f" if no_fixup_chains_support?
end

#no_weak_importsvoid

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.

This method returns an undefined value.



178
179
180
# File 'extend/os/mac/extend/ENV/super.rb', line 178

def no_weak_imports
  append_to_cccfg "w" if no_weak_imports_support?
end