* dynl.c: Only check that HAVE_DLOPEN is defined before loading
[bpt/guile.git] / README
diff --git a/README b/README
index cd5b6c7..94d6d7a 100644 (file)
--- a/README
+++ b/README
@@ -3,15 +3,17 @@ implementation written in C.  Guile provides a machine independent
 execution platform that can be linked in as a library when building
 extensible programs.
 
-Please send bug reports to bug-guile@prep.ai.mit.edu.
+Please send bug reports to bug-guile@gnu.org.
 
-Important Facts About Snapshots ======================================
+About Snapshots ======================================================
 
-Please keep in mind that these sources are strictly experimental; they
-will usually not be well-tested, and may not even compile on some
-systems.  They may contain interfaces which will change.  They will
-usually not be of sufficient quality for use by people not comfortable
-hacking the innards of Guile.  Caveat!
+
+Each night, we make the current Guile sources available via anonymous
+FTP.  Please keep in mind that these sources are strictly
+experimental; they will usually not be well-tested, and may not even
+compile on some systems.  They may contain interfaces which will
+change.  They will usually not be of sufficient quality for use by
+people not comfortable hacking the innards of Guile.  Caveat!
 
 However, we're providing them anyway for several reasons.  We'd like
 to encourage people to get involved in developing Guile.  People
@@ -22,20 +24,35 @@ patch's original sources will be closer to what we're working with.
 And it allows us to start testing features earlier.
 
 Nightly snapshots of the Guile development sources are available via
-anonymous FTP from ftp.cyclic.com, as /pub/guile/guile-snap.tar.gz.
-
-Via the web, that's:  ftp://ftp.cyclic.com/pub/guile/guile-snap.tar.gz
-For getit, that's:    ftp.cyclic.com:/pub/guile/guile-snap.tar.gz
-
-
-The latest official Guile release is available via anonymous FTP from
-prep.ai.mit.edu, as /pub/gnu/guile-1.0.tar.gz.
-
-Via the web, that's:  ftp://prep.ai.mit.edu/pub/gnu/guile-1.0.tar.gz
-For getit, that's:    prep.ai.mit.edu:/pub/gnu/guile-1.0.tar.gz
-
-
-Contents Of This Distribution ========================================
+anonymous FTP from ftp.red-bean.com, as /pub/guile/guile-core-snap.tar.gz.
+
+Via the web, that's:  ftp://ftp.red-bean.com/pub/guile/guile-core-snap.tar.gz
+For getit, that's:    ftp.red-bean.com:/pub/guile/guile-core-snap.tar.gz
+
+The snapshot FTP site is mirrored at the following locations:
+  Austria:              ftp://ftp.aec.at/pub/guile
+  Japan:                ftp://ftp.jaist.ac.jp/pub/lang/scheme/guile
+
+
+About This Distribution ==============================================
+
+Building and installing this distribution gives you:
+guile --- a stand-alone interpreter for Guile, usually installed in
+       /usr/local/bin.  With no arguments, this is a simple
+       interactive Scheme interpreter.  It can also be used as an
+       interpreter for script files; see the NEWS file for details.
+libguile.a --- an object library containing the Guile interpreter,
+       usually installed in /usr/local/lib.  You can use Guile in
+       your own programs by linking against this.
+libqt.a --- an object library containing the QuickThreads primitives.
+        If you enabled thread support when you configured Guile, you
+        will need to link your code against this too.
+<libguile.h>, <libguile/*.h> --- header files for libguile.a, usually
+       installed in /usr/local/include.
+ice-9, ice-9/*.scm --- run-time support for Guile: the module
+       system, read-eval-print loop, some R4RS code and other
+       infrastructure.  Usually installed in
+       /usr/local/share/guile/<version>.
 
 Interesting files include:
 - INSTALL, which contains instructions on building and installing Guile.
@@ -45,33 +62,19 @@ Interesting files include:
 
 The Guile source tree is laid out as follows:
 
-doc:   Documentation for Guile, in Texinfo form.  (At the moment, these
-       manuals are incomplete and are currently being revised.)
 libguile:
-       The Guile Scheme interpreter, packaged as an object library
-       for you to link with your programs.
-guile:  An interactive front end for the Guile Scheme interpreter.
-rx:     A regular expression matching library, interfaced to Guile.
+       The Guile Scheme interpreter --- both the object library
+       for you to link with your programs, and the executable you can run.
 ice-9:  Guile's module system, initialization code, and other infrastructure.
-lang:   A Guile module of tools for writing lexical analyzers and parsers.
-ctax:   A Guile module providing a C-like syntax for Scheme.
-gtcltk-lib:
-       Glue code for talking to Tcl/Tk from Guile.  The Tcl/Tk
-       developers have big plans for the next major release of Tcl/Tk
-       which will make possible a clean, direct interface between
-       Guile and Tk, so we're providing this very simple-minded
-       interface until that's ready.
-threads: Glue code for using various threads packages from Guile, including
-       qt (see below).
-
-This distribution also includes `qt', a cooperative threads package
-from Washington University, which Guile can use.  Qt is under a
-separate copyright; see `qt/README' for more details.
 
-The mailing list `guile@cygnus.com' carries discussions, questions,
-and often answers, about Guile.  To subscribe, send mail to
-guile-request@cygnus.com.  Of course, please send bug reports (and
-fixes!) to bug-guile@prep.ai.mit.edu.
+qt:    A cooperative threads package from Washington University,
+       which Guile can use.  If you configure Guile with the
+        --with-threads flag, you will need to link against the -lqt
+        library, found in this directory.  Qt is under a separate
+        copyright; see `qt/README' for more details.
+
+(The present release doesn't include any documentation; the Guile
+manual is incomplete, and is currently being revised.)
 
 
 Hacking It Yourself ==================================================
@@ -83,21 +86,43 @@ you want to make changes to the system (which we encourage!) you will
 find it helpful to have the tools we use to develop Guile.  They
 are the following:
 
-Autoconf 2.12 --- a system for automatically generate `configure'
+Autoconf 2.12 --- a system for automatically generating `configure'
        scripts from templates which list the non-portable features a
        program would like to use.  Available in
        "ftp://prep.ai.mit.edu/pub/gnu".
 
-Automake 1.1l --- a system for automatically generating Makefiles that
+Automake 1.3 --- a system for automatically generating Makefiles that
        conform to the (rather Byzantine) GNU coding standards.  The
        nice thing is that it takes care of hairy targets like 'make
        dist' and 'make distclean', and automatically generates
-       Makefile dependencies.  Available in
-       "ftp://ftp.cygnus.com/pub/tromey".
+       Makefile dependencies.  Automake is available in
+       "ftp://prep.ai.mit.edu/pub/gnu".
+
+       Before using automake, you may need to copy `threads.m4' and
+       `guile.m4' from the top directory of the Guile core disty to
+       `/usr/local/share/aclocal.
 
-libtool 0.7 --- a system for managing the zillion hairy options needed
+libtool 1.2 --- a system for managing the zillion hairy options needed
        on various systems to produce shared libraries.  Available in
-       "http://casual1.enci.ucalgary.ca/~gord/src/".
+       "ftp://prep.ai.mit.edu/pub/gnu".
+
+You are lost in a little maze of automatically generated files, all
+different.
+> 
+
+
+Obtaining Guile ======================================================
+
+The latest official Guile release is available via anonymous FTP from
+prep.ai.mit.edu, as /pub/gnu/guile-1.2.tar.gz.
+
+Via the web, that's:  ftp://prep.ai.mit.edu/pub/gnu/guile-1.2.tar.gz
+For getit, that's:    prep.ai.mit.edu:/pub/gnu/guile-1.2.tar.gz
+
+The mailing list `guile@cygnus.com' carries discussions, questions,
+and often answers, about Guile.  To subscribe, send mail to
+guile-request@cygnus.com.  Of course, please send bug reports (and
+fixes!) to bug-guile@gnu.org.
 
 
 Authors And Contributors =============================================
@@ -111,29 +136,28 @@ Mikael Djurfeldt designed and implemented:
 * stack overflow detection,
 * the GDB patches to support debugging mixed Scheme/C code,
 * the original implementation of weak hash tables,
-* the `threads' interface (rewriting Anthony Green's work), and
+* enhancements to the `threads' interface (based on Anthony Green's
+  work), and
 * detection of circular references during printing.
 
-Mark Galassi contributed the Guile high-level functions (libgh), and
+Mark Galassi contributed the Guile high-level functions (gh_*), and
 wrote the guile-programmer and guile-user manuals.  (These are in the
 process of revision.)
 
-Anthony Green wrote the original version of `threads' the interface
+Anthony Green wrote the original version of `threads', the interface
 between Guile and qt.
 
-Gary Houston wrote the Unix system call support, including the socket
-support, and did a lot of work on the error handling code.
+Gary Houston wrote much of the Unix system call support, including the
+socket support, and did a lot of work on the error handling code.
 
 Tom Lord librarified SCM, yielding Guile.  He wrote Guile's operating
 system, Ice-9, and connected Guile to Tcl/Tk and the `rx' regular
 expression matcher.
 
-Aubrey Jaffer seriously tuned performance and added features.  He
-designed many hairy but beautiful parts of the tag system and
-evaluator.
+Aubrey Jaffer is the author of SCM upon which Guile is based.  Guile
+started from SCM version 4e1 in November -94 and is still largely
+composed of the original SCM code.
 
 George Carrette wrote SIOD, a stand-alone scheme interpreter.
 Although most of this code as been rewritten or replaced over time,
 the garbage collector from SIOD is still an important part of Guile.
-
-