Pass lists of -I and -D options through to the Compiler Driver.
Handle -g and -Wxxx for GCC compatibility


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16115 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/llvmc/llvmc.cpp b/tools/llvmc/llvmc.cpp
index 0f86623..8dab301 100644
--- a/tools/llvmc/llvmc.cpp
+++ b/tools/llvmc/llvmc.cpp
@@ -100,6 +100,14 @@
 cl::list<std::string> Libraries("l", cl::Prefix,
   cl::desc("Specify libraries to link to"), cl::value_desc("library prefix"));
 
+cl::list<std::string> Includes("I", cl::Prefix,
+  cl::desc("Specify location to search for included source"), 
+  cl::value_desc("include directory"));
+
+cl::list<std::string> Defines("D", cl::Prefix,
+  cl::desc("Specify a symbol to define for source configuration"),
+  cl::value_desc("symbol definition"));
+
 
 //===------------------------------------------------------------------------===
 //===          OUTPUT OPTIONS
@@ -117,6 +125,9 @@
 cl::opt<bool> Native("native", cl::init(false),
   cl::desc("Generative native object and executables instead of bytecode"));
 
+cl::opt<bool> DebugOutput("g", cl::init(false),
+  cl::desc("Generate objects that include debug symbols"));
+
 //===------------------------------------------------------------------------===
 //===          INFORMATION OPTIONS
 //===------------------------------------------------------------------------===
@@ -145,6 +156,10 @@
 cl::opt<bool> ShowStats("stats", cl::Optional, cl::init(false),
   cl::desc("Print statistics accumulated during optimization"));
 
+cl::list<std::string> Warnings("W", cl::Prefix,
+  cl::desc("Provide warnings for additional classes of errors"),
+  cl::value_desc("warning category"));
+
 //===------------------------------------------------------------------------===
 //===          ADVANCED OPTIONS
 //===------------------------------------------------------------------------===
@@ -255,6 +270,8 @@
     CD->setFinalPhase(FinalPhase);
     CD->setOptimization(OptLevel);
     CD->setOutputMachine(OutputMachine);
+    CD->setIncludePaths(Includes);
+    CD->setSymbolDefines(Defines);
     CD->setLibraryPaths(LibPaths);
 
     // Provide additional tool arguments