aboutsummaryrefslogtreecommitdiff
path: root/tools/ccc/ccclib/Tools.py
AgeCommit message (Collapse)Author
2009-01-17ccc: Support running piped jobs (-pipe now works).Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62396 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-17ccc: Don't be pedantically compatible with -Z options, these are theDaniel Dunbar
result of an internal implementation detail of gcc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62389 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-16ccc: Clean up (user level) error handling.Daniel Dunbar
- ccc now checks for existence of input files (more annoying to test, but matches gcc). - Fix some test cases. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62378 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-16ccc: Darwin/X86: gcc compatibility, only addDaniel Dunbar
'-feliminate-unused-debug-symbols' in reponse to '-g' (not '-g*'). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62357 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-16ccc: Darwin/X86: Implement remainder of (non -Z...) generic argumentDaniel Dunbar
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'. ;) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62353 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-14ccc: Implement support clang PTH using gcc PCH style interface.Daniel Dunbar
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62246 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-14ccc: Finish main clang compiler argument translation.Daniel Dunbar
- Still missing some odds and ends like -M. - Also, we still need to do some translation and forwarding of codegen options. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62241 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-14ccc: Darwin/Compiler: Improve gcc compat in use of -auxbase-strip.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62213 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-14ccc: Implement argument translation for clang.Daniel Dunbar
- This is what ccc (old) currently handles. - Clang accepts some more things that aren't getting forwarded... git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62210 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-14ccc: Add dummy Clang/Compile tool and use on Darwin/X86 for C files.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62204 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-14ccc: Darwin/Compile: Define __private_extern__ when building c++.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62200 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-13ccc: Darwin: Implement some important general argument translationsDaniel Dunbar
for the Darwin tool chain. - Ideally we would localize these to tool specific argument processing but for now this matches gcc closely. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62181 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-13ccc: Allow internal tool chain specific argument translation.Daniel Dunbar
- Pulled -Xarch processing into this. - Get rid of manual creation of forwarding arg array. - Use Darwin/CC1 instead of generic GCC cc1 on X86. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62172 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-13ccc: Darwin/Link also runs dsymutil in one very particular situation.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62154 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-13ccc: Bug fix and gcc compatibility tweak.Daniel Dunbar
- --gstabs only goes to Darwin/Assembler when dealing with an assembly file from the command line. - Relative placement of -o option for cc1 moves depending on -fsyntax-only/-S, how quaint. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62152 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-13ccc: Add option groups.Daniel Dunbar
- Simple mechanism for group together sets of options so the driver can efficiently deal with them as a group (i.e., for forwarding -i* to cc1). - Use to finish off the major missing pieces of Darwin/CC1 support. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62149 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-13ccc: Darwin/CC1: Hardcode (for now) some -m options to match gcc.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62146 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-13ccc: Darwin/CC1: Be bug compatible with gcc in a corner case.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62131 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-12ccc: Bug fix, output can be NULL.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62108 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-12ccc: Even more Darwin/cc1 argument translation support.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62105 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-12ccc: (Darwin) More argument translation for Darwin/Compile tool.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62093 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-12ccc: (Darwin) More argument translation for Darwin/Compile tool.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62089 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-12ccc: (Darwin) Start implementing argument translation forDaniel Dunbar
Darwin/Compile tool. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62085 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-12ccc: (Darwin) Move path resolution into ToolChain.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62082 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-12ccc: Implement the rest of Darwin/Assembler argument translation.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62081 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-12ccc: Implement macosx-version-min conditions (including a bug fix).Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62079 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-12ccc: Generalize Darwin/Link tool based on Darwin version.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62078 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-12ccc: Support arguments which behave like linker inputs.Daniel Dunbar
- Support comma joined options which magically turn into multiple value arguments (e.g., -Wl,) - Split out separate Arg::render routine for when an argument is being rendered as an input (as opposed to in its original form). - Add option flag for options which should be rendered without the option when they are used as an input (e.g., -Xlinker or -o). - Support -weak-l..., -weak_framework, and -weak_library. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62075 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-12ccc: (Darwin) Pass -ObjC to linker if -ObjC, -ObjC++ or -fobjc isDaniel Dunbar
present. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62070 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-11ccc: Add fairly complete argument translation for Darwin link step.Daniel Dunbar
- 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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62059 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-10ccc: Add generic assembler & linker tools which effectively shell outDaniel Dunbar
to gcc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62020 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-09ccc: Get host information via Driver methods.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62011 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-07ccc: Make proper synthetic arguments in places we have to constructDaniel Dunbar
"fake" options, allowing Tools to be oblivious to whether an argument is real or synthetic. This kills off DerivedArg & a number of FIXMEs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61871 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-07ccc: Change Command to take list of strings for argv instead of ArgDaniel Dunbar
instances; this just complicated things and doesn't seem to provide any benefit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61869 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-07ccc: Refactor so that all accesses to actual input strings go throughDaniel Dunbar
the ArgList. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61844 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-06ccc: Track last actual argument instance for each option & changeDaniel Dunbar
driver to lookup this way instead of manually scanning arguments in multiple places. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61793 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-05Add prototype ccc rewrite.Daniel Dunbar
- Entry point is tools/ccc/xcc until we are a functional replacement for ccc. This is highly experimental (FIXME/LOC ratio of 3.4%), quite crufty, and barely usable (and then only on my specific Darwin). However, many of the right ideas are present, and it already fixes a number of things gcc gets wrong. The major missing component is argument translation for tools (translating driver arguments into cc1/ld/as/etc. arguments). This is a large part of the driver functionality and will probably double the LOC, but my hope is that the current architecture is relatively stable. Documentation & motivation to follow soon... git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61739 91177308-0d34-0410-b5e6-96231b3b80d8