import("//llvm/utils/TableGen/tablegen.gni")

static_library("lib") {
  output_name = "lldbDAP"
  configs += [ "//llvm/utils/gn/build:lldb_code" ]
  deps = [
    "//lldb/source/API:liblldb",
    "//llvm/lib/Option",
    "//llvm/lib/Support",
  ]
  if (current_os == "win") {
    libs = [ "ws2_32.lib" ]
  }

  include_dirs = [ "." ]

  # FIXME: link in //lldb/source/Host on Win (and netbsd)
  # FIXME: link in pthread
  # FIXME: rpath/install_name stuff on macOS for framework on macOS

  sources = [
    "Breakpoint.cpp",
    "BreakpointBase.cpp",
    "CommandPlugins.cpp",
    "DAP.cpp",
    "DAPError.cpp",
    "DAPLog.cpp",
    "EventHelper.cpp",
    "ExceptionBreakpoint.cpp",
    "FifoFiles.cpp",
    "FunctionBreakpoint.cpp",
    "Handler/AttachRequestHandler.cpp",
    "Handler/BreakpointLocationsHandler.cpp",
    "Handler/CancelRequestHandler.cpp",
    "Handler/CompileUnitsRequestHandler.cpp",
    "Handler/CompletionsHandler.cpp",
    "Handler/ConfigurationDoneRequestHandler.cpp",
    "Handler/ContinueRequestHandler.cpp",
    "Handler/DataBreakpointInfoRequestHandler.cpp",
    "Handler/DisassembleRequestHandler.cpp",
    "Handler/DisconnectRequestHandler.cpp",
    "Handler/EvaluateRequestHandler.cpp",
    "Handler/ExceptionInfoRequestHandler.cpp",
    "Handler/InitializeRequestHandler.cpp",
    "Handler/LaunchRequestHandler.cpp",
    "Handler/LocationsRequestHandler.cpp",
    "Handler/ModulesRequestHandler.cpp",
    "Handler/NextRequestHandler.cpp",
    "Handler/PauseRequestHandler.cpp",
    "Handler/ReadMemoryRequestHandler.cpp",
    "Handler/RequestHandler.cpp",
    "Handler/ResponseHandler.cpp",
    "Handler/RestartRequestHandler.cpp",
    "Handler/ScopesRequestHandler.cpp",
    "Handler/SetBreakpointsRequestHandler.cpp",
    "Handler/SetDataBreakpointsRequestHandler.cpp",
    "Handler/SetExceptionBreakpointsRequestHandler.cpp",
    "Handler/SetFunctionBreakpointsRequestHandler.cpp",
    "Handler/SetInstructionBreakpointsRequestHandler.cpp",
    "Handler/SetVariableRequestHandler.cpp",
    "Handler/SourceRequestHandler.cpp",
    "Handler/StackTraceRequestHandler.cpp",
    "Handler/StepInRequestHandler.cpp",
    "Handler/StepInTargetsRequestHandler.cpp",
    "Handler/StepOutRequestHandler.cpp",
    "Handler/TestGetTargetBreakpointsRequestHandler.cpp",
    "Handler/ThreadsRequestHandler.cpp",
    "Handler/VariablesRequestHandler.cpp",
    "Handler/WriteMemoryRequestHandler.cpp",
    "InstructionBreakpoint.cpp",
    "JSONUtils.cpp",
    "LLDBUtils.cpp",
    "OutputRedirector.cpp",
    "ProgressEvent.cpp",
    "Protocol/ProtocolBase.cpp",
    "Protocol/ProtocolEvents.cpp",
    "Protocol/ProtocolRequests.cpp",
    "Protocol/ProtocolTypes.cpp",
    "ProtocolUtils.cpp",
    "RunInTerminal.cpp",
    "SourceBreakpoint.cpp",
    "Transport.cpp",
    "Variables.cpp",
    "Watchpoint.cpp",
  ]
}
