| 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">; |