diff options
author | Daniel Dunbar <daniel@zuster.org> | 2008-09-30 16:18:31 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2008-09-30 16:18:31 +0000 |
commit | 7000bf8f87850e527eec41ca2763267f4f563566 (patch) | |
tree | d82cbe11499b748e4207330be986400d3ce1cab5 | |
parent | 480bc342cd48896828dcf7443411e59d67aeb2aa (diff) |
Change ccc to not pass -x unknown down.
Pass through some more Mac OS X linker options.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56853 91177308-0d34-0410-b5e6-96231b3b80d8
-rwxr-xr-x | utils/ccc | 26 |
1 files changed, 20 insertions, 6 deletions
@@ -169,7 +169,7 @@ def inferlanguage(extension): elif extension == "S": return "assembler-with-cpp" else: - return "unknown" + return "" def main(args): action = 'link' @@ -228,9 +228,14 @@ def main(args): compile_opts.append(args[i+1]) i += 1 + # Options with no arguments that should pass through + if arg in ('-dynamiclib',): + link_opts.append(arg) + # Options with one argument that should pass through if arg in ('-framework', '-multiply_defined', '-bundle_loader', - '-e'): + '-e', '-unexported_symbols_list', '-install_name', + '-compatibility_version', '-current_version'): link_opts.append(arg) link_opts.append(args[i+1]) i += 1 @@ -299,10 +304,13 @@ def main(args): files[i] = poutput else: poutput = output + args = [] + if language: + args.extend(['-x', language]) if poutput: - args = ['-x', language, '-o', poutput, file] + compile_opts + args += ['-o', poutput, file] + compile_opts else: - args = ['-x', language, file] + compile_opts + args += [file] + compile_opts preprocess(args) # Discard the explicit language after used once language = '' @@ -319,7 +327,10 @@ def main(args): coutput = changeextension(file, "o") else: coutput = output - args = ['-x', language, '-o', coutput, file] + compile_opts + args = [] + if language: + args.extend(['-x', language]) + args += ['-o', coutput, file] + compile_opts checked_compile(args, native, language, save_temps) language = '' @@ -330,7 +341,10 @@ def main(args): ext = extension(file) if ext != "o" and ext != "a" and ext != "so": out = changeextension(file, "o") - args = ['-x', language, '-o', out, file] + compile_opts + args = [] + if language: + args.extend(['-x', language]) + args = ['-o', out, file] + compile_opts checked_compile(args, native, language, save_temps) language = '' files[i] = out |