mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-02 21:10:27 +02:00
Reformatted configure options. Added `--enable-deprecated' option.
This commit is contained in:
parent
b65e6bfee2
commit
6503ad7fe4
1 changed files with 77 additions and 51 deletions
112
INSTALL
112
INSTALL
|
@ -58,67 +58,93 @@ If you run the configure script with no arguments, it should examine
|
||||||
your system and set things up appropriately. However, there are a few
|
your system and set things up appropriately. However, there are a few
|
||||||
switches specific to Guile you may find useful in some circumstances.
|
switches specific to Guile you may find useful in some circumstances.
|
||||||
|
|
||||||
--enable-maintainer-mode --- If you have automake, autoconf, and
|
|
||||||
libtool installed on your system, this switch causes configure to
|
|
||||||
generate Makefiles which know how to automatically regenerate
|
|
||||||
configure scripts, makefiles, and headers, when they are out of date.
|
|
||||||
The README file says which versions of those tools you will need.
|
|
||||||
|
|
||||||
--with-threads --- Build a Guile executable and library that supports
|
--enable-maintainer-mode
|
||||||
cooperative threading. If you use this switch, Guile will also build
|
|
||||||
and install the QuickThreads non-preemptive threading library,
|
|
||||||
libqthreads, which you will need to link into your programs after
|
|
||||||
libguile. When you use `guile-config', you will pick up all
|
|
||||||
neccessary linker flags automatically.
|
|
||||||
|
|
||||||
Cooperative threads are not yet thoroughly tested; once they are, they
|
If you have automake, autoconf, and libtool installed on your
|
||||||
will be enabled by default. The interaction with blocking I/O is
|
system, this switch causes configure to generate Makefiles which
|
||||||
pretty ad hoc at the moment. In our experience, bugs in the thread
|
know how to automatically regenerate configure scripts, makefiles,
|
||||||
support do not affect you if you don't actually use threads.
|
and headers, when they are out of date. The README file says which
|
||||||
|
versions of those tools you will need.
|
||||||
|
|
||||||
--with-modules --- Guile can dynamically load `plugin modules' during
|
|
||||||
runtime, using facilities provided by libtool. Not all platforms
|
|
||||||
support this, however. On these platforms, you can statically link
|
|
||||||
the plugin modules into libguile when Guile itself is build. XXX -
|
|
||||||
how does one specify the modules?
|
|
||||||
|
|
||||||
--disable-shared --- Do not build shared libraries. Normally, Guile
|
--with-threads --- Build with thread support
|
||||||
will build shared libraries if your system supports them. Guile
|
|
||||||
always builds static libraries.
|
Build a Guile executable and library that supports cooperative
|
||||||
|
threading. If you use this switch, Guile will also build and
|
||||||
|
install the QuickThreads non-preemptive threading library,
|
||||||
|
libqthreads, which you will need to link into your programs after
|
||||||
|
libguile. When you use `guile-config', you will pick up all
|
||||||
|
neccessary linker flags automatically.
|
||||||
|
|
||||||
|
Cooperative threads are not yet thoroughly tested; once they are,
|
||||||
|
they will be enabled by default. The interaction with blocking I/O
|
||||||
|
is pretty ad hoc at the moment. In our experience, bugs in the
|
||||||
|
thread support do not affect you if you don't actually use threads.
|
||||||
|
|
||||||
|
|
||||||
|
--with-modules --- Specify statically linked `modules'
|
||||||
|
|
||||||
|
Guile can dynamically load `plugin modules' during runtime, using
|
||||||
|
facilities provided by libtool. Not all platforms support this,
|
||||||
|
however. On these platforms, you can statically link the plugin
|
||||||
|
modules into libguile when Guile itself is build. XXX - how does
|
||||||
|
one specify the modules?
|
||||||
|
|
||||||
|
|
||||||
|
--enable-deprecated=LEVEL --- Control the inclusion of deprecated features.
|
||||||
|
|
||||||
|
You can select between different behaviours via the LEVEL argument:
|
||||||
|
a value of "no" will omit all deprecated features and you will get
|
||||||
|
"undefined reference", "variable unbound" or similar errors when you
|
||||||
|
try to use them. All other values will include all deprecated
|
||||||
|
features. The LEVEL argument is used as the default value for the
|
||||||
|
environment variable GUILE_WARN_DEPRECATED. See the README for
|
||||||
|
documentation about this.
|
||||||
|
|
||||||
|
|
||||||
|
--disable-shared --- Do not build shared libraries.
|
||||||
|
|
||||||
|
Normally, Guile will build shared libraries if your system supports
|
||||||
|
them. Guile always builds static libraries.
|
||||||
|
|
||||||
|
|
||||||
--enable-debug-freelist --- Enable freelist debugging.
|
--enable-debug-freelist --- Enable freelist debugging.
|
||||||
|
|
||||||
This enables a debugging version of SCM_NEWCELL(), and also registers
|
This enables a debugging version of SCM_NEWCELL(), and also
|
||||||
an extra primitive, the setter `gc-set-debug-check-freelist!'.
|
registers an extra primitive, the setter
|
||||||
|
`gc-set-debug-check-freelist!'.
|
||||||
|
|
||||||
Configure with the --enable-debug-freelist option to enable
|
Configure with the --enable-debug-freelist option to enable the
|
||||||
the gc-set-debug-check-freelist! primitive, and then use:
|
gc-set-debug-check-freelist! primitive, and then use:
|
||||||
|
|
||||||
(gc-set-debug-check-freelist! #t) # turn on checking of the freelist
|
(gc-set-debug-check-freelist! #t) # turn on checking of the freelist
|
||||||
(gc-set-debug-check-freelist! #f) # turn off checking
|
(gc-set-debug-check-freelist! #f) # turn off checking
|
||||||
|
|
||||||
|
Checking of the freelist forces a traversal of the freelist and a
|
||||||
|
garbage collection before each allocation of a cell. This can slow
|
||||||
|
down the interpreter dramatically, so the setter should be used to
|
||||||
|
turn on this extra processing only when necessary.
|
||||||
|
|
||||||
Checking of the freelist forces a traversal of the freelist and
|
|
||||||
a garbage collection before each allocation of a cell. This can
|
|
||||||
slow down the interpreter dramatically, so the setter should be used to
|
|
||||||
turn on this extra processing only when necessary.
|
|
||||||
|
|
||||||
--enable-debug-malloc --- Enable malloc debugging.
|
--enable-debug-malloc --- Enable malloc debugging.
|
||||||
|
|
||||||
Include code for debugging of calls to scm_must_malloc/realloc/free.
|
Include code for debugging of calls to scm_must_malloc/realloc/free.
|
||||||
|
|
||||||
Checks that
|
Checks that
|
||||||
|
|
||||||
1. objects freed by scm_must_free has been mallocated by scm_must_malloc
|
1. objects freed by scm_must_free has been mallocated by scm_must_malloc
|
||||||
2. objects reallocated by scm_must_realloc has been allocated by
|
2. objects reallocated by scm_must_realloc has been allocated by
|
||||||
scm_must_malloc
|
scm_must_malloc
|
||||||
3. reallocated objects are reallocated with the same what string
|
3. reallocated objects are reallocated with the same what string
|
||||||
|
|
||||||
But, most importantly, it records the number of allocated objects of
|
But, most importantly, it records the number of allocated objects of
|
||||||
each kind. This is useful when searching for memory leaks.
|
each kind. This is useful when searching for memory leaks.
|
||||||
|
|
||||||
|
A Guile compiled with this option provides the primitive
|
||||||
|
`malloc-stats' which returns an alist with pairs of kind and the
|
||||||
|
number of objects of that kind.
|
||||||
|
|
||||||
A Guile compiled with this option provides the primitive
|
|
||||||
`malloc-stats' which returns an alist with pairs of kind and the
|
|
||||||
number of objects of that kind.
|
|
||||||
|
|
||||||
--enable-guile-debug --- Include internal debugging functions
|
--enable-guile-debug --- Include internal debugging functions
|
||||||
--disable-arrays --- omit array and uniform array support
|
--disable-arrays --- omit array and uniform array support
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue