superenv: Allow ENV.m32 (for 32bit builds) #16350

Closed
wants to merge 1 commit into
from
View
@@ -101,8 +101,11 @@ class Cmd
case arg = whittler.next
when '-arch', /^-Xarch_/
whittler.next
+ when '-m32'
+ # If ENV.m32 was set, we allow the "-m32" flag, but we don't add anything
+ args << '-m32' if cccfg? '3'
when /^-g\d?/, /^-gstabs\d+/, '-gstabs+', /^-ggdb\d?/, '-gdwarf-2',
- /^-march=.+/, /^-mtune=.+/, '-m64', '-m32',
+ /^-march=.+/, /^-mtune=.+/, '-m64',
/^-O[0-9zs]?$/, '-fast',
'-pedantic', '-pedantic-errors'
when '-fopenmp', '-lgomp'
@@ -68,6 +68,11 @@ def universal_binary
append 'HOMEBREW_CCCFG', "u", ''
end
+ # m32 on superenv does not add any flags. It prevents "-m32" from being erased.
+ def m32
+ append 'HOMEBREW_CCCFG', "3", ''
+ end
+
private
def determine_cc
@@ -205,7 +210,7 @@ def brewed_python?
### NO LONGER NECESSARY OR NO LONGER SUPPORTED
def noop(*args); end
- %w[m64 m32 gcc_4_0_1 fast O4 O3 O2 Os Og O1 libxml2 minimal_optimization
+ %w[m64 gcc_4_0_1 fast O4 O3 O2 Os Og O1 libxml2 minimal_optimization
no_optimization enable_warnings x11
set_cpu_flags
macosxsdk remove_macosxsdk].each{|s| alias_method s, :noop }