summaryrefslogtreecommitdiffhomepage
path: root/mixgtk/gmixvm.c
diff options
context:
space:
mode:
Diffstat (limited to 'mixgtk/gmixvm.c')
-rw-r--r--mixgtk/gmixvm.c22
1 files changed, 20 insertions, 2 deletions
diff --git a/mixgtk/gmixvm.c b/mixgtk/gmixvm.c
index 6326957..59b4b41 100644
--- a/mixgtk/gmixvm.c
+++ b/mixgtk/gmixvm.c
@@ -24,13 +24,31 @@
#include <stdlib.h>
#include "mixgtk.h"
+
+#ifdef MAKE_GUILE
+# include <mixguile/mixguile.h>
+# include "mixgtk_cmd_dispatcher.h"
+static void
+inner_main_ (int argc, char *argv[])
+{
+ mixgtk_init (argc, argv);
+ mixguile_set_cmd_dispatcher (mixgtk_cmd_dispatcher_get_mix_dispatcher ());
+ mixguile_load_bootstrap ();
+ mixgtk_main ();
+ mixgtk_release ();
+}
+#endif
+
int
main(int argc, char *argv[])
{
+#ifdef MAKE_GUILE
+ mixguile_enter (argc, argv, inner_main_);
+#else
if (!mixgtk_init (argc, argv)) return EXIT_FAILURE;
-
mixgtk_main ();
mixgtk_release ();
-
+#endif
+
return EXIT_SUCCESS;
}