summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2018-06-20 11:52:29 +0200
committerAndy Wingo <wingo@pobox.com>2018-06-20 11:52:29 +0200
commit1ddf42dae0e6b5aa2ca5c0fb058cb32eb28d053b (patch)
tree2660c861f366e99ab694d1c244dfcfc94b0b9cd5
parentb64941f5af5b59d3e726cc10ecc2431379e73689 (diff)
downloadguile-1ddf42dae0e6b5aa2ca5c0fb058cb32eb28d053b.tar.gz
Devolve threads.h from _scm.h.
* libguile/__scm.h (scm_print_state, scm_t_dynstack): Add forward declarations. * libguile/_scm.h: Remove threads.h. * libguile/atomic.c: * libguile/bitvectors.h: * libguile/bytevectors.c: * libguile/continuations.h: * libguile/control.c: * libguile/deprecation.c: * libguile/dynl.c: * libguile/dynstack.h: * libguile/dynwind.c: * libguile/extensions.c: * libguile/fdes-finalizers.c: * libguile/foreign-object.c: * libguile/frames.c: * libguile/guardians.c: * libguile/hashtab.c: * libguile/list.c: * libguile/loader.c: * libguile/macros.c: * libguile/memoize.c: * libguile/net_db.c: * libguile/pairs.c: * libguile/procprop.c: * libguile/rdelim.c: * libguile/simpos.c: * libguile/srfi-14.c: * libguile/srfi-60.c: * libguile/strings.c: * libguile/strports.c: * libguile/syntax.c: * libguile/syntax.h: * libguile/unicode.c: * libguile/variable.c: * libguile/vectors.c: * libguile/weak-set.c: * libguile/weak-set.h: * libguile/weak-table.c: * libguile/weak-table.h: * libguile/weak-vector.c: Add threads.h as appropriate, or possible other headers that threads.h pulled in.
-rw-r--r--libguile/__scm.h2
-rw-r--r--libguile/_scm.h1
-rw-r--r--libguile/atomic.c1
-rw-r--r--libguile/bitvectors.h3
-rw-r--r--libguile/bytevectors.c1
-rw-r--r--libguile/continuations.h1
-rw-r--r--libguile/control.c2
-rw-r--r--libguile/deprecation.c1
-rw-r--r--libguile/dynl.c1
-rw-r--r--libguile/dynstack.h3
-rw-r--r--libguile/dynwind.c1
-rw-r--r--libguile/extensions.c1
-rw-r--r--libguile/fdes-finalizers.c1
-rw-r--r--libguile/foreign-object.c1
-rw-r--r--libguile/frames.c1
-rw-r--r--libguile/guardians.c1
-rw-r--r--libguile/hashtab.c1
-rw-r--r--libguile/list.c1
-rw-r--r--libguile/loader.c1
-rw-r--r--libguile/macros.c1
-rw-r--r--libguile/memoize.c2
-rw-r--r--libguile/net_db.c1
-rw-r--r--libguile/pairs.c1
-rw-r--r--libguile/procprop.c1
-rw-r--r--libguile/rdelim.c1
-rw-r--r--libguile/simpos.c1
-rw-r--r--libguile/srfi-14.c1
-rw-r--r--libguile/srfi-60.c1
-rw-r--r--libguile/strings.c1
-rw-r--r--libguile/strports.c1
-rw-r--r--libguile/syntax.c1
-rw-r--r--libguile/syntax.h2
-rw-r--r--libguile/unicode.c1
-rw-r--r--libguile/variable.c1
-rw-r--r--libguile/vectors.c1
-rw-r--r--libguile/weak-set.c1
-rw-r--r--libguile/weak-set.h2
-rw-r--r--libguile/weak-table.c1
-rw-r--r--libguile/weak-table.h2
-rw-r--r--libguile/weak-vector.c1
40 files changed, 44 insertions, 6 deletions
diff --git a/libguile/__scm.h b/libguile/__scm.h
index 6861a8104..fe99ee697 100644
--- a/libguile/__scm.h
+++ b/libguile/__scm.h
@@ -426,6 +426,8 @@ typedef long SCM_STACKITEM;
/* Trivial type declarations and forward declarations. */
+typedef struct scm_print_state scm_print_state;
+typedef struct scm_dynstack scm_t_dynstack;
typedef scm_t_int32 scm_t_wchar;
diff --git a/libguile/_scm.h b/libguile/_scm.h
index d7b0b93fe..7ce87500f 100644
--- a/libguile/_scm.h
+++ b/libguile/_scm.h
@@ -37,7 +37,6 @@
/* Include headers for those files central to the implementation. The
rest should be explicitly #included in the C files themselves. */
#include "libguile/symbols.h" /* For length, chars, values, miscellany. */
-#include "libguile/threads.h" /* You are not alone. */
#include "libguile/foreign.h" /* Snarfing needs the foreign data structures. */
#include "libguile/programs.h" /* ... and program.h. */
#include "libguile/modules.h"
diff --git a/libguile/atomic.c b/libguile/atomic.c
index a82cd823f..f6cc33fa8 100644
--- a/libguile/atomic.c
+++ b/libguile/atomic.c
@@ -23,6 +23,7 @@
#endif
#include "libguile/_scm.h"
+#include "libguile/boolean.h"
#include "libguile/gsubr.h"
#include "libguile/extensions.h"
#include "libguile/ports.h"
diff --git a/libguile/bitvectors.h b/libguile/bitvectors.h
index 57ae52fc8..d15b61532 100644
--- a/libguile/bitvectors.h
+++ b/libguile/bitvectors.h
@@ -3,7 +3,8 @@
#ifndef SCM_BITVECTORS_H
#define SCM_BITVECTORS_H
-/* Copyright (C) 1995,1996,1997,1999,2000,2001, 2004, 2006, 2008, 2009, 2014 Free Software Foundation, Inc.
+/* Copyright (C) 1995-1997,1999-2001,2004,2006,2008-2009,2014,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
diff --git a/libguile/bytevectors.c b/libguile/bytevectors.c
index 766907736..f50ca828d 100644
--- a/libguile/bytevectors.c
+++ b/libguile/bytevectors.c
@@ -37,6 +37,7 @@
#include <gmp.h>
#include "libguile/_scm.h"
+#include "libguile/boolean.h"
#include "libguile/gsubr.h"
#include "libguile/dynwind.h"
#include "libguile/extensions.h"
diff --git a/libguile/continuations.h b/libguile/continuations.h
index e8be75596..edebcf2a6 100644
--- a/libguile/continuations.h
+++ b/libguile/continuations.h
@@ -27,6 +27,7 @@
#include <setjmp.h>
#include "libguile/__scm.h"
+#include "libguile/throw.h"
diff --git a/libguile/control.c b/libguile/control.c
index fb8f49aa3..336a81285 100644
--- a/libguile/control.c
+++ b/libguile/control.c
@@ -23,12 +23,14 @@
#include <alloca.h>
#include "libguile/_scm.h"
+#include "libguile/dynstack.h"
#include "libguile/gsubr.h"
#include "libguile/pairs.h"
#include "libguile/control.h"
#include "libguile/extensions.h"
#include "libguile/list.h"
#include "libguile/programs.h"
+#include "libguile/threads.h"
#include "libguile/instructions.h"
#include "libguile/vm.h"
diff --git a/libguile/deprecation.c b/libguile/deprecation.c
index 6fba31f93..14e5518f3 100644
--- a/libguile/deprecation.c
+++ b/libguile/deprecation.c
@@ -35,6 +35,7 @@
#include "libguile/list.h"
#include "libguile/strings.h"
#include "libguile/ports.h"
+#include "libguile/threads.h"
#include "libguile/private-options.h"
diff --git a/libguile/dynl.c b/libguile/dynl.c
index 413f2e3a6..050450f12 100644
--- a/libguile/dynl.c
+++ b/libguile/dynl.c
@@ -62,6 +62,7 @@ maybe_drag_in_eprintf ()
#include "libguile/deprecation.h"
#include "libguile/dynwind.h"
#include "libguile/foreign.h"
+#include "libguile/threads.h"
#include "libguile/gc.h"
#include <ltdl.h>
diff --git a/libguile/dynstack.h b/libguile/dynstack.h
index 66a99075b..e44fdf7f5 100644
--- a/libguile/dynstack.h
+++ b/libguile/dynstack.h
@@ -23,13 +23,14 @@
+#include <setjmp.h>
#include <signal.h>
#include "libguile/__scm.h"
-typedef struct
+typedef struct scm_dynstack
{
scm_t_bits *base;
scm_t_bits *top;
diff --git a/libguile/dynwind.c b/libguile/dynwind.c
index aa7a83596..b6efe2291 100644
--- a/libguile/dynwind.c
+++ b/libguile/dynwind.c
@@ -30,6 +30,7 @@
#include "libguile/boolean.h"
#include "libguile/dynstack.h"
#include "libguile/eval.h"
+#include "libguile/threads.h"
#include "libguile/pairs.h"
#include "libguile/ports.h"
#include "libguile/variable.h"
diff --git a/libguile/extensions.c b/libguile/extensions.c
index be73c8ce4..d4f0de15c 100644
--- a/libguile/extensions.c
+++ b/libguile/extensions.c
@@ -32,6 +32,7 @@
#include "libguile/extensions.h"
#include "libguile/gc.h"
#include "libguile/strings.h"
+#include "libguile/threads.h"
typedef struct extension_t
{
diff --git a/libguile/fdes-finalizers.c b/libguile/fdes-finalizers.c
index 3143299f6..9c5056690 100644
--- a/libguile/fdes-finalizers.c
+++ b/libguile/fdes-finalizers.c
@@ -30,6 +30,7 @@
#include "libguile/hashtab.h"
#include "libguile/list.h"
#include "libguile/numbers.h"
+#include "libguile/threads.h"
#include "libguile/fdes-finalizers.h"
diff --git a/libguile/foreign-object.c b/libguile/foreign-object.c
index 593069d6b..145b6e3bc 100644
--- a/libguile/foreign-object.c
+++ b/libguile/foreign-object.c
@@ -32,6 +32,7 @@
#include "libguile/list.h"
#include "libguile/numbers.h"
#include "libguile/procs.h"
+#include "libguile/threads.h"
#include "libguile/variable.h"
diff --git a/libguile/frames.c b/libguile/frames.c
index fbd937a80..b37887be2 100644
--- a/libguile/frames.c
+++ b/libguile/frames.c
@@ -30,6 +30,7 @@
#include "numbers.h"
#include "frames.h"
#include "ports.h"
+#include "threads.h"
#include "libguile/variable.h"
#include "vm.h"
diff --git a/libguile/guardians.c b/libguile/guardians.c
index 7edb39633..135a442a5 100644
--- a/libguile/guardians.c
+++ b/libguile/guardians.c
@@ -64,6 +64,7 @@
#include "libguile/ports.h"
#include "libguile/print.h"
#include "libguile/smob.h"
+#include "libguile/threads.h"
#include "libguile/weak-vector.h"
diff --git a/libguile/hashtab.c b/libguile/hashtab.c
index f25543f11..c41bf1a73 100644
--- a/libguile/hashtab.c
+++ b/libguile/hashtab.c
@@ -40,6 +40,7 @@
#include "libguile/list.h"
#include "libguile/numbers.h"
#include "libguile/ports.h"
+#include "libguile/procs.h"
#include "libguile/vectors.h"
#include "libguile/weak-table.h"
diff --git a/libguile/list.c b/libguile/list.c
index 08b8b51f4..9e3935dfe 100644
--- a/libguile/list.c
+++ b/libguile/list.c
@@ -28,6 +28,7 @@
#include "libguile/pairs.h"
#include "libguile/boolean.h"
#include "libguile/numbers.h"
+#include "libguile/procs.h"
#include "libguile/eq.h"
#include "libguile/list.h"
diff --git a/libguile/loader.c b/libguile/loader.c
index e7c4f98a0..13bfcee88 100644
--- a/libguile/loader.c
+++ b/libguile/loader.c
@@ -48,6 +48,7 @@
#include "extensions.h"
#include "pairs.h"
#include "programs.h"
+#include "threads.h"
#include "loader.h"
/* This file contains the loader for Guile's on-disk format: ELF with
diff --git a/libguile/macros.c b/libguile/macros.c
index 0015ecf86..f9ad72d4e 100644
--- a/libguile/macros.c
+++ b/libguile/macros.c
@@ -27,6 +27,7 @@
#include "libguile/boolean.h"
#include "libguile/ports.h"
#include "libguile/print.h"
+#include "libguile/procs.h"
#include "libguile/random.h"
#include "libguile/smob.h"
#include "libguile/macros.h"
diff --git a/libguile/memoize.c b/libguile/memoize.c
index 4d396c6fe..3df26f3c9 100644
--- a/libguile/memoize.c
+++ b/libguile/memoize.c
@@ -34,6 +34,7 @@
#include "libguile/_scm.h"
#include "libguile/alist.h"
#include "libguile/continuations.h"
+#include "libguile/dynstack.h"
#include "libguile/eq.h"
#include "libguile/expand.h"
#include "libguile/list.h"
@@ -46,6 +47,7 @@
#include "libguile/print.h"
#include "libguile/strings.h"
#include "libguile/throw.h"
+#include "libguile/threads.h"
#include "libguile/variable.h"
#include "libguile/vectors.h"
diff --git a/libguile/net_db.c b/libguile/net_db.c
index 75d530dbf..6edb4faf5 100644
--- a/libguile/net_db.c
+++ b/libguile/net_db.c
@@ -55,6 +55,7 @@
#include "libguile/strings.h"
#include "libguile/vectors.h"
#include "libguile/dynwind.h"
+#include "libguile/throw.h"
#include "libguile/net_db.h"
#include "libguile/socket.h"
diff --git a/libguile/pairs.c b/libguile/pairs.c
index 6b5113540..84ac83d27 100644
--- a/libguile/pairs.c
+++ b/libguile/pairs.c
@@ -24,6 +24,7 @@
#endif
#include "libguile/_scm.h"
+#include "libguile/boolean.h"
#include "libguile/gsubr.h"
#include "libguile/pairs.h"
diff --git a/libguile/procprop.c b/libguile/procprop.c
index 01a635c2e..1333493a2 100644
--- a/libguile/procprop.c
+++ b/libguile/procprop.c
@@ -34,6 +34,7 @@
#include "libguile/gsubr.h"
#include "libguile/numbers.h"
#include "libguile/smob.h"
+#include "libguile/threads.h"
#include "libguile/vectors.h"
#include "libguile/weak-table.h"
#include "libguile/programs.h"
diff --git a/libguile/rdelim.c b/libguile/rdelim.c
index 53990f48a..578fb80d7 100644
--- a/libguile/rdelim.c
+++ b/libguile/rdelim.c
@@ -21,6 +21,7 @@
#endif
#include "libguile/_scm.h"
+#include "libguile/boolean.h"
#include "libguile/gsubr.h"
#include "libguile/pairs.h"
diff --git a/libguile/simpos.c b/libguile/simpos.c
index 6163cc5d8..06c46558b 100644
--- a/libguile/simpos.c
+++ b/libguile/simpos.c
@@ -28,6 +28,7 @@
#include <unistd.h> /* for _exit */
#include "libguile/_scm.h"
+#include "libguile/boolean.h"
#include "libguile/gsubr.h"
#include "libguile/numbers.h"
diff --git a/libguile/srfi-14.c b/libguile/srfi-14.c
index 243da3e57..b69dfeed0 100644
--- a/libguile/srfi-14.c
+++ b/libguile/srfi-14.c
@@ -38,6 +38,7 @@
#include "libguile/ports.h"
#include "libguile/numbers.h"
#include "libguile/procs.h"
+#include "libguile/smob.h"
#include "libguile/srfi-14.h"
#include "libguile/strings.h"
#include "libguile/values.h"
diff --git a/libguile/srfi-60.c b/libguile/srfi-60.c
index 74c819f30..8613d0bce 100644
--- a/libguile/srfi-60.c
+++ b/libguile/srfi-60.c
@@ -25,6 +25,7 @@
#endif
#include "libguile/_scm.h"
+#include "libguile/boolean.h"
#include "libguile/gsubr.h"
#include "libguile/pairs.h"
#include "libguile/eq.h"
diff --git a/libguile/strings.c b/libguile/strings.c
index 3159ae39b..c04652202 100644
--- a/libguile/strings.c
+++ b/libguile/strings.c
@@ -46,6 +46,7 @@
#include "libguile/error.h"
#include "libguile/generalized-vectors.h"
#include "libguile/deprecation.h"
+#include "libguile/threads.h"
#include "libguile/private-options.h"
diff --git a/libguile/strports.c b/libguile/strports.c
index e4bd2fc91..62af50218 100644
--- a/libguile/strports.c
+++ b/libguile/strports.c
@@ -41,6 +41,7 @@
#include "libguile/modules.h"
#include "libguile/deprecation.h"
#include "libguile/srfi-4.h"
+#include "libguile/threads.h"
#include "libguile/variable.h"
#include "libguile/strports.h"
diff --git a/libguile/syntax.c b/libguile/syntax.c
index 70686d17a..34d8f7925 100644
--- a/libguile/syntax.c
+++ b/libguile/syntax.c
@@ -28,6 +28,7 @@
#include "libguile/eval.h"
#include "libguile/ports.h"
#include "libguile/syntax.h"
+#include "libguile/threads.h"
#include "libguile/variable.h"
diff --git a/libguile/syntax.h b/libguile/syntax.h
index 7fdfd2891..50bb47514 100644
--- a/libguile/syntax.h
+++ b/libguile/syntax.h
@@ -1,7 +1,7 @@
#ifndef SCM_SYNTAX_H
#define SCM_SYNTAX_H
-/* Copyright (C) 2017 Free Software Foundation, Inc.
+/* Copyright (C) 2017-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
diff --git a/libguile/unicode.c b/libguile/unicode.c
index 2494f8831..5f80b10a5 100644
--- a/libguile/unicode.c
+++ b/libguile/unicode.c
@@ -28,6 +28,7 @@
#include <uniname.h>
#include "libguile/_scm.h"
+#include "libguile/chars.h"
#include "libguile/gsubr.h"
#include "libguile/extensions.h"
diff --git a/libguile/variable.c b/libguile/variable.c
index 8d3bdc778..923dfc725 100644
--- a/libguile/variable.c
+++ b/libguile/variable.c
@@ -24,6 +24,7 @@
#endif
#include "libguile/_scm.h"
+#include "libguile/boolean.h"
#include "libguile/gsubr.h"
#include "libguile/eq.h"
#include "libguile/list.h"
diff --git a/libguile/vectors.c b/libguile/vectors.c
index d23706ac2..57c189036 100644
--- a/libguile/vectors.c
+++ b/libguile/vectors.c
@@ -24,6 +24,7 @@
#endif
#include "libguile/_scm.h"
+#include "libguile/boolean.h"
#include "libguile/gsubr.h"
#include "libguile/pairs.h"
#include "libguile/eq.h"
diff --git a/libguile/weak-set.c b/libguile/weak-set.c
index 1206dfde6..6f409aff4 100644
--- a/libguile/weak-set.c
+++ b/libguile/weak-set.c
@@ -31,6 +31,7 @@
#include "libguile/hash.h"
#include "libguile/eval.h"
#include "libguile/ports.h"
+#include "libguile/threads.h"
#include "libguile/bdw-gc.h"
#include "libguile/weak-list.h"
diff --git a/libguile/weak-set.h b/libguile/weak-set.h
index 86781c78a..6352c9b42 100644
--- a/libguile/weak-set.h
+++ b/libguile/weak-set.h
@@ -3,7 +3,7 @@
#ifndef SCM_WEAK_SET_H
#define SCM_WEAK_SET_H
-/* Copyright (C) 2011 Free Software Foundation, Inc.
+/* Copyright (C) 2011,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
diff --git a/libguile/weak-table.c b/libguile/weak-table.c
index cf3727a6e..3b1e9ae6a 100644
--- a/libguile/weak-table.c
+++ b/libguile/weak-table.c
@@ -37,6 +37,7 @@
#include "libguile/numbers.h"
#include "libguile/ports.h"
#include "libguile/procs.h"
+#include "libguile/threads.h"
#include "libguile/weak-list.h"
#include "libguile/weak-table.h"
diff --git a/libguile/weak-table.h b/libguile/weak-table.h
index f516c2601..1fe59543e 100644
--- a/libguile/weak-table.h
+++ b/libguile/weak-table.h
@@ -3,7 +3,7 @@
#ifndef SCM_WEAK_TABLE_H
#define SCM_WEAK_TABLE_H
-/* Copyright (C) 2011, 2012 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2012,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
diff --git a/libguile/weak-vector.c b/libguile/weak-vector.c
index 3032dae41..deb474a82 100644
--- a/libguile/weak-vector.c
+++ b/libguile/weak-vector.c
@@ -27,6 +27,7 @@
#include <string.h>
#include "libguile/_scm.h"
+#include "libguile/boolean.h"
#include "libguile/gsubr.h"
#include "libguile/extensions.h"
#include "libguile/list.h"