diff options
-rwxr-xr-x | utils/ccc-analyzer | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/utils/ccc-analyzer b/utils/ccc-analyzer index d564466973..abd86f85bf 100755 --- a/utils/ccc-analyzer +++ b/utils/ccc-analyzer @@ -174,24 +174,32 @@ def main(args): 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 == 'include': compile_opts.append(arg) compile_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' + # Options with one argument that should pass through to linker + if arg == 'framework': link_opts.append(arg) + link_opts.append(args[i+1]) + i += 1 - # Options with one argument that should pass through - if arg in ['-framework', '-isysroot', '-arch']: + # 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) + # Input files if arg == '-filelist': f = open(args[i+1]) |