2. Type "make", to build the package.
Generic instructions for configuring and compiling GNU distributions
-are included below. For Guile, you might type the commands below.
-Their voluminous output is not shown.
+are included below.
- $ tar xvfz guile-970416.tar.gz # unpack the sources
- $ cd guile-970416
- $ ./configure # adapt Guile to your system
- $ make # compile Guile
- $ make install # install in the usual places
-(Note: under SunOS 4.1 and HP/UX, you may need to say:
+Special Instructions For Some Systems =====================================
+
+We would like Guile to build on all systems using the simple
+instructions above, but it seems that a few systems still need special
+treatment. If you can send us fixes for these problems, we'd be
+grateful.
+
+SunOS 4.1: Guile's shared library support seems to be confused, but
+ hey; shared libraries are confusing. You may need to configure
+ Guile with a command like:
./configure --disable-shared
-Guile's shared library support for that system seems to be confused, but
-hey; shared libraries are confusing.)
+ For more information on `--disable-shared', see below, "Flags
+ Accepted by Configure".
+
+HP/UX: GCC 2.7.2 (and maybe other versions) have trouble creating
+ shared libraries if they depend on any non-shared libraries. GCC
+ seems to have other problems as well. To work around this, we
+ suggest you configure Guile to use the system's C compiler:
+ CC=cc ./configure
+
What You Get ==============================================================
hoc at the moment. In our experience, bugs in the thread support do
not affect you if you don't actually use threads.
-At the moment, threads are known not to work with the NetBSD 1.2
-assembler.
-
--enable-dynamic-linking --- Build a Guile executable and library
providing Scheme functions which can load a shared library and
initialize it, perhaps thereby adding new functions to Guile. This
-feature is not yet thoroughly tested; once it is, it will be enabled
-by default. This option has no effect on systems that do not support
-shared libraries.
+feature is enabled by default; you only need to use this option (as
+`--enable-dynamic-linking=no') if you want to build a Guile which does
+not support dynamic linking.
+
+This option has no effect on systems that do not support shared
+libraries.
--disable-shared --- Do not build shared libraries. Normally, Guile
will build shared libraries if your system supports them. Guile
Using Guile Without Installing It =========================================
If you want to run Guile without installing it, set the environment
-variable `SCHEME_LOAD_PATH' to a colon-separated list of directories,
+variable `GUILE_LOAD_PATH' to a colon-separated list of directories,
including the directory containing this INSTALL file. If you used a
separate build directory, you'll need to include the build directory
in the path as well.
called `/home/jimb/guile-snap' (so the full name of this file would be
`/home/jimb/guile-snap/INSTALL'). Then you might say:
- export SCHEME_LOAD_PATH=/home/jimb/guile-snap
+ export GUILE_LOAD_PATH=/home/jimb/guile-snap
if you're using Bash or any other Bourne shell variant, or
- setenv SCHEME_LOAD_PATH /home/jimb/guile-snap
+ setenv GUILE_LOAD_PATH /home/jimb/guile-snap
if you're using CSH or one of its variants.
If you built Guile in a separate directory from the source tree, then
-you'll need to include your build directory in the SCHEME_LOAD_PATH as
+you'll need to include your build directory in the GUILE_LOAD_PATH as
well. For example, if you built in a subdirectory of the source tree
called `pentium', you might say:
- export SCHEME_LOAD_PATH=/home/jimb/guile-snap:/home/jimb/guile-snap/pentium
+ export GUILE_LOAD_PATH=/home/jimb/guile-snap:/home/jimb/guile-snap/pentium
Building a Statically Linked Guile ========================================