diff options
| author | Misty De Meo | 2013-03-17 13:30:12 -0500 | 
|---|---|---|
| committer | Misty De Meo | 2013-03-23 13:40:18 -0500 | 
| commit | 2476801613a293d7810c5faf2e3383a653b1389c (patch) | |
| tree | 1b86ee2f82286aa45d325b4768a37eedbc7b4889 /Library/Homebrew/hardware.rb | |
| parent | 21f566b662e1643da1ee9baf1ee8f3eb5293c019 (diff) | |
| download | brew-2476801613a293d7810c5faf2e3383a653b1389c.tar.bz2 | |
Hardware: separate out CPU values into CPU module
* CPU functions now exist in Hardware::CPU
* Added compatibility functions in compat/hardware_compat.rb
* Names are less specific to Mac hardware, e.g. CPU.family instead of
  Hardware.intel_family
* Hardware::CPU.family works for both Intel and PowerPC
* New helper methods on CPU, like .sse4? and .altivec?
Signed-off-by: Misty De Meo <mistydemeo@gmail.com>
Diffstat (limited to 'Library/Homebrew/hardware.rb')
| -rw-r--r-- | Library/Homebrew/hardware.rb | 40 | 
1 files changed, 30 insertions, 10 deletions
diff --git a/Library/Homebrew/hardware.rb b/Library/Homebrew/hardware.rb index ded0c9ccb..b139215ae 100644 --- a/Library/Homebrew/hardware.rb +++ b/Library/Homebrew/hardware.rb @@ -1,11 +1,39 @@ +require 'hardware_compat' +  class Hardware +  module CPU extend self +    def type +      @type || :dunno +    end + +    def family +      @family || :dunno +    end + +    def cores +      @cores || 1 +    end + +    def bits +      @bits || 64 +    end + +    def is_32_bit? +      bits == 32 +    end + +    def is_64_bit? +      bits == 64 +    end +  end +    case RUBY_PLATFORM.downcase    when /darwin/      require 'os/mac/hardware' -    extend MacOSHardware +    CPU.extend MacCPUs    when /linux/      require 'os/linux/hardware' -    extend LinuxHardware +    CPU.extend LinuxCPUs    else      raise "The system `#{`uname`.chomp}' is not supported."    end @@ -19,12 +47,4 @@ class Hardware        Hardware.processor_count      end    end - -  def self.is_32_bit? -    not self.is_64_bit? -  end - -  def self.bits -    Hardware.is_64_bit? ? 64 : 32 -  end  end  | 
