zig std args: use symbols for compilation options

This commit is contained in:
botantony 2025-02-21 17:07:29 +01:00
parent bfdfdc9489
commit c5d78f3347
No known key found for this signature in database
GPG Key ID: 7FE721557EA6AAD6
2 changed files with 9 additions and 7 deletions

View File

@ -36,10 +36,10 @@ module OS
sig { sig {
params( params(
prefix: T.any(String, Pathname), prefix: T.any(String, Pathname),
release_mode: String release_mode: Symbol,
).returns(T::Array[String]) ).returns(T::Array[String])
} }
def std_zig_args(prefix: self.prefix, release_mode: "fast") def std_zig_args(prefix: self.prefix, release_mode: :fast)
args = super args = super
# it is probably better to add this flag only on arm macs # it is probably better to add this flag only on arm macs
# my attempts with `MacOS::Hardware::CPU.arm?` and its variations didn't work out # my attempts with `MacOS::Hardware::CPU.arm?` and its variations didn't work out

View File

@ -1951,16 +1951,18 @@ class Formula
# @api public # @api public
sig { sig {
params(prefix: T.any(String, Pathname), params(prefix: T.any(String, Pathname),
release_mode: String).returns(T::Array[String]) release_mode: Symbol).returns(T::Array[String])
} }
def std_zig_args(prefix: self.prefix, release_mode: "fast") def std_zig_args(prefix: self.prefix, release_mode: :fast)
release_mode_downcased = release_mode.downcase raise ArgumentError, "Invalid Zig release mode: #{release_mode}" if [:safe, :fast, :small].exclude?(release_mode)
release_mode_capitalized = release_mode.capitalize
release_mode_downcased = release_mode.to_s.downcase
release_mode_capitalized = release_mode.to_s.capitalize
[ [
"--prefix", prefix.to_s, "--prefix", prefix.to_s,
"--release=#{release_mode_downcased}", "--release=#{release_mode_downcased}",
"-Doptimize=Release#{release_mode_capitalized}", "-Doptimize=Release#{release_mode_capitalized}",
"--summary", "all", "--summary", "all"
] ]
end end