diff options
| author | Samuel John | 2012-12-01 19:42:22 +0100 |
|---|---|---|
| committer | Adam Vandenberg | 2013-01-24 19:21:57 -0800 |
| commit | 293be41d5c83b972f1fafe00c32412cb6e46697b (patch) | |
| tree | 620b9291ee99f46eba06162b1ac1d4d3a9722689 /Library | |
| parent | 2c6a7bdca8fe86257a588716842c763d5204ed0f (diff) | |
| download | brew-293be41d5c83b972f1fafe00c32412cb6e46697b.tar.bz2 | |
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>
Diffstat (limited to 'Library')
| -rwxr-xr-x | Library/ENV/4.3/cc | 5 | ||||
| -rw-r--r-- | Library/Homebrew/superenv.rb | 7 |
2 files changed, 10 insertions, 2 deletions
diff --git a/Library/ENV/4.3/cc b/Library/ENV/4.3/cc index a7317abf8..69c1dd764 100755 --- a/Library/ENV/4.3/cc +++ b/Library/ENV/4.3/cc @@ -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' diff --git a/Library/Homebrew/superenv.rb b/Library/Homebrew/superenv.rb index 9225b9608..0e8c3789e 100644 --- a/Library/Homebrew/superenv.rb +++ b/Library/Homebrew/superenv.rb @@ -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 } |
