This module gives access to the same version/build information returned by
Command
-based executables when called with the -version
or -build-info
flags
by $0 version (-build-info | -version)
or $0 (-build-info | -version)
.
Here's how it works: we arrange for the build system to, at link time, include an
object file that defines symbols that version_util.ml uses to get the strings that
contain the information that this module provides. When building with OMake, our
OMakeroot runs build_info.sh to generate *.build_info.c with the symbols and that is
linked in.
val version_list : Core_kernel__.Import.string Core_kernel__.Import.list
same as version
, but one string per line
val arg_spec : (Core_kernel__.Import.string * Arg.spec * Core_kernel__.Import.string) Core_kernel__.Import.list
module Application_specific_fields : sig ... end
Application_specific_fields
is a single field in the build-info sexp that holds
a Sexp.t String.Map.t
, which can be chosen by the application to hold custom
fields that it needs.
val build_info : Core_kernel__.Import.string
various additional information about the circumstances of the build: who built it, when, on what machine, etc.
val build_info_as_sexp : Core_kernel__.Std_internal.Sexp.t
val username : Core_kernel__.Import.string Core_kernel__.Import.option
val hostname : Core_kernel__.Import.string Core_kernel__.Import.option
val kernel : Core_kernel__.Import.string Core_kernel__.Import.option
val build_date : Core_kernel.Date.t Core_kernel__.Import.option
val build_time : Core_kernel__.Time_float.Ofday.t Core_kernel__.Import.option
val x_library_inlining : Core_kernel__.Import.bool
val dynlinkable_code : Core_kernel__.Import.bool
val compiled_for_speed : Core_kernel__.Import.bool
val application_specific_fields : Application_specific_fields.t Core_kernel__.Import.option
val ocaml_version : Core_kernel__.Import.string
val build_system : Core_kernel__.Import.string