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
|
case arg = whittler.next
|
||||||
when '-arch', /^-Xarch_/
|
when '-arch', /^-Xarch_/
|
||||||
whittler.next
|
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',
|
when /^-g\d?/, /^-gstabs\d+/, '-gstabs+', /^-ggdb\d?/, '-gdwarf-2',
|
||||||
/^-march=.+/, /^-mtune=.+/, '-m64', '-m32',
|
/^-march=.+/, /^-mtune=.+/, '-m64',
|
||||||
/^-O[0-9zs]?$/, '-fast',
|
/^-O[0-9zs]?$/, '-fast',
|
||||||
'-pedantic', '-pedantic-errors'
|
'-pedantic', '-pedantic-errors'
|
||||||
when '-fopenmp', '-lgomp'
|
when '-fopenmp', '-lgomp'
|
||||||
|
|||||||
@ -68,6 +68,11 @@ class << ENV
|
|||||||
append 'HOMEBREW_CCCFG', "u", ''
|
append 'HOMEBREW_CCCFG', "u", ''
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# m32 on superenv does not add any flags. It prevents "-m32" from being erased.
|
||||||
|
def m32
|
||||||
|
append 'HOMEBREW_CCCFG', "3", ''
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def determine_cc
|
def determine_cc
|
||||||
@ -205,7 +210,7 @@ class << ENV
|
|||||||
|
|
||||||
### NO LONGER NECESSARY OR NO LONGER SUPPORTED
|
### NO LONGER NECESSARY OR NO LONGER SUPPORTED
|
||||||
def noop(*args); end
|
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
|
no_optimization enable_warnings x11
|
||||||
set_cpu_flags
|
set_cpu_flags
|
||||||
macosxsdk remove_macosxsdk].each{|s| alias_method s, :noop }
|
macosxsdk remove_macosxsdk].each{|s| alias_method s, :noop }
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user