Implement the "setIncludePaths" and "setSymbolDefines" interface methods.
Revise token substitution to be a little faster.
Clean up exception throwing, make sure its always a std::string.

llvm-svn: 16116
diff --git a/llvm/tools/llvmc/ConfigLexer.h b/llvm/tools/llvmc/ConfigLexer.h
index bb731d3..7a9693d 100644
--- a/llvm/tools/llvmc/ConfigLexer.h
+++ b/llvm/tools/llvmc/ConfigLexer.h
@@ -55,14 +55,17 @@
   ASSEMBLER,    ///< The name "assembler" (and variants)
   BYTECODE,     ///< The value "bytecode" (and variants)
   COMMAND,      ///< The name "command" (and variants)
+  DEFS_SUBST,   ///< The substitution item %defs%
   EQUALS,       ///< The equals sign, =
   FALSETOK,     ///< A boolean false value (false/no/off)
   FORCE_SUBST,  ///< The substitution item %force%
   IN_SUBST,     ///< The substitution item %in%
+  INCLS_SUBST,  ///< The substitution item %incls%
   INTEGER,      ///< An integer 
   LANG,         ///< The name "lang" (and variants)
   LIBPATHS,     ///< The name "libpaths" (and variants)
   LIBS,         ///< The name "libs" (and variants)
+  LIBS_SUBST,   ///< The substitution item %libs%
   LINKER,       ///< The name "linker" (and variants)
   NAME,         ///< The name "name" (and variants)
   OPT_SUBST,    ///< The substitution item %opt%