Modified the ArchSpec to take an optional "Platform *" when setting the triple.
This allows you to have a platform selected, then specify a triple using
"i386" and have the remaining triple items (vendor, os, and environment) set
automatically.

Many interpreter commands take the "--arch" option to specify an architecture
triple, so now the command options needed to be able to get to the current
platform, so the Options class now take a reference to the interpreter on
construction.

Modified the build LLVM building in the Xcode project to use the new
Xcode project level user definitions:

LLVM_BUILD_DIR - a path to the llvm build directory
LLVM_SOURCE_DIR - a path to the llvm sources for the llvm that will be used to build lldb
LLVM_CONFIGURATION - the configuration that lldb is built for (Release, 
Release+Asserts, Debug, Debug+Asserts).

I also changed the LLVM build to not check if "lldb/llvm" is a symlink and
then assume it is a real llvm build directory versus the unzipped llvm.zip
package, so now you can actually have a "lldb/llvm" directory in your lldb
sources.




git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@129112 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/Commands/CommandObjectImage.cpp b/source/Commands/CommandObjectImage.cpp
index d684bb2..a59aff0 100644
--- a/source/Commands/CommandObjectImage.cpp
+++ b/source/Commands/CommandObjectImage.cpp
@@ -603,7 +603,8 @@
         CommandObjectImageDumpModuleList (interpreter,
                                           "image dump symtab",
                                           "Dump the symbol table from one or more executable images.",
-                                           NULL)
+                                           NULL),
+        m_options (interpreter)
     {
     }
 
@@ -719,8 +720,8 @@
     {
     public:
 
-        CommandOptions () :
-            Options(),
+        CommandOptions (CommandInterpreter &interpreter) :
+            Options(m_interpreter),
             m_sort_order (eSortOrderNone)
         {
         }
@@ -1140,8 +1141,8 @@
     {
     public:
 
-        CommandOptions () :
-            Options(),
+        CommandOptions (CommandInterpreter &interpreter) :
+            Options(m_interpreter),
             m_format_array()
         {
         }
@@ -1188,7 +1189,8 @@
         CommandObject (interpreter,
                        "image list",
                        "List current executable and dependent shared library images.",
-                       "image list [<cmd-options>]")
+                       "image list [<cmd-options>]"),
+        m_options (interpreter)
     {
     }
 
@@ -1346,8 +1348,8 @@
     {
     public:
 
-        CommandOptions () :
-            Options()
+        CommandOptions (CommandInterpreter &interpreter) :
+            Options(m_interpreter)
         {
             ResetOptionValues();
         }
@@ -1463,7 +1465,8 @@
         CommandObject (interpreter,
                        "image lookup",
                        "Look up information within executable and dependent shared library images.",
-                       NULL)
+                       NULL),
+        m_options (interpreter)
     {
         CommandArgumentEntry arg;
         CommandArgumentData file_arg;
@@ -1572,7 +1575,7 @@
             break;
 
         default:
-            m_options.GenerateOptionUsage (m_interpreter, result.GetErrorStream(), this);
+            m_options.GenerateOptionUsage (result.GetErrorStream(), this);
             syntax_error = true;
             break;
         }