handle -arch and -isysroot correctly (like ccc-analyszer do).
Patch by Filipe Cabecinhas
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@52417 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/utils/ccc b/utils/ccc
index fd909f9..b58bf61 100755
--- a/utils/ccc
+++ b/utils/ccc
@@ -111,24 +111,34 @@
if arg[:5] in ['-std=']:
compile_opts.append(arg)
- # Options with one argument that should pass through
- if arg in ['-include', '-isysroot', '-arch']:
+ # Options with one argument that should pass through to compiler
+ if arg in [ '-include', '-idirafter', '-iprefix',
+ '-iquote', '-isystem', '-iwithprefix',
+ '-iwithprefixbefore']:
compile_opts.append(arg)
compile_opts.append(args[i+1])
i += 1
+ # Options with one argument that should pass through
+ if arg in ['-framework']:
+ link_opts.append(arg)
+ link_opts.append(args[i+1])
+ i += 1
+
+ # Options with one argument that should pass through to both
+ if arg in ['-isysroot', '-arch']:
+ compile_opts.append(arg)
+ compile_opts.append(args[i+1])
+ link_opts.append(arg)
+ link_opts.append(args[i+1])
+ i += 1
+
# Prefix matches for the link mode
if arg[:2] in ['-l', '-L', '-O', '-F']:
if arg == '-O': arg = '-O1'
if arg == '-Os': arg = '-O2'
link_opts.append(arg)
- # Options with one argument that should pass through
- if arg in ['-framework', '-isysroot', '-arch']:
- link_opts.append(arg)
- link_opts.append(args[i+1])
- i += 1
-
# Input files
if arg == '-filelist':
f = open(args[i+1])