diff options
Diffstat (limited to 'libguile/init.c')
-rw-r--r-- | libguile/init.c | 286 |
1 files changed, 140 insertions, 146 deletions
diff --git a/libguile/init.c b/libguile/init.c index 00d2e806a..e33a60324 100644 --- a/libguile/init.c +++ b/libguile/init.c @@ -1,153 +1,155 @@ -/* Copyright (C) 1995-2004, 2006, 2009-2014, 2016-2018 - * Free Software Foundation, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License - * as published by the Free Software Foundation; either version 3 of - * the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - * 02110-1301 USA - */ +/* Copyright 1995-2004,2006,2009-2014,2016-2019 + Free Software Foundation, Inc. + + This file is part of Guile. + + Guile is free software: you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as published + by the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + Guile is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with Guile. If not, see + <https://www.gnu.org/licenses/>. */ -/* Include the headers for just about everything. - We call all their initialization functions. */ #ifdef HAVE_CONFIG_H -# include <config.h> +# include <config.h> #endif -#include <stdlib.h> +#include <fcntl.h> #include <stdio.h> +#include <stdlib.h> +#include <string.h> #include <sys/stat.h> -#include <fcntl.h> -#include <gmp.h> +#include <unistd.h> -#include "libguile/_scm.h" +#include <gmp.h> /* Everybody has an init function. */ -#include "libguile/alist.h" -#include "libguile/async.h" -#include "libguile/atomic.h" -#include "libguile/backtrace.h" -#include "libguile/bitvectors.h" -#include "libguile/boolean.h" -#include "libguile/bytevectors.h" -#include "libguile/chars.h" -#include "libguile/control.h" -#include "libguile/continuations.h" -#include "libguile/debug.h" +#include "alist.h" +#include "array-map.h" +#include "arrays.h" +#include "async.h" +#include "atomic.h" +#include "backtrace.h" +#include "bitvectors.h" +#include "boolean.h" +#include "bytevectors.h" +#include "chars.h" +#include "continuations.h" +#include "control.h" +#include "debug.h" #ifdef GUILE_DEBUG_MALLOC -#include "libguile/debug-malloc.h" +#include "debug-malloc.h" #endif -#include "libguile/deprecation.h" -#include "libguile/dynl.h" -#include "libguile/dynwind.h" -#include "libguile/eq.h" -#include "libguile/error.h" -#include "libguile/eval.h" -#include "libguile/evalext.h" -#include "libguile/expand.h" -#include "libguile/fdes-finalizers.h" -#include "libguile/feature.h" -#include "libguile/filesys.h" -#include "libguile/finalizers.h" -#include "libguile/fluids.h" -#include "libguile/fports.h" -#include "libguile/frames.h" -#include "libguile/gc.h" -#include "libguile/generalized-arrays.h" -#include "libguile/generalized-vectors.h" -#include "libguile/goops.h" -#include "libguile/gsubr.h" -#include "libguile/hash.h" -#include "libguile/hashtab.h" -#include "libguile/hooks.h" -#include "libguile/gettext.h" -#include "libguile/i18n.h" -#include "libguile/instructions.h" -#include "libguile/ioext.h" -#include "libguile/keywords.h" -#include "libguile/list.h" -#include "libguile/load.h" -#include "libguile/macros.h" -#include "libguile/mallocs.h" -#include "libguile/memoize.h" -#include "libguile/modules.h" -#include "libguile/net_db.h" -#include "libguile/numbers.h" -#include "libguile/loader.h" -#include "libguile/objprop.h" -#include "libguile/options.h" -#include "libguile/pairs.h" -#include "libguile/poll.h" -#include "libguile/ports.h" -#include "libguile/posix.h" +#include "deprecated.h" +#include "deprecation.h" +#include "dynl.h" +#include "dynwind.h" +#include "eq.h" +#include "error.h" +#include "eval.h" +#include "evalext.h" +#include "expand.h" +#include "extensions.h" +#include "fdes-finalizers.h" +#include "feature.h" +#include "filesys.h" +#include "finalizers.h" +#include "fluids.h" +#include "foreign-object.h" +#include "foreign.h" +#include "fports.h" +#include "frames.h" +#include "gc.h" +#include "generalized-arrays.h" +#include "generalized-vectors.h" +#include "gettext.h" +#include "goops.h" +#include "gsubr.h" +#include "guardians.h" +#include "hash.h" +#include "hashtab.h" +#include "hooks.h" +#include "i18n.h" +#include "instructions.h" +#include "intrinsics.h" +#include "ioext.h" +#include "jit.h" +#include "keywords.h" +#include "list.h" +#include "load.h" +#include "loader.h" +#include "macros.h" +#include "mallocs.h" +#include "memoize.h" +#include "modules.h" +#include "net_db.h" +#include "numbers.h" +#include "objprop.h" +#include "options.h" +#include "pairs.h" +#include "poll.h" +#include "ports.h" +#include "posix.h" +#include "print.h" +#include "private-options.h" +#include "procprop.h" +#include "procs.h" +#include "programs.h" +#include "promises.h" #ifdef ENABLE_REGEX -#include "libguile/regex-posix.h" +#include "regex-posix.h" #endif -#include "libguile/print.h" -#include "libguile/procprop.h" -#include "libguile/procs.h" -#include "libguile/programs.h" -#include "libguile/promises.h" -#include "libguile/array-map.h" -#include "libguile/random.h" -#include "libguile/rdelim.h" -#include "libguile/read.h" -#include "libguile/rw.h" -#include "libguile/scmsigs.h" -#include "libguile/script.h" -#include "libguile/simpos.h" -#include "libguile/smob.h" -#include "libguile/socket.h" -#include "libguile/sort.h" -#include "libguile/srcprop.h" -#include "libguile/stackchk.h" -#include "libguile/stacks.h" -#include "libguile/stime.h" -#include "libguile/strings.h" -#include "libguile/srfi-1.h" -#include "libguile/srfi-4.h" -#include "libguile/srfi-13.h" -#include "libguile/srfi-14.h" -#include "libguile/srfi-60.h" -#include "libguile/strorder.h" -#include "libguile/strports.h" -#include "libguile/struct.h" -#include "libguile/symbols.h" -#include "libguile/syntax.h" -#include "libguile/throw.h" -#include "libguile/arrays.h" -#include "libguile/trees.h" -#include "libguile/unicode.h" -#include "libguile/values.h" -#include "libguile/variable.h" -#include "libguile/vectors.h" -#include "libguile/version.h" -#include "libguile/vm.h" -#include "libguile/vports.h" -#include "libguile/guardians.h" -#include "libguile/extensions.h" -#include "libguile/uniform.h" -#include "libguile/deprecated.h" - -#include "libguile/init.h" -#include "libguile/private-options.h" - -#ifdef HAVE_STRING_H -#include <string.h> -#endif -#include <unistd.h> +#include "r6rs-ports.h" +#include "random.h" +#include "rdelim.h" +#include "read.h" +#include "rw.h" +#include "scmsigs.h" +#include "script.h" +#include "simpos.h" +#include "smob.h" +#include "socket.h" +#include "sort.h" +#include "srcprop.h" +#include "srfi-1.h" +#include "srfi-13.h" +#include "srfi-14.h" +#include "srfi-4.h" +#include "srfi-60.h" +#include "stackchk.h" +#include "stacks.h" +#include "stime.h" +#include "strings.h" +#include "strorder.h" +#include "strports.h" +#include "struct.h" +#include "symbols.h" +#include "syntax.h" +#include "throw.h" +#include "trees.h" +#include "unicode.h" +#include "uniform.h" +#include "values.h" +#include "variable.h" +#include "vectors.h" +#include "version.h" +#include "vm.h" +#include "vports.h" +#include "weak-set.h" +#include "weak-table.h" +#include "weak-vector.h" + +#include "init.h" @@ -258,12 +260,6 @@ scm_load_startup_files () /* The main init code. */ -#ifdef _UNICOS -typedef int setjmp_type; -#else -typedef long setjmp_type; -#endif - /* All the data needed to invoke the main function. */ struct main_func_closure { @@ -397,6 +393,7 @@ scm_i_init_guile (void *base) scm_init_array_handle (); scm_bootstrap_bytevectors (); /* Requires array-handle */ scm_bootstrap_instructions (); + scm_bootstrap_intrinsics (); scm_bootstrap_loader (); scm_bootstrap_programs (); scm_bootstrap_vm (); @@ -516,6 +513,9 @@ scm_i_init_guile (void *base) scm_bootstrap_i18n (); scm_init_script (); scm_init_unicode (); +#if ENABLE_JIT + scm_init_jit (); +#endif scm_init_goops (); @@ -542,9 +542,3 @@ scm_i_init_guile (void *base) /* Finally, cause finalizers to run in a separate thread. */ scm_init_finalizer_thread (); } - -/* - Local Variables: - c-file-style: "gnu" - End: -*/ |