package embox.cmd

@DefaultImpl(gdbserver_net)
abstract module gdbserver_api {
	source "gdbserver_common.c"

	depends embox.lib.gdbstub
	depends embox.lib.breakpoint
}

module gdbserver_net extends gdbserver_api {
	source "gdbserver_net.c"

	depends embox.compat.posix.net.socket
}

module gdbserver_serial extends gdbserver_api {
	source "gdbserver_serial.c"

	depends embox.compat.posix.termios
}

@AutoCmd
@Cmd(name="gdbserver",
	 help="Remote Server for the GNU Debugger",
	 man='''
		NAME
			gdbserver - Remote Server for the GNU Debugger

		SYNOPSIS
			gdbserver [HOST]:[PORT]
			gdbserver [TTY_DEV]

		AUTHORS
			Aleksey Zhmulin
	 ''')
module gdbserver {
	source "main.c"

	depends gdbserver_api
	depends embox.compat.posix.proc.exec
	depends embox.compat.posix.proc.vfork
	depends embox.compat.posix.proc.waitpid
}
