Node:Build Config, Next:, Up:Options and Config

33.1 Configuration, Build and Installation

The following procedures and variables provide information about how Guile was configured, built and installed on your system.

version Scheme Procedure
major-version Scheme Procedure
minor-version Scheme Procedure
micro-version Scheme Procedure
scm_version () C Function
scm_major_version () C Function
scm_minor_version () C Function
scm_micro_version () C Function
Return a string describing Guile's version number, or its major, minor or micro version number, respectively.
(version) => "1.6.0"
(major-version) => "1"
(minor-version) => "6"
(micro-version) => "0"

%package-data-dir Scheme Procedure
scm_sys_package_data_dir () C Function
Return the name of the directory under which Guile Scheme files in general are stored. On Unix-like systems, this is usually /usr/local/share/guile or /usr/share/guile.

%library-dir Scheme Procedure
scm_sys_library_dir () C Function
Return the name of the directory where the Guile Scheme files that belong to the core Guile installation (as opposed to files from a 3rd party package) are installed. On Unix-like systems, this is usually /usr/local/share/guile/<VERSION> or /usr/share/guile/<VERSION>, for example: /usr/local/share/guile/1.6.0.

%site-dir Scheme Procedure
scm_sys_site_dir () C Function
Return the name of the directory where Guile Scheme files specific to your site should be installed. On Unix-like systems, this is usually /usr/local/share/guile/site or /usr/share/guile/site.

%load-path Variable
List of directories which should be searched for Scheme modules and libraries. %load-path is initialized when Guile starts up to (list (%site-dir) (%library-dir) (%package-data-dir) "."), prepended with the contents of the GUILE_LOAD_PATH environment variable, if it is set.

parse-path path [tail] Scheme Procedure
scm_parse_path (path, tail) C Function
Parse path, which is expected to be a colon-separated string, into a list and return the resulting list with tail appended. If path is #f, tail is returned.

search-path path filename [extensions] Scheme Procedure
scm_search_path (path, filename, extensions) C Function
Search path for a directory containing a file named filename. The file must be readable, and not a directory. If we find one, return its full filename; otherwise, return #f. If filename is absolute, return it unchanged. If given, extensions is a list of strings; for each directory in path, we search for filename concatenated with each extension.

%guile-build-info Variable
Alist of information collected during the building of a particular Guile. Entries can be grouped into one of several categories: directories, env vars, and versioning info.

Briefly, here are the keys in %guile-build-info, by group:

srcdir, top_srcdir, prefix, exec_prefix, bindir, sbindir, libexecdir, datadir, sysconfdir, sharedstatedir, localstatedir, libdir, infodir, mandir, includedir, pkgdatadir, pkglibdir, pkgincludedir
env vars
versioning info
guileversion, libguileinterface, buildstamp

Values are all strings. The value for LIBS is typically found also as a part of "guile-config link" output. The value for guileversion has form X.Y.Z, and should be the same as returned by (version). The value for libguileinterface is libtool compatible and has form CURRENT:REVISION:AGE. The value for buildstamp is the output of the date(1) command.

In the source, %guile-build-info is initialized from libguile/libpath.h, which is completely generated, so deleting this file before a build guarantees up-to-date values for that build.