brew/Library/Homebrew/os/mac/architecture_list.rb

55 lines
1.1 KiB
Ruby
Raw Normal View History

2016-04-25 18:00:01 +01:00
require "extend/os/hardware"
module ArchitectureListExtension
# @private
def fat?
length > 1
end
# @private
def intel_universal?
intersects_all?(Hardware::CPU::INTEL_32BIT_ARCHS, Hardware::CPU::INTEL_64BIT_ARCHS)
end
# @private
def ppc_universal?
intersects_all?(Hardware::CPU::PPC_32BIT_ARCHS, Hardware::CPU::PPC_64BIT_ARCHS)
end
# Old-style 32-bit PPC/Intel universal, e.g. ppc7400 and i386
# @private
def cross_universal?
intersects_all?(Hardware::CPU::PPC_32BIT_ARCHS, Hardware::CPU::INTEL_32BIT_ARCHS)
end
# @private
def universal?
intel_universal? || ppc_universal? || cross_universal?
end
def ppc?
2017-06-01 16:06:51 +02:00
(Hardware::CPU::PPC_32BIT_ARCHS + Hardware::CPU::PPC_64BIT_ARCHS).any? { |a| include? a }
end
# @private
def remove_ppc!
2017-06-01 16:06:51 +02:00
(Hardware::CPU::PPC_32BIT_ARCHS + Hardware::CPU::PPC_64BIT_ARCHS).each { |a| delete a }
end
def as_arch_flags
collect { |a| "-arch #{a}" }.join(" ")
end
def as_cmake_arch_flags
join(";")
end
protected
def intersects_all?(*set)
set.all? do |archset|
archset.any? { |a| include? a }
end
end
end