@c -*-texinfo-*-
@c This is part of the GNU Guile Reference Manual.
-@c Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004
+@c Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2005, 2006
@c Free Software Foundation, Inc.
@c See the file guile.texi for copying conditions.
gcc -shared -o libguile-bessel.so -fPIC bessel.c
@end smallexample
-For creating shared libraries portably, we recommend the use of
-@code{GNU Libtool}.
+For creating shared libraries portably, we recommend the use of GNU
+Libtool (@pxref{Top, , Introduction, libtool, GNU Libtool}).
A shared library can be loaded into a running Guile process with the
function @code{load-extension}. In addition to the name of the
-library to load, this function also expects the name of function from
+library to load, this function also expects the name of a function from
that library that will be called to initialize it. For our example,
we are going to call the function @code{init_bessel} which will make
@code{j0_wrapper} available to Scheme programs with the name
@file{.so} when invoking @code{load-extension}. The right extension for
the host platform will be provided automatically.
-@smalllisp
+@lisp
(load-extension "libguile-bessel" "init_bessel")
(j0 2)
@result{} 0.223890779141236
-@end smalllisp
+@end lisp
For this to work, @code{load-extension} must be able to find
@file{libguile-bessel}, of course. It will look in the places that
To see how these Guile extensions via shared libraries relate to the
module system, @xref{Putting Extensions into Modules}.
+
+
+@c Local Variables:
+@c TeX-master: "guile.texi"
+@c End: