The following procedures and variables provide information about how Guile was configured, built and installed on your system.
Return a string describing Guile's full version number, effective version number, major, minor or micro version number, respectively. The
effective-versionfunction returns the version name that should remain unchanged during a stable series. Currently that means that it omits the micro version. The effective version should be used for items like the versioned share directory name i.e. /usr/share/guile/1.6/(version) ⇒ "1.6.0" (effective-version) ⇒ "1.6" (major-version) ⇒ "1" (minor-version) ⇒ "6" (micro-version) ⇒ "0"
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.
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/<GUILE_EFFECTIVE_VERSION> or /usr/share/guile/<GUILE_EFFECTIVE_VERSION>, for example: /usr/local/share/guile/1.6.
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.
List of directories which should be searched for Scheme modules and libraries.
%load-pathis 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, 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 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.
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
LIBSis typically found also as a part of "guile-config link" output. The value for
guileversionhas form X.Y.Z, and should be the same as returned by
(version). The value for
libguileinterfaceis libtool compatible and has form CURRENT:REVISION:AGE (see Library interface versions). The value for
buildstampis the output of the date(1) command.
In the source,
%guile-build-infois initialized from libguile/libpath.h, which is completely generated, so deleting this file before a build guarantees up-to-date values for that build.