mirror of
https://gitea.wildfiregames.com/0ad/0ad.git
synced 2026-09-21 20:06:40 +00:00
Dap Interface with Spidermonkey debug
Spidermonkey provide a mechanics to debug all comportaments and real from a different place with JS code this allow us to reuse the current scriptinterface but addind the new Debugger object definition only for debugging without change any code from other place like GUI & simulation. Debugger Adapter Interface is a protocol that commons IDE implement to being able for debugging, the concept is to provide sockets connections with c++ but the Dap implementation in JS that allow us to extend for more Request / Events that DAP provide. Because Dap Interface its implemented with JS we need to handle message in the main thread so we are calling in the main loop before GUI messages
This commit is contained in:
@@ -772,6 +772,14 @@ extern_lib_defs = {
|
||||
end
|
||||
end,
|
||||
},
|
||||
sockets = {
|
||||
link_settings = function()
|
||||
add_default_links({
|
||||
win_names = { "ws2_32" },
|
||||
no_delayload = 1,
|
||||
})
|
||||
end,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -56,6 +56,7 @@ newoption { category = "Pyrogenesis", trigger = "with-system-nvtt", description
|
||||
newoption { category = "Pyrogenesis", trigger = "with-valgrind", description = "Enable Valgrind support (non-Windows only)" }
|
||||
newoption { category = "Pyrogenesis", trigger = "without-audio", description = "Disable use of OpenAL/Ogg/Vorbis APIs" }
|
||||
newoption { category = "Pyrogenesis", trigger = "without-atlas", description = "Disable Atlas scenario/map editor and ActorEditor" }
|
||||
newoption { category = "Pyrogenesis", trigger = "without-dap-interface", description = "Disable Dap interface project" }
|
||||
newoption { category = "Pyrogenesis", trigger = "without-lobby", description = "Disable the use of gloox and the multiplayer lobby" }
|
||||
newoption { category = "Pyrogenesis", trigger = "without-miniupnpc", description = "Disable use of miniupnpc for port forwarding" }
|
||||
newoption { category = "Pyrogenesis", trigger = "without-nvtt", description = "Disable use of NVTT" }
|
||||
@@ -281,6 +282,10 @@ function project_set_build_flags()
|
||||
defines { "CONFIG2_MINIUPNPC=0" }
|
||||
end
|
||||
|
||||
if _OPTIONS["without-dap-interface"] then
|
||||
defines { "CONFIG2_DAP_INTERFACE=0" }
|
||||
end
|
||||
|
||||
-- various platform-specific build flags
|
||||
if os.istarget("windows") then
|
||||
|
||||
@@ -709,6 +714,19 @@ function setup_all_libs ()
|
||||
}
|
||||
setup_static_lib_project("rlinterface", source_dirs, extern_libs, { no_pch = 1 })
|
||||
|
||||
if not _OPTIONS["without-dap-interface"] then
|
||||
source_dirs = {
|
||||
"dapinterface",
|
||||
}
|
||||
extern_libs = {
|
||||
"boost", -- dragged in via simulation.h and scriptinterface.h
|
||||
"fmt",
|
||||
"spidermonkey",
|
||||
"sockets"
|
||||
}
|
||||
setup_static_lib_project("dapinterface", source_dirs, extern_libs, { no_pch = 1 })
|
||||
end
|
||||
|
||||
source_dirs = {
|
||||
"third_party/tinygettext/src",
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user