summaryrefslogtreecommitdiff
path: root/doc/ref/libguile-parallel.texi
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2011-10-12 13:07:30 +0200
committerAndy Wingo <wingo@pobox.com>2011-10-12 17:12:29 +0200
commitd32df1325dfe5f550cf1262dc7e90ba86b526a7c (patch)
treefc2ec0ec6b9bb115ff321b4c8f6c6823e2e71d2c /doc/ref/libguile-parallel.texi
parentb09179d0eb0919920d4784b45af06c2f74b10c2d (diff)
downloadguile-d32df1325dfe5f550cf1262dc7e90ba86b526a7c.tar.gz
manual: reorganize autoconf, pkg-config info
* doc/ref/libguile-parallel.texi: New file, documenting parallel installation and the use of pkg-config. * doc/ref/libguile-linking.texi: Adapt. * doc/ref/libguile-autoconf.texi: Rename from autoconf.texi. Lower sections, and integrate in the "Programming in C" chapter. * doc/ref/guile.texi: Adapt.
Diffstat (limited to 'doc/ref/libguile-parallel.texi')
-rw-r--r--doc/ref/libguile-parallel.texi48
1 files changed, 48 insertions, 0 deletions
diff --git a/doc/ref/libguile-parallel.texi b/doc/ref/libguile-parallel.texi
new file mode 100644
index 000000000..09c60f545
--- /dev/null
+++ b/doc/ref/libguile-parallel.texi
@@ -0,0 +1,48 @@
+@c -*-texinfo-*-
+@c This is part of the GNU Guile Reference Manual.
+@c Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2005, 2010, 2011
+@c Free Software Foundation, Inc.
+@c See the file guile.texi for copying conditions.
+
+@node Parallel Installations
+@section Parallel Installations
+
+@cindex pkg-config
+@cindex effective version
+
+Guile provides strong API and ABI stability guarantees during stable
+series, so that if a user writes a program against Guile version 2.0.3,
+it will be compatible with some future version 2.0.7. We say in this
+case that 2.0 is the @dfn{effective version}, composed of the major and
+minor versions, in this case 2 and 0.
+
+Users may install multiple effective versions of Guile, with each
+version's headers, libraries, and Scheme files under their own
+directories. This provides the necessary stability guarantee for users,
+while also allowing Guile developers to evolve the language and its
+implementation.
+
+However, parallel installability does have a down-side, in that users
+need to know which version of Guile to ask for, when they build against
+Guile. Guile solves this problem by installing a file to be read by the
+@code{pkg-config} utility, a tool to query installed packages by name.
+Guile encodes the version into its pkg-config name, so that users can
+ask for @code{guile-2.0} or @code{guile-2.2}, as appropriate.
+
+For effective version @value{EFFECTIVE-VERSION}, for example, you would
+invoke @code{pkg-config --cflags --libs guile-@value{EFFECTIVE-VERSION}}
+to get the compilation and linking flags necessary to link to version
+@value{EFFECTIVE-VERSION} of Guile. You would typically run
+@code{pkg-config} during the configuration phase of your program and use
+the obtained information in the Makefile.
+
+See the @code{pkg-config} man page, for more information, or its web
+site, @url{http://pkg-config.freedesktop.org/}.
+
+@xref{Autoconf Support}, for more on checking for Guile from within a
+@code{configure.ac} file.
+
+
+@c Local Variables:
+@c TeX-master: "guile.texi"
+@c End: