Doc of MOP for instance and class creation
[bpt/guile.git] / README
diff --git a/README b/README
index 90914e1..1e9c2f8 100644 (file)
--- a/README
+++ b/README
@@ -18,7 +18,9 @@ The next stable release will likely be version 2.0.0.
 
 Please send bug reports to bug-guile@gnu.org.
 
-See the LICENSE file for the specific terms that apply to Guile.
+See the LICENSE file for the specific terms that apply to Guile.  Note
+that for any copyright year range specified as YYYY-ZZZZ in this
+package, the range specifies every single year in that closed interval.
 
 
 Additional INSTALL instructions ===========================================
@@ -35,11 +37,13 @@ Guile depends on the following external libraries.
 - libunistring
 - libgc
 - libffi
-It will also use the libreadline library if it is available.  For each
-of these there is a corresponding --with-XXX-prefix option that you
-can use when invoking ./configure, if you have these libraries
-installed in a location other than the standard places (/usr and
-/usr/local).
+It will also use the libreadline library if it is available.
+
+There is a corresponding `--with-XXX-prefix' option for each of these
+libraries (except for libgc and libffi which use `pkg-config', see
+below) that you can use when invoking ./configure, if you have these
+libraries installed in a location other than the standard places (/usr
+and /usr/local).
 
 These options are provided by the Gnulib `havelib' module, and details
 of how they work are documented in `Searching for Libraries' in the
@@ -101,10 +105,10 @@ Guile requires the following external packages:
   - pkg-config
 
     Guile's ./configure script uses pkg-config to discover the correct
-    compile and link options for libgc.  If you don't have pkg-config
-    installed, or you have a version of libgc that doesn't provide a
-    .pc file, you can work around this by setting some variables as
-    part of the configure command-line:
+    compile and link options for libgc and libffi.  If you don't have
+    pkg-config installed, or you have a version of libgc that doesn't
+    provide a .pc file, you can work around this by setting some
+    variables as part of the configure command-line:
 
     - PKG_CONFIG=true
 
@@ -112,6 +116,13 @@ Guile requires the following external packages:
 
     - BDW_GC_LIBS=<linker flags for picking up the libgc library>
 
+    Note that because you're bypassing all pkg-config checks, you will
+    also have to specify libffi flags as well:
+
+    - LIBFFI_CFLAGS=<compile flags for picking up libffi headers>
+
+    - LIBFFI_LIBS=<linker flags for picking up the libffi library>
+
 
 Special Instructions For Some Systems =====================================
 
@@ -145,10 +156,6 @@ switches specific to Guile you may find useful in some circumstances.
   implementation and helps to keep Guile reasonably clean of historic
   baggage.
 
-  Deprecated features are considered harmful; using them is likely a
-  bug.  See below for the related notion of `discouraged' features,
-  which are OK but have fallen out of favor.
-
   See the file NEWS for a list of features that are currently
   deprecated.  Each entry will also tell you what you should replace
   your code with.
@@ -198,16 +205,9 @@ switches specific to Guile you may find useful in some circumstances.
   'warn-deprecated) to enable and disable the detailed messaged at run
   time.
 
---disable-discouraged
-
-  In addition to deprecated features, Guile can also contain things
-  that are merely `discouraged'.  It is OK to continue to use these
-  features in old code, but new code should avoid them since there are
-  better alternatives.
-
-  There is nothing wrong with a discouraged feature per se, but they
-  might have strange names, or be non-standard, for example.  Avoiding
-  them will make your code better.
+  Additionally, if your toolchain is new enough, you will receive
+  warnings at link time if you have a Guile extension that uses
+  deprecated functions provided by Guile.
 
 --disable-shared  ---  Do not build shared libraries.
 --disable-static  ---  Do not build static libraries.
@@ -328,10 +328,9 @@ Example:
 
 Guile Documentation ==================================================
 
-If you've never used Scheme before, then the Guile Tutorial
-(guile-tut.info) is a good starting point.  The Guile Reference Manual
-(guile.info) is the primary documentation for Guile.  A copy of the
-R5RS Scheme specification is included too (r5rs.info).
+The Guile Reference Manual (guile.info) is the primary documentation for
+Guile.  A copy of the R5RS Scheme specification is included too
+(r5rs.info).
 
 Info format versions of this documentation are installed as part of
 the normal build process.  The texinfo sources are under the doc