src/bindings/Guile.hxx)
add_library(guilePlugin MODULE ${plugin_guile_SOURCES} ${plugin_guile_HEADERS_MOC})
-qt5_use_modules(guilePlugin Core)
+qt5_use_modules(guilePlugin Core Widgets)
target_link_libraries(guilePlugin ${QT_LIBRARIES} ${GUILE_LDFLAGS})
##################
#include "Guile.hxx"
#include "Config.hxx"
+#include "core/Settings.hxx"
namespace {
SCM handler (void*, SCM tag, SCM throw_args) {
GuileInterpreter::GuileInterpreter()
: logger(log4cxx::Logger::getLogger("bindings.Guile")) {
+
+ QString socketpath = Settings::get()->getRuntimeDirectory()->canonicalPath()
+ + "/frida." + QString::number(QCoreApplication::applicationPid(), 16) + ".geiser.sock";
+
scm_init_guile();
+ SCM scm_socketpath = scm_from_locale_string(socketpath.toStdString().c_str());
scm_c_use_module("system repl server");
- scm_call_0(scm_c_public_ref("system repl server", "spawn-server"));
+ SCM socket = scm_call_2(scm_c_public_ref("system repl server", "make-unix-domain-server-socket"),
+ scm_from_locale_keyword("path"), scm_socketpath);
+ scm_call_1(scm_c_public_ref("system repl server", "spawn-server"), socket);
scm_c_load_extension("libguile-frida-binding",
"scm_init_frida_module");