From 9a19f5bcd2a352446868ac51873b3ddc1becf2a1 Mon Sep 17 00:00:00 2001 From: Tokarak <63452145+Tokarak@users.noreply.github.com> Date: Sat, 17 Jun 2023 10:38:32 +0100 Subject: [PATCH] Refactor to use oldest_cpu --- Library/Homebrew/extend/os/mac/hardware.rb | 17 ----------------- Library/Homebrew/hardware.rb | 15 +++++++++++---- 2 files changed, 11 insertions(+), 21 deletions(-) diff --git a/Library/Homebrew/extend/os/mac/hardware.rb b/Library/Homebrew/extend/os/mac/hardware.rb index 2cc0d30b7e..cbe49c8424 100644 --- a/Library/Homebrew/extend/os/mac/hardware.rb +++ b/Library/Homebrew/extend/os/mac/hardware.rb @@ -24,21 +24,4 @@ module Hardware generic_oldest_cpu end end - - # Override - # Mirrors version-dependent logic of oldest_cpu - sig { params(version: T.nilable(Version)).returns(String) } - def self.rustflags_target_cpu(version = nil) - version = if version - MacOSVersion.new(version.to_s) - else - MacOS.version - end - - if Hardware::CPU.intel? && version >= :mojave - "-Ctarget-cpu=nehalem" - else - generic_rustflags_target_cpu - end - end end diff --git a/Library/Homebrew/hardware.rb b/Library/Homebrew/hardware.rb index e10a548fd0..6033f92aa5 100644 --- a/Library/Homebrew/hardware.rb +++ b/Library/Homebrew/hardware.rb @@ -41,6 +41,14 @@ module Hardware end alias generic_optimization_flags optimization_flags + def rust_optimisation_flags + # Only give values where it is an improvement over rust cpu defaults + @rust_optimisation_flags ||= { + native: "-Ctarget-cpu=native", + nehalem: "-Ctarget-cpu=nehalem", + }.freeze + end + sig { returns(Symbol) } def arch_32_bit if arm? @@ -221,11 +229,10 @@ module Hardware # But only where it is version dependent. # Rust already defaults to the oldest supported cpu for the target-triple # Including apple-m1 since 1.71. - sig { params(_version: T.nilable(Version)).returns(String) } - def rustflags_target_cpu(_version = nil) - "" + sig { returns(String) } + def rustflags_target_cpu + CPU.rust_optimisation_flags.fetch(oldest_cpu, "") end - alias generic_rustflags_target_cpu rustflags_target_cpu end end