1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-11 14:21:10 +02:00

* init.c (scm_boot_guile_1): Call scm_init_dynamic_linking to

initialize dynamic linking support.

* init.c (scm_boot_guile_1): Moved `live' variable to the toplevel
(as we Schemers say). It needs to be global, so that I can tweak
it for the proper operation of unexec.
(scm_boot_guile_1_live): New variable, see above.
This commit is contained in:
Marius Vollmer 1996-12-08 16:57:16 +00:00
parent 1edae07624
commit 70122cd30d

View file

@ -55,6 +55,7 @@
#ifdef DEBUG_EXTENSIONS #ifdef DEBUG_EXTENSIONS
#include "debug.h" #include "debug.h"
#endif #endif
#include "dynl.h"
#include "dynwind.h" #include "dynwind.h"
#include "eq.h" #include "eq.h"
#include "error.h" #include "error.h"
@ -305,6 +306,12 @@ scm_boot_guile (argc, argv, main_func, closure)
return scm_boot_guile_1 (&dummy, argc, argv, main_func, closure); return scm_boot_guile_1 (&dummy, argc, argv, main_func, closure);
} }
/* Record here whether SCM_BOOT_GUILE_1 has already been called. This
variable is now here and not inside SCM_BOOT_GUILE_1 so that one
can tweak it. This is necessary for unexec to work. (Hey, "1-live"
is the name of a local radiostation...) */
int scm_boot_guile_1_live = 0;
static void static void
scm_boot_guile_1 (base, argc, argv, main_func, closure) scm_boot_guile_1 (base, argc, argv, main_func, closure)
@ -315,14 +322,14 @@ scm_boot_guile_1 (base, argc, argv, main_func, closure)
void *closure; void *closure;
{ {
static int initialized = 0; static int initialized = 0;
static int live = 0; /* static int live = 0; */
setjmp_type setjmp_val; setjmp_type setjmp_val;
/* This function is not re-entrant. */ /* This function is not re-entrant. */
if (live) if (scm_boot_guile_1_live)
abort (); abort ();
live = 1; scm_boot_guile_1_live = 1;
scm_ints_disabled = 1; scm_ints_disabled = 1;
scm_block_gc = 1; scm_block_gc = 1;
@ -413,6 +420,7 @@ scm_boot_guile_1 (base, argc, argv, main_func, closure)
scm_init_simpos (); scm_init_simpos ();
scm_init_load_path (); scm_init_load_path ();
scm_init_standard_ports (); scm_init_standard_ports ();
scm_init_dynamic_linking ();
initialized = 1; initialized = 1;
} }