Ruoyu Zhong 214a88e434
os/mac: typed: strict
Co-authored-by: Bo Anderson <mail@boanderson.me>
2025-08-21 01:52:51 +08:00

52 lines
1.4 KiB
Ruby

# typed: strict
# frozen_string_literal: true
module OS
module Mac
module Formula
extend T::Helpers
requires_ancestor { ::Formula }
sig { returns(T::Boolean) }
def valid_platform?
requirements.none?(LinuxRequirement)
end
sig {
params(
install_prefix: T.any(String, Pathname),
install_libdir: T.any(String, Pathname),
find_framework: String,
).returns(T::Array[String])
}
def std_cmake_args(install_prefix: prefix, install_libdir: "lib", find_framework: "LAST")
args = super
# Avoid false positives for clock_gettime support on 10.11.
# CMake cache entries for other weak symbols may be added here as needed.
args << "-DHAVE_CLOCK_GETTIME:INTERNAL=0" if MacOS.version == "10.11" && MacOS::Xcode.version >= "8.0"
# Ensure CMake is using the same SDK we are using.
args << "-DCMAKE_OSX_SYSROOT=#{T.must(MacOS.sdk_for_formula(self)).path}" if MacOS.sdk_root_needed?
args
end
sig {
params(
prefix: T.any(String, Pathname),
release_mode: Symbol,
).returns(T::Array[String])
}
def std_zig_args(prefix: self.prefix, release_mode: :fast)
args = super
args << "-fno-rosetta" if ::Hardware::CPU.arm?
args
end
end
end
end
Formula.prepend(OS::Mac::Formula)