brew/Library/Homebrew/hardware.rb
2016-05-08 16:51:22 +01:00

77 lines
1.1 KiB
Ruby

require "os"
module Hardware
class CPU
INTEL_32BIT_ARCHS = [:i386].freeze
INTEL_64BIT_ARCHS = [:x86_64].freeze
PPC_32BIT_ARCHS = [:ppc, :ppc7400, :ppc7450, :ppc970].freeze
PPC_64BIT_ARCHS = [:ppc64].freeze
class << self
def type
:dunno
end
def family
:dunno
end
def cores
1
end
def bits
64
end
def is_32_bit?
bits == 32
end
def is_64_bit?
bits == 64
end
def intel?
type == :intel
end
def ppc?
type == :ppc
end
def features
[]
end
def feature?(name)
features.include?(name)
end
end
end
def self.cores_as_words
case Hardware::CPU.cores
when 1 then "single"
when 2 then "dual"
when 4 then "quad"
else
Hardware::CPU.cores
end
end
def self.oldest_cpu
if Hardware::CPU.intel?
if Hardware::CPU.is_64_bit?
:core2
else
:core
end
else
Hardware::CPU.family
end
end
end
require "extend/os/hardware"