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.

llvm-svn: 129112
This commit is contained in:
Greg Clayton
2011-04-07 22:46:35 +00:00
parent 165a07adf9
commit eb0103f2d0
50 changed files with 341 additions and 327 deletions

View File

@@ -29,7 +29,8 @@ using namespace lldb_private;
//-------------------------------------------------------------------------
// Options
//-------------------------------------------------------------------------
Options::Options () :
Options::Options (CommandInterpreter &interpreter) :
m_interpreter (interpreter),
m_getopt_table ()
{
BuildValidOptionSets();
@@ -362,12 +363,11 @@ Options::OutputFormattedUsageText
void
Options::GenerateOptionUsage
(
CommandInterpreter &interpreter,
Stream &strm,
CommandObject *cmd
)
{
const uint32_t screen_width = interpreter.GetDebugger().GetTerminalWidth();
const uint32_t screen_width = m_interpreter.GetDebugger().GetTerminalWidth();
const OptionDefinition *full_options_table = GetDefinitions();
const uint32_t save_indent_level = strm.GetIndentLevel();
@@ -656,7 +656,6 @@ Options::VerifyPartialOptions (CommandReturnObject &result)
bool
Options::HandleOptionCompletion
(
CommandInterpreter &interpreter,
Args &input,
OptionElementVector &opt_element_vector,
int cursor_index,
@@ -778,8 +777,7 @@ Options::HandleOptionCompletion
if (opt_defs_index != -1)
{
HandleOptionArgumentCompletion (interpreter,
input,
HandleOptionArgumentCompletion (input,
cursor_index,
strlen (input.GetArgumentAtIndex(cursor_index)),
opt_element_vector,
@@ -809,7 +807,6 @@ Options::HandleOptionCompletion
bool
Options::HandleOptionArgumentCompletion
(
CommandInterpreter &interpreter,
Args &input,
int cursor_index,
int char_pos,
@@ -868,7 +865,7 @@ Options::HandleOptionArgumentCompletion
if (module_name)
{
FileSpec module_spec(module_name, false);
lldb::TargetSP target_sp = interpreter.GetDebugger().GetSelectedTarget();
lldb::TargetSP target_sp = m_interpreter.GetDebugger().GetSelectedTarget();
// Search filters require a target...
if (target_sp != NULL)
filter_ap.reset (new SearchFilterByModule (target_sp, module_spec));
@@ -878,7 +875,7 @@ Options::HandleOptionArgumentCompletion
}
}
return CommandCompletions::InvokeCommonCompletionCallbacks (interpreter,
return CommandCompletions::InvokeCommonCompletionCallbacks (m_interpreter,
completion_mask,
input.GetArgumentAtIndex (opt_arg_pos),
match_start_point,