superenv: Allow ENV.m32 (for 32bit builds)
Superenv normally filters out "-m32" flag, preventing 32bit builds. Some software, however, still only work in 32bit mode. If ENV.m32 is called, superenv does not filter out the "-m32" flag. Also note, superenv, does not explicitly add the -m32 flag and expects the build system of the software to know when and where to provide this flag. Closes Homebrew/homebrew#16350. Signed-off-by: Adam Vandenberg <flangy@gmail.com>
This commit is contained in:
parent
2c6a7bdca8
commit
293be41d5c
@ -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 @@ class << ENV
|
||||
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 @@ class << ENV
|
||||
|
||||
### 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 }
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user