diff options
| author | Misty De Meo | 2013-08-27 18:23:34 -0700 |
|---|---|---|
| committer | Misty De Meo | 2013-08-27 18:24:08 -0700 |
| commit | 55654933f5ba47926d2fbf98d9aa606a4a86e23a (patch) | |
| tree | 49c245cd215989696f59d70b534bf91b51641c05 /Library/ENV | |
| parent | ed461359a71ec31c14c0a5e2e4b1103357d02036 (diff) | |
| download | brew-55654933f5ba47926d2fbf98d9aa606a4a86e23a.tar.bz2 | |
superenv: fix cpp shim
This sets cpp to use the compiler as cpp, and works with scripts which
pass values to cpp on stdin as well as with file arguments.
Closes Homebrew/homebrew#22155.
Diffstat (limited to 'Library/ENV')
| -rwxr-xr-x | Library/ENV/4.3/cc | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/Library/ENV/4.3/cc b/Library/ENV/4.3/cc index fd22bb373..4a626c77a 100755 --- a/Library/ENV/4.3/cc +++ b/Library/ENV/4.3/cc @@ -6,6 +6,7 @@ #TODO create mechanism to specify build effects like %w{-O0 -O4 vanilla-arg-parsing sdk=10.6} etc. require "#{File.dirname __FILE__}/../libsuperenv" +require 'io/wait' require 'set' def cccfg? flags @@ -55,8 +56,7 @@ class Cmd def tool @tool ||= case @arg0 when 'ld' then 'ld' - when 'cpp' then 'cpp' - when 'cc', 'c99', 'c89' + when 'cc', 'cpp', 'c99', 'c89' # Ideally we would run `cx9`, however these tools are POSIX compliant # and don't support many flags. We need -isystem for instance, but also # reliability is generally much higher if we just get clang/gcc to do @@ -90,7 +90,8 @@ class Cmd end if nclt? case mode when :cpp - %w{-E} + args + cppflags + args = %w{-E} + args + cppflags + STDIN.ready? ? args + %w{-} : args when :ld ldflags + args when :cc |
