/trunk/Lib/guile/guilemain.i
# · Swig · 44 lines · 28 code · 6 blank · 10 comment · 0 complexity · 64fc574c502aa6338a4c38034e93f57a MD5 · raw file
- /* -----------------------------------------------------------------------------
- * 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 */
- }
- %}