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/CommandObjectBreakpoint.cpp b/source/Commands/CommandObjectBreakpoint.cpp
index 8208ea8..c828701 100644
--- a/source/Commands/CommandObjectBreakpoint.cpp
+++ b/source/Commands/CommandObjectBreakpoint.cpp
@@ -47,8 +47,8 @@
 //-------------------------------------------------------------------------
 #pragma mark Set::CommandOptions
 
-CommandObjectBreakpointSet::CommandOptions::CommandOptions() :
-    Options (),
+CommandObjectBreakpointSet::CommandOptions::CommandOptions(CommandInterpreter &interpreter) :
+    Options (interpreter),
     m_filename (),
     m_line_num (0),
     m_column (0),
@@ -259,7 +259,8 @@
     CommandObject (interpreter,
                    "breakpoint set", 
                    "Sets a breakpoint or set of breakpoints in the executable.", 
-                   "breakpoint set <cmd-options>")
+                   "breakpoint set <cmd-options>"),
+    m_options (interpreter)
 {
 }
 
@@ -637,8 +638,8 @@
 //-------------------------------------------------------------------------
 #pragma mark List::CommandOptions
 
-CommandObjectBreakpointList::CommandOptions::CommandOptions() :
-    Options (),
+CommandObjectBreakpointList::CommandOptions::CommandOptions(CommandInterpreter &interpreter) :
+    Options (interpreter),
     m_level (lldb::eDescriptionLevelBrief)  // Breakpoint List defaults to brief descriptions
 {
 }
@@ -717,7 +718,8 @@
     CommandObject (interpreter, 
                    "breakpoint list",
                    "List some or all breakpoints at configurable levels of detail.",
-                   NULL)
+                   NULL),
+    m_options (interpreter)
 {
     CommandArgumentEntry arg;
     CommandArgumentData bp_id_arg;
@@ -1045,8 +1047,8 @@
 //-------------------------------------------------------------------------
 #pragma mark Clear::CommandOptions
 
-CommandObjectBreakpointClear::CommandOptions::CommandOptions() :
-    Options (),
+CommandObjectBreakpointClear::CommandOptions::CommandOptions(CommandInterpreter &interpreter) :
+    Options (interpreter),
     m_filename (),
     m_line_num (0)
 {
@@ -1114,7 +1116,8 @@
     CommandObject (interpreter,
                    "breakpoint clear", 
                    "Clears a breakpoint or set of breakpoints in the executable.", 
-                   "breakpoint clear <cmd-options>")
+                   "breakpoint clear <cmd-options>"),
+    m_options (interpreter)
 {
 }
 
@@ -1348,8 +1351,8 @@
 //-------------------------------------------------------------------------
 #pragma mark Modify::CommandOptions
 
-CommandObjectBreakpointModify::CommandOptions::CommandOptions() :
-    Options (),
+CommandObjectBreakpointModify::CommandOptions::CommandOptions(CommandInterpreter &interpreter) :
+    Options (interpreter),
     m_ignore_count (0),
     m_thread_id(LLDB_INVALID_THREAD_ID),
     m_thread_id_passed(false),
@@ -1504,7 +1507,8 @@
                    "Modify the options on a breakpoint or set of breakpoints in the executable.  "
                    "If no breakpoint is specified, acts on the last created breakpoint.  "
                    "With the exception of -e, -d and -i, passing an empty argument clears the modification.", 
-                   NULL)
+                   NULL),
+    m_options (interpreter)
 {
     CommandArgumentEntry arg;
     CommandArgumentData bp_id_arg;