Guile-1.8.2

Introduction to Guile

The Guile package contains the Project GNU's extension language library. Guile also contains a stand alone Scheme interpreter.

Package Information

Guile Dependencies

Required

GMP-4.2.2

Optional

Emacs-22.1

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/guile

Installation of Guile

Install Guile by running the following commands:

sed -i -e '20,$ d' \
       -e 's|slib)|&)\n(load-from-path "slib/guile.init")|' \
    ice-9/slib.scm

./configure --prefix=/usr &&
make

If you have teTeX-3.0 installed and wish to build alternate formats of the documentation, issue the following commands:

for DIRNAME in goops r5rs ref tutorial
do
  make -k -C doc/$DIRNAME pdf ps html
done &&

makeinfo --plaintext -o doc/goops/goops.txt doc/goops/goops.texi &&
makeinfo --plaintext -o doc/r5rs/r5rs.txt doc/r5rs/r5rs.texi &&
makeinfo --plaintext -o doc/ref/guile.txt doc/ref/guile.texi &&
makeinfo --plaintext -o doc/tutorial/guile-tut.txt \
    doc/tutorial/guile-tut.texi &&

unset DIRNAME

To test the results, issue: make check.

Now, as the root user:

make install &&

find examples -name "Makefile*" -exec rm {} \; &&
install -v -m755 -d /usr/share/doc/guile-1.8.2 &&
cp -v -R examples   /usr/share/doc/guile-1.8.2

If you built the alternate formats of the documentation, install them using the following commands issued by the root user:

for DIRNAME in goops r5rs ref tutorial
do
  install -v -m755 -d /usr/share/doc/guile-1.8.2/$DIRNAME/html
  install -v -m644 doc/$DIRNAME/*.{pdf,ps,dvi,txt} \
      /usr/share/doc/guile-1.8.2/$DIRNAME
  if [ -d doc/$DIRNAME/$DIRNAME.html ]; then
    install -v -m644 doc/$DIRNAME/$DIRNAME.html/* \
        /usr/share/doc/guile-1.8.2/$DIRNAME/html
  fi
done &&

install -v -m644 doc/goops/hierarchy.{eps,png} \
    /usr/share/doc/guile-1.8.2/goops &&
install -v -m644 doc/ref/guile.html/* \
    /usr/share/doc/guile-1.8.2/ref/html &&
install -v -m644 doc/tutorial/guile-tut.html/* \
    /usr/share/doc/guile-1.8.2/tutorial/html

Command Explanations

sed -i -e '20,$ d' -e '...' ice-9/slib.scm: This command is used to modify the Guile SLIB initialization script. There are incompatibilities with newer versions of SLIB and this command modifes the script to use the installed SLIB script.

Contents

Installed Programs: guile, guile-config, guile-snarf, and guile-tools
Installed Libraries: libguile.{so,a}, libguile-srfi-srfi-*.{so,a} and /libguilereadline-v-17.{so,a}
Installed Directories: /usr/include/guile, /usr/include/libguile, /usr/share/doc/guile-1.8.2 and /usr/share/guile

Short Descriptions

guile

is a stand-alone Scheme interpreter for Guile.

guile-config

is a Guile script which provides the information necessary to link your programs against the Guile library, in much the same way pkg-config-0.22 does.

guile-snarf

is a script to parse declarations in your C code for Scheme visible C functions, i Scheme objects to be used by C code, etc.

guile-tools

is a wrapper program installed along with guile which knows where a particular module is installed and calls it passing its args to a program.

Last updated on 2007-08-03 06:50:56 -0500