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/CommandObjectProcess.cpp b/source/Commands/CommandObjectProcess.cpp
index 8287481..116309d 100644
--- a/source/Commands/CommandObjectProcess.cpp
+++ b/source/Commands/CommandObjectProcess.cpp
@@ -40,8 +40,8 @@
     {
     public:
 
-        CommandOptions () :
-            Options()
+        CommandOptions (CommandInterpreter &interpreter) :
+            Options(interpreter)
         {
             // Keep default values of all options in one place: ResetOptionValues ()
             ResetOptionValues ();
@@ -121,7 +121,8 @@
         CommandObject (interpreter,
                        "process launch",
                        "Launch the executable in the debugger.",
-                       NULL)
+                       NULL),
+        m_options (interpreter)
     {
         CommandArgumentEntry arg;
         CommandArgumentData run_args_arg;
@@ -433,8 +434,8 @@
     {
     public:
 
-        CommandOptions () :
-            Options()
+        CommandOptions (CommandInterpreter &interpreter) :
+            Options(interpreter)
         {
             // Keep default values of all options in one place: ResetOptionValues ()
             ResetOptionValues ();
@@ -494,8 +495,7 @@
         }
 
         virtual bool
-        HandleOptionArgumentCompletion (CommandInterpreter &interpeter, 
-                                        Args &input,
+        HandleOptionArgumentCompletion (Args &input,
                                         int cursor_index,
                                         int char_pos,
                                         OptionElementVector &opt_element_vector,
@@ -521,7 +521,7 @@
                 const char *partial_name = NULL;
                 partial_name = input.GetArgumentAtIndex(opt_arg_pos);
 
-                PlatformSP platform_sp (interpeter.GetDebugger().GetPlatformList().GetSelectedPlatform ());
+                PlatformSP platform_sp (m_interpreter.GetDebugger().GetPlatformList().GetSelectedPlatform ());
                 if (platform_sp)
                 {
                     ProcessInfoList process_infos;
@@ -563,7 +563,8 @@
         CommandObject (interpreter,
                        "process attach",
                        "Attach to a process.",
-                       "process attach <cmd-options>")
+                       "process attach <cmd-options>"),
+        m_options (interpreter)
     {
     }
 
@@ -983,8 +984,8 @@
     {
     public:
         
-        CommandOptions () :
-        Options()
+        CommandOptions (CommandInterpreter &interpreter) :
+            Options(interpreter)
         {
             // Keep default values of all options in one place: ResetOptionValues ()
             ResetOptionValues ();
@@ -1035,11 +1036,12 @@
     };
 
     CommandObjectProcessConnect (CommandInterpreter &interpreter) :
-    CommandObject (interpreter,
-                   "process connect",
-                   "Connect to a remote debug service.",
-                   "process connect <remote-url>",
-                   0)
+        CommandObject (interpreter,
+                       "process connect",
+                       "Connect to a remote debug service.",
+                       "process connect <remote-url>",
+                       0),
+        m_options (interpreter)
     {
     }
     
@@ -1568,8 +1570,8 @@
     {
     public:
         
-        CommandOptions () :
-            Options ()
+        CommandOptions (CommandInterpreter &interpreter) :
+            Options (interpreter)
         {
             ResetOptionValues ();
         }
@@ -1632,7 +1634,8 @@
         CommandObject (interpreter,
                        "process handle",
                        "Show or update what the process and debugger should do with various signals received from the OS.",
-                       NULL)
+                       NULL),
+        m_options (interpreter)
     {
         SetHelpLong ("If no signals are specified, update them all.  If no update option is specified, list the current values.\n");
         CommandArgumentEntry arg;