aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
Diffstat (limited to 'Library')
-rwxr-xr-xLibrary/ENV/4.3/cc7
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