summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Köppe <mkoeppe@mail.math.uni-magdeburg.de>2000-08-31 21:39:21 +0000
committerMatthias Köppe <mkoeppe@mail.math.uni-magdeburg.de>2000-08-31 21:39:21 +0000
commit6df63cbf3c4276c1ed58467089a371d4dc289cb3 (patch)
tree21e618e07a70f8cf6e2a30a828f5f1d7c0f37b37
parent53bf5fb4658b93ca4659cf11eeda04ce7383c8a9 (diff)
downloadswig-6df63cbf3c4276c1ed58467089a371d4dc289cb3.tar.gz
Handle `ltdlmod' linkage.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@776 626c5289-ae23-0410-ae9c-e8d60b6d4f22
-rw-r--r--Source/Modules1.1/guile.cxx13
1 files changed, 11 insertions, 2 deletions
diff --git a/Source/Modules1.1/guile.cxx b/Source/Modules1.1/guile.cxx
index 77656d54e..ff3fea153 100644
--- a/Source/Modules1.1/guile.cxx
+++ b/Source/Modules1.1/guile.cxx
@@ -283,9 +283,18 @@ GUILE::emit_linkage (char *module_name)
case GUILE_LSTYLE_LTDLMOD:
Printf (f_init, "\n/* Linkage: ltdlmod */\n");
Replace(module_func,"/", "_", DOH_REPLACE_ANY);
- Insert(module_func,0, "scm_init");
+ Insert(module_func,0, "scm_init_");
Append(module_func,"_module");
- /* TODO */
+ Printf (f_init, "SCM\n%s (void)\n{\n", module_func);
+ {
+ DOHString *mod = NewString(module_name);
+ Replace(mod,"/", " ", DOH_REPLACE_ANY);
+ Printf (f_init, " scm_register_module_xxx (\"%s\", (void *) SWIG_init);\n",
+ mod);
+ Printf (f_init, " return SCM_UNSPECIFIED;\n");
+ Delete(mod);
+ }
+ Printf (f_init, "}\n");
break;
case GUILE_LSTYLE_HOBBIT:
Printf (f_init, "\n/* Linkage: hobbit */\n");