6.23.1 Configuration, Build and Installation

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

Scheme Procedure: version
Scheme Procedure: effective-version
Scheme Procedure: major-version
Scheme Procedure: minor-version
Scheme Procedure: micro-version
C Function: scm_version ()
C Function: scm_effective_version ()
C Function: scm_major_version ()
C Function: scm_minor_version ()
C Function: scm_micro_version ()

Return a string describing Guile’s full version number, effective version number, major, minor or micro version number, respectively. The effective-version function 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/3.0/

(version) ⇒ "3.0.0"
(effective-version) ⇒ "3.0"
(major-version) ⇒ "3"
(minor-version) ⇒ "0"
(micro-version) ⇒ "0"
Scheme Procedure: %package-data-dir
C Function: scm_sys_package_data_dir ()

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.

Scheme Procedure: %library-dir
C Function: scm_sys_library_dir ()

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/3.0.

Scheme Procedure: %site-dir
C Function: scm_sys_site_dir ()

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.

Scheme Procedure: %site-ccache-dir
C Function: scm_sys_site_ccache_dir ()

Return the directory where users should install compiled .go files for use with this version of Guile. Might look something like /usr/lib/guile/3.0/site-ccache.

Variable: %guile-build-info

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:

directories

srcdir, top_srcdir, prefix, exec_prefix, bindir, sbindir, libexecdir, datadir, sysconfdir, sharedstatedir, localstatedir, libdir, infodir, mandir, includedir, pkgdatadir, pkglibdir, pkgincludedir

env vars

LIBS

versioning info

guileversion, libguileinterface, buildstamp

Values are all strings. The value for LIBS is typically found also as a part of pkg-config --libs guile-3.0 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 (see Library interface versions in GNU Libtool). The value for buildstamp is the output of the command ‘date -u +'%Y-%m-%d %T'’ (UTC).

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.

Variable: %host-type

The canonical host type (GNU triplet) of the host Guile was configured for, e.g., "x86_64-unknown-linux-gnu" (see Canonicalizing in The GNU Autoconf Manual).