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:



86
87
88
89
90
91
# File 'extend/os/mac/extend/ENV/super.rb', line 86

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:



79
80
81
82
83
# File 'extend/os/mac/extend/ENV/super.rb', line 79

def homebrew_extra_cmake_frameworks_paths
  paths = []
  paths << "#{self["HOMEBREW_SDKROOT"]}/System/Library/Frameworks" if MacOS::Xcode.without_clt?
  paths.map { |p| ::Pathname.new(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:



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

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.new(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:



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

def homebrew_extra_cmake_library_paths
  %W[
    #{self["HOMEBREW_SDKROOT"]}/System/Library/Frameworks/OpenGL.framework/Versions/Current/Libraries
  ].map { |p| ::Pathname.new(p) }
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:



43
44
45
46
47
48
49
# File 'extend/os/mac/extend/ENV/super.rb', line 43

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.new(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:



52
53
54
55
56
57
58
59
60
# File 'extend/os/mac/extend/ENV/super.rb', line 52

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.new(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
30
31
32
# File 'extend/os/mac/extend/ENV/super.rb', line 27

def homebrew_extra_pkg_config_paths
  %W[
    /usr/lib/pkgconfig
    #{HOMEBREW_LIBRARY}/Homebrew/os/mac/pkgconfig/#{MacOS.version}
  ].map { |p| ::Pathname.new(p) }
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)


35
36
37
38
39
40
# File 'extend/os/mac/extend/ENV/super.rb', line 35

def libxml2_include_needed?
  return false if deps.any? { |d| d.name == "libxml2" }
  return false if ::Pathname.new("#{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.



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

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.



159
160
161
# File 'extend/os/mac/extend/ENV/super.rb', line 159

def no_weak_imports
  append_to_cccfg "w" if no_weak_imports_support?
end