Spec-Zone.ru › Homebrew

Модуль: Hardware Приватный

Определён в:
extend/os/mac/hardware/cpu/hardware.rb,
hardware.rb

Обзор

Этот модуль является частью приватного API. Этот модуль можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого модуля, поскольку он может быть удалён или изменён без предупреждения.

Вспомогательный модуль для получения сведений об оборудовании.

Определено в пространстве имён

Классы: CPU

Краткое описание методов класса свернуть

  • .cores_as_words ⇒ String приватный
  • .oldest_cpu(_version = nil) ⇒ Symbol приватный
  • .rustflags_target_cpu(arch) ⇒ String? приватный

    Возвращает флаг Rust для установки целевого CPU, если это необходимо.

  • .zig_cpu(arch) ⇒ Symbol приватный

    Возвращает ближайший целевой CPU Zig для запрошенного символа архитектуры, поддерживаемой brew.

Подробное описание методов класса

.cores_as_words ⇒ String

Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Возвращает:

  • (String)


215
216
217
218
219
220
221
222
223
224
225
226
227
# File 'hardware.rb', line 215

def cores_as_words
  case Hardware::CPU.cores
  when 1 then "single"
  when 2 then "dual"
  when 4 then "quad"
  when 6 then "hexa"
  when 8 then "octa"
  when 10 then "deca"
  when 12 then "dodeca"
  else
    Hardware::CPU.cores.to_s
  end
end

.oldest_cpu(_version = nil) ⇒ Symbol

Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Параметры:

  • _version (MacOSVersion, nil) (по умолчанию: nil)

Возвращает:

  • (Symbol)


230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
# File 'hardware.rb', line 230

def oldest_cpu(_version = nil)
  if Hardware::CPU.intel?
    if Hardware::CPU.is_64_bit?
      Hardware::CPU::INTEL_64BIT_OLDEST_CPU
    else
      :core
    end
  elsif Hardware::CPU.arm?
    if Hardware::CPU.is_64_bit?
      :armv8
    else
      :armv6
    end
  elsif Hardware::CPU.ppc? && Hardware::CPU.is_64_bit?
    if Hardware::CPU.little_endian?
      :ppc64le
    else
      :ppc64
    end
  else
    Hardware::CPU.family
  end
end

.rustflags_target_cpu(arch) ⇒ String?

Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Возвращает флаг Rust для установки целевого CPU, если это необходимо. По умолчанию — nil.

Параметры:

  • arch (Symbol)

Возвращает:

  • (String, nil)


257
258
259
260
261
262
263
264
265
266
267
268
269
270
# File 'hardware.rb', line 257

def rustflags_target_cpu(arch)
  # Rust already defaults to the oldest supported cpu for each target-triplet
  # so it's safe to ignore generic archs such as :armv6 here.
  # Rust defaults to apple-m1 since Rust 1.71 for aarch64-apple-darwin.
  @target_cpu ||= T.let(case arch
  when :core
    :prescott
  when :native, :ivybridge, :sandybridge, :westmere, :nehalem, :core2
    arch
  end, T.nilable(Symbol))
  return if @target_cpu.blank?

  "--codegen target-cpu=#{@target_cpu}"
end

.zig_cpu(arch) ⇒ Symbol

Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Возвращает ближайший целевой CPU Zig для запрошенного символа архитектуры, поддерживаемой brew. Список доступных CPU см. в zig targets.

Параметры:

  • arch (Symbol)

Возвращает:

  • (Symbol)

См. также:

  • https://github.com/Homebrew/homebrew-core/issues/92282


277
278
279
280
281
282
283
284
285
286
# File 'hardware.rb', line 277

def zig_cpu(arch)
  case arch
  when :arm_vortex_tempest then :apple_m1
  when :armv6 then :arm1136j_s
  when :armv8 then :xgene1
  when :core  then :prescott
  when :dunno then :baseline
  else arch.to_s.tr("-", "_").to_sym
  end
end

© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/rubydoc/Hardware.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API