1 //===-- lldb-server.cpp -----------------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #include "lldb/Initialization/SystemLifetimeManager.h"
11 #include "lldb/Initialization/SystemInitializerCommon.h"
13 #include "llvm/ADT/STLExtras.h"
14 #include "llvm/Support/ManagedStatic.h"
19 static llvm::ManagedStatic<lldb_private::SystemLifetimeManager> g_debugger_lifetime;
22 display_usage (const char *progname)
24 fprintf(stderr, "Usage:\n"
25 " %s g[dbserver] [options]\n"
26 " %s p[latform] [options]\n"
27 "Invoke subcommand for additional help\n", progname, progname);
31 // Forward declarations of subcommand main methods.
32 int main_gdbserver (int argc, char *argv[]);
33 int main_platform (int argc, char *argv[]);
38 g_debugger_lifetime->Initialize(llvm::make_unique<lldb_private::SystemInitializerCommon>(), nullptr);
44 g_debugger_lifetime->Terminate();
47 //----------------------------------------------------------------------
49 //----------------------------------------------------------------------
51 main (int argc, char *argv[])
54 const char *progname = argv[0];
57 display_usage(progname);
60 else if (argv[1][0] == 'g')
63 main_gdbserver(argc, argv);
66 else if (argv[1][0] == 'p')
69 main_platform(argc, argv);
73 display_usage(progname);