diff options
Diffstat (limited to 'devtools/swigwin-1.3.34/Lib/guile/guilemain.i')
| -rw-r--r-- | devtools/swigwin-1.3.34/Lib/guile/guilemain.i | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/devtools/swigwin-1.3.34/Lib/guile/guilemain.i b/devtools/swigwin-1.3.34/Lib/guile/guilemain.i new file mode 100644 index 0000000..6f4e4d9 --- /dev/null +++ b/devtools/swigwin-1.3.34/Lib/guile/guilemain.i @@ -0,0 +1,47 @@ +/* ----------------------------------------------------------------------------- + * See the LICENSE file for information on copyright, usage and redistribution + * of SWIG, and the README file for authors - http://www.swig.org/release.html. + * + * guilemain.i + * + * The main functions for a user augmented guile + * version that can handle wrapped calls as generated by SWIG + * ----------------------------------------------------------------------------- */ + +%{ +#include <libguile.h> + +#ifdef __cplusplus +extern "C" { +#endif + +/* Debugger interface (don't change the order of the following lines) */ +#define GDB_TYPE SCM +#include <libguile/gdb_interface.h> +GDB_INTERFACE; + +static void +inner_main(void *closure, int argc, char **argv) +{ +#ifdef SWIGINIT + SWIGINIT +#else + SWIG_init(); /* SWIG init function */ +#endif + scm_shell(argc, argv); /* scheme interpreter */ + /* never reached: scm_shell will perform an exit */ +} + +#ifdef __cplusplus +} +#endif + +int +main(int argc, char **argv) +{ + /* put any default initialisation code here: e.g. exit handlers */ + scm_boot_guile(argc, argv, inner_main, 0); /* make a stack entry for the + garbage collector */ + return 0; /* never reached, but avoids a warning */ +} +%} |