summaryrefslogtreecommitdiffstats
path: root/clang/tools/ccc/ccclib/ToolChain.py
Commit message (Collapse)AuthorAgeFilesLines
* ccc: -x assembler-with-cpp was broken for darwin, and it wasn't usingDaniel Dunbar2009-03-111-2/+2
| | | | | | clang as the preprocessor even when it should. llvm-svn: 66737
* Unbreak Darwin PIC handling; my refactoring yesterday was bogus.Daniel Dunbar2009-02-201-11/+8
| | | | llvm-svn: 65154
* ccc: Basic translation of gcc subtarget feature options to LLVMDaniel Dunbar2009-02-201-0/+6
| | | | | | | | options (i.e., -mno-red-zone, -msoft-float, -mno-sse, etc.) - Also, make sure unwind tables default to on Darwin/x86_64. - PR3604. llvm-svn: 65118
* ccc: Use toolchain hook for default relocation model value.Daniel Dunbar2009-02-201-0/+26
| | | | llvm-svn: 65116
* ccc: Use toolChain arch name instead of looking for arch command lineDaniel Dunbar2009-02-201-12/+6
| | | | | | | argument; the toolchain should always know the arch. - Fixes: <rdar://problem/6582911> -ccc-clang-archs doesn't work for excluding ppc llvm-svn: 65104
* ccc: Store arch name in all toolchains.Daniel Dunbar2009-02-201-6/+6
| | | | | | - No functionality change. llvm-svn: 65102
* ccc: Give all tools access to the toolchain they are in.Daniel Dunbar2009-02-201-6/+6
| | | | | | - No functionality change. llvm-svn: 65100
* ccc: Pass -f[no-]math-errno to clang.Daniel Dunbar2009-02-171-0/+6
| | | | llvm-svn: 64709
* ccc/Darwin: Add a missing Darwin argument translation, -shared becomesDaniel Dunbar2009-02-061-0/+2
| | | | | | | -dynamiclib. Re-audited translations to make sure I didn't miss something else. llvm-svn: 63953
* ccc: Embrace destiny as a clang compiler driver.Daniel Dunbar2009-01-291-23/+38
| | | | | | | | | | | | | | | | | | | | | This redoes the default mode that ccc runs in w.r.t. using clang. Now ccc defaults to always using clang for any task clang can handle. However, the following options exist to tweak this behavior: -ccc-no-clang: Don't use clang at all for compilation (still used for static analysis). -ccc-no-clang-cxx: Don't use clang for C++ and Objective-C++ inputs. -ccc-no-clang-cpp: Don't use clang as a preprocessor. -ccc-clang-archs <archs>: If present, only use clang for the given comma separated list of architectures. This only works on Darwin for now. Note that all -ccc options must be first on the command line. llvm-svn: 63346
* ccc: Honor -ccc-clang for generic GCC toolchain.Daniel Dunbar2009-01-291-1/+16
| | | | llvm-svn: 63277
* ccc: Recognize -emit-llvm [-S].Daniel Dunbar2009-01-261-6/+12
| | | | | | | - Unlike llvm-gcc, this doesn't yet treat -emit-llvm output as a linker input. llvm-svn: 63014
* ccc: Add appropriate file search prefixes when on x86_64 Darwin, andDaniel Dunbar2009-01-211-5/+11
| | | | | | look for crt3.o appropriately. llvm-svn: 62694
* ccc: Implement file & path searching.Daniel Dunbar2009-01-211-5/+28
| | | | | | | | - Toolchain is responsible for providing list of prefixes to search. - Implement -print-file-name=xxx and -print-prog-name=xxx driver options. llvm-svn: 62659
* ccc: Add --analyze driver mode (for running static analyzer).Daniel Dunbar2009-01-211-1/+5
| | | | | | | | | | | - For now forces generation of plist files, need to think about the right interface. - Changed -fsyntax-only mode to be its own phase (more consistent). - Add -WA, for passing options verbatim to analyzer. llvm-svn: 62649
* ccc: Darwin/x86: Teach compile tool how to build .pch files. xcc isDaniel Dunbar2009-01-201-1/+1
| | | | | | now fully independent of the gcc driver when targetting Darwin/x86. llvm-svn: 62570
* ccc: Darwin/x86: Add direct cpp support.Daniel Dunbar2009-01-201-1/+1
| | | | | | | | | | - Add Darwin_X86_CC1Tool which is shared by Darwin/x86/Compile and Darwin/x86/Preprocess tools. - Minor bug fixes (CmpDriver exit code, -x cpp-output handling, some linker argument translation). llvm-svn: 62551
* ccc: Darwin/X86: Implement remainder of (non -Z...) generic argumentDaniel Dunbar2009-01-161-1/+35
| | | | | | | | | | translation. - As is my general strategy, this is initially pedantically compatible with gcc and can be cleaned up later. So, for example, we still pass -static to collect2 4 times if you say '-mkernel -fapple-kext'. ;) llvm-svn: 62353
* ccc: Implement support clang PTH using gcc PCH style interface.Daniel Dunbar2009-01-141-6/+9
| | | | | | | | | | | | | | | | | | | This requires some hackery, as gcc's PCH mechanism changes behavior, whereas while PTH is simply a cache. Notably: - Automatically cause clang to load a .pth file if we find one that matches a command line -include argument (similar to how gcc looks for .gch files). - When generating precompiled headers, translate the suffix from .gch to .pth (so we do not conflict with actual gcc PCH files). - When generating precompiled headers, copy the input header to the same location as the output PTH file. This is necessary because gcc supports -include xxx.h even if xxx.h doesn't exist, but for clang we need to actually have the contents of this file available. llvm-svn: 62246
* ccc: Use Clang/Compile for Objective-C files as well.Daniel Dunbar2009-01-141-1/+2
| | | | llvm-svn: 62206
* ccc: Add dummy Clang/Compile tool and use on Darwin/X86 for C files.Daniel Dunbar2009-01-141-1/+11
| | | | llvm-svn: 62204
* ccc: Darwin: Implement some important general argument translationsDaniel Dunbar2009-01-131-0/+40
| | | | | | | | for the Darwin tool chain. - Ideally we would localize these to tool specific argument processing but for now this matches gcc closely. llvm-svn: 62181
* ccc: Allow internal tool chain specific argument translation.Daniel Dunbar2009-01-131-1/+28
| | | | | | | | | | - Pulled -Xarch processing into this. - Get rid of manual creation of forwarding arg array. - Use Darwin/CC1 instead of generic GCC cc1 on X86. llvm-svn: 62172
* ccc: (Darwin) More argument translation for Darwin/Compile tool.Daniel Dunbar2009-01-121-0/+4
| | | | llvm-svn: 62093
* ccc: (Darwin) Move path resolution into ToolChain.Daniel Dunbar2009-01-121-3/+15
| | | | llvm-svn: 62082
* ccc: Generalize Darwin/Link tool based on Darwin version.Daniel Dunbar2009-01-121-4/+5
| | | | llvm-svn: 62078
* ccc: Add fairly complete argument translation for Darwin link step.Daniel Dunbar2009-01-111-3/+3
| | | | | | | | | | | - Some things are still hardcoded, and macosx-version-min comparison isn't implemented, but otherwise this very closely matches gcc. - The one exception is that arguments (like -framework or -Wl,) which are treated as linker inputs instead of options are not being forwarded yet. llvm-svn: 62059
* ccc: Introduce ToolChains for mapping Actions to Tools which canDaniel Dunbar2009-01-101-0/+50
perform them. - A ToolChain is a coherent set of tools use in a compilation process. The idea is that a ToolChain holds roughly the information (specs, search paths, etc.) that is in a single gcc binary. - The default ToolChain is selected by the host and will generally correspond to what the default system compiler would do. However, this can be over-riden for a variety of purposes, for example the by the driver driver or for testing. llvm-svn: 62021
OpenPOWER on IntegriCloud