Модуль: OS::Linux::DevelopmentTools::ClassMethods Приватный
- Расширен модулем:
- T::Helpers
- Определён в:
- extend/os/linux/development_tools.rb
Этот модуль является частью закрытого API. Этот модуль можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности не следует использовать этот модуль, поскольку он может быть удалён или изменён без предупреждения.
Краткое описание методов экземпляра свернуть
- #build_system_info ⇒ Hash{String => String, nil} приватный
- #default_compiler ⇒ Symbol приватный
- #host_gcc_path ⇒ ::Pathname приватный
- #locate(tool) ⇒ ::Pathname? приватный
- #needs_compiler_formula? ⇒ Boolean приватный
- #needs_libc_formula? ⇒ Boolean приватный
Подробное описание методов экземпляра
#build_system_info ⇒ Hash{String => String, nil}
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности не следует использовать этот метод, поскольку он может быть удалён или изменён без предупреждения.
67 68 69 70 71 72 | # File 'extend/os/linux/development_tools.rb', line 67 def build_system_info super.merge({ "glibc_version" => OS::Linux::Glibc.version.to_s.presence, "oldest_cpu_family" => ::Hardware.oldest_cpu.to_s, }) end |
#default_compiler ⇒ Symbol
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности не следует использовать этот метод, поскольку он может быть удалён или изменён без предупреждения.
31 | # File 'extend/os/linux/development_tools.rb', line 31 def default_compiler = :gcc |
#host_gcc_path ⇒ ::Pathname
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности не следует использовать этот метод, поскольку он может быть удалён или изменён без предупреждения.
46 47 48 49 50 51 52 | # File 'extend/os/linux/development_tools.rb', line 46 def host_gcc_path # Prioritise versioned path if installed path = ::Pathname.new("/usr/bin/#{OS::LINUX_PREFERRED_GCC_COMPILER_FORMULA.tr("@", "-")}") return path if path.exist? super end |
#locate(tool) ⇒ ::Pathname?
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности не следует использовать этот метод, поскольку он может быть удалён или изменён без предупреждения.
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | # File 'extend/os/linux/development_tools.rb', line 13 def locate(tool) @locate ||= T.let({}, T.nilable(T::Hash[T.any(String, Symbol), ::Pathname])) @locate.fetch(tool) do |key| @locate[key] = if ::DevelopmentTools.needs_build_formulae? && (binutils_path = HOMEBREW_PREFIX/"opt/binutils/bin/#{tool}").executable? binutils_path elsif ::DevelopmentTools.needs_build_formulae? && (glibc_path = HOMEBREW_PREFIX/"opt/glibc/bin/#{tool}").executable? glibc_path elsif (homebrew_path = HOMEBREW_PREFIX/"bin/#{tool}").executable? homebrew_path elsif File.executable?(system_path = "/usr/bin/#{tool}") ::Pathname.new system_path end end end |
#needs_compiler_formula? ⇒ Boolean
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности не следует использовать этот метод, поскольку он может быть удалён или изменён без предупреждения.
55 56 57 58 59 60 61 62 63 64 | # File 'extend/os/linux/development_tools.rb', line 55 def needs_compiler_formula? return @needs_compiler_formula unless @needs_compiler_formula.nil? @needs_compiler_formula = T.let(nil, T.nilable(T::Boolean)) # Undocumented environment variable to make it easier to test compiler # formula automatic installation. @needs_compiler_formula = true if ENV["HOMEBREW_FORCE_COMPILER_FORMULA"] @needs_compiler_formula ||= OS::Linux::Libstdcxx.below_ci_version? end |
#needs_libc_formula? ⇒ Boolean
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности не следует использовать этот метод, поскольку он может быть удалён или изменён без предупреждения.
34 35 36 37 38 39 40 41 42 43 | # File 'extend/os/linux/development_tools.rb', line 34 def needs_libc_formula? return @needs_libc_formula unless @needs_libc_formula.nil? @needs_libc_formula = T.let(nil, T.nilable(T::Boolean)) # Undocumented environment variable to make it easier to test libc # formula automatic installation. @needs_libc_formula = true if ENV["HOMEBREW_FORCE_LIBC_FORMULA"] @needs_libc_formula ||= OS::Linux::Glibc.below_ci_version? end |
© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/rubydoc/OS/Linux/DevelopmentTools/ClassMethods.html