blob: eedd1d8c35343b747743bf4826fb8a49cdaed4ba [file] [log] [blame] [edit]
include "llvm/Option/OptParser.td"
class F<string name>: Flag<["--", "-"], name>;
class R<list<string> prefixes, string name>
: Option<prefixes, name, KIND_REMAINING_ARGS>;
multiclass SJ<string name, string help> {
def NAME: Separate<["--", "-"], name>,
HelpText<help>;
def NAME # _eq: Joined<["--", "-"], name # "=">,
Alias<!cast<Separate>(NAME)>;
}
def grp_connect : OptionGroup<"connection">, HelpText<"CONNECTION OPTIONS">;
defm listen: SJ<"listen", "Host and port to listen on. Format: [host]:port or protocol://[host]:port (e.g., tcp://localhost:1234, unix:///path/to/socket). Short form: -L">,
MetaVarName<"<[host]:port>">,
Group<grp_connect>;
def: Separate<["-"], "L">, Alias<listen>,
Group<grp_connect>;
defm socket_file: SJ<"socket-file", "Write listening socket information (port number for TCP or path for Unix domain sockets) to the specified file. Short form: -f">,
MetaVarName<"<path>">,
Group<grp_connect>;
def: Separate<["-"], "f">, Alias<socket_file>,
Group<grp_connect>;
defm gdbserver_port: SJ<"gdbserver-port", "Port to use for spawned gdbserver instances. If 0 or unspecified, a port will be chosen automatically. Short form: -P">,
MetaVarName<"<port>">,
Group<grp_connect>;
def: Separate<["-"], "P">, Alias<gdbserver_port>,
Group<grp_connect>;
defm child_platform_fd: SJ<"child-platform-fd", "File descriptor for communication with parent platform process (internal use only).">,
MetaVarName<"<fd>">,
Group<grp_connect>,
Flags<[HelpHidden]>;
def grp_general : OptionGroup<"general options">, HelpText<"GENERAL OPTIONS">;
def server: F<"server">,
HelpText<"Run in server mode, accepting multiple client connections sequentially. Without this flag, the server exits after handling the first connection.">,
Group<grp_general>;
defm log_channels: SJ<"log-channels", "Channels to log. A colon-separated list of entries. Each entry starts with a channel followed by a space-separated list of categories. Common channels: lldb, gdb-remote, platform, process. Short form: -c">,
MetaVarName<"<channel1 categories...:channel2 categories...>">,
Group<grp_general>;
def: Separate<["-"], "c">, Alias<log_channels>,
Group<grp_general>;
defm log_file: SJ<"log-file", "Destination file to log to. If empty, log to stderr. Short form: -l">,
MetaVarName<"<file>">,
Group<grp_general>;
def: Separate<["-"], "l">, Alias<log_file>,
Group<grp_general>;
def debug: F<"debug">,
HelpText<"(Unused, kept for backward compatibility)">,
Group<grp_general>,
Flags<[HelpHidden]>;
def verbose: F<"verbose">,
HelpText<"(Unused, kept for backward compatibility)">,
Group<grp_general>,
Flags<[HelpHidden]>;
def help: F<"help">,
HelpText<"Display this help message and exit.">,
Group<grp_general>;
def: Flag<["-"], "h">, Alias<help>,
Group<grp_general>;
def REM : R<["--"], "">,
HelpText<"Arguments to pass to launched gdbserver instances.">,
MetaVarName<"program args">;