diff options
| author | Charlie Sharpsteen | 2012-03-07 18:33:32 -0800 |
|---|---|---|
| committer | Charlie Sharpsteen | 2012-03-09 12:14:05 -0800 |
| commit | 55d4f4874660c768d28dce18155da627a899a176 (patch) | |
| tree | 115248e2f9fd6c6403a881202382c49a96dce661 /Library/Homebrew | |
| parent | 1805e87529614ebc56c16210a5b3ce544a1c7329 (diff) | |
| download | brew-55d4f4874660c768d28dce18155da627a899a176.tar.bz2 | |
ENV.rb: Generalize method for setting CPU flags
All logic has been copied into a new method `set_cpu_flags` that accepts an
additional argument, `flags`, which contains a list of environment variables
for which the CPU flags are to be adjusted.
`set_cpu_cflags` now recalls `set_cpu_flags` and passes `cflags_flags` as the
first argument.
Signed-off-by: Charlie Sharpsteen <source@sharpsteen.net>
Diffstat (limited to 'Library/Homebrew')
| -rw-r--r-- | Library/Homebrew/extend/ENV.rb | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/Library/Homebrew/extend/ENV.rb b/Library/Homebrew/extend/ENV.rb index c00ee917f..c67c93800 100644 --- a/Library/Homebrew/extend/ENV.rb +++ b/Library/Homebrew/extend/ENV.rb @@ -355,24 +355,30 @@ Please take one of the following actions: end end - def set_cpu_cflags default, map = {} + # Sets architecture-specific flags for every environment variable + # given in the list `flags`. + def set_cpu_flags flags, default, map = {} cflags =~ %r{(-Xarch_i386 )-march=} xarch = $1.to_s - remove_from_cflags %r{(-Xarch_i386 )?-march=\S*} - remove_from_cflags %r{( -Xclang \S+)+} - remove_from_cflags %r{-mssse3} - remove_from_cflags %r{-msse4(\.\d)?} - append_to_cflags xarch unless xarch.empty? + remove flags, %r{(-Xarch_i386 )?-march=\S*} + remove flags, %r{( -Xclang \S+)+} + remove flags, %r{-mssse3} + remove flags, %r{-msse4(\.\d)?} + append flags, xarch unless xarch.empty? if ARGV.build_bottle? - append_to_cflags '-mtune=' + map.fetch(:bottle) if map.has_key? :bottle + append flags, '-mtune=' + map.fetch(:bottle) if map.has_key? :bottle else # Don't set -msse3 and older flags because -march does that for us - append_to_cflags '-march=' + map.fetch(Hardware.intel_family, default) + append flags, '-march=' + map.fetch(Hardware.intel_family, default) end # not really a 'CPU' cflag, but is only used with clang - remove_from_cflags '-Qunused-arguments' + remove flags, '-Qunused-arguments' + end + + def set_cpu_cflags default, map = {} + set_cpu_flags cc_flag_vars, default, map end # actually c-compiler, so cc would be a better name |
