Version_util
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.
module Version : sig ... end
Version
may be used to parse a single entry from version_list
.
val arg_spec : (string * Core_kernel.Arg.spec * string) 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.
Various additional information about the circumstances of the build: who built it, when, on what machine, etc. build_info
is the information as it was generated by the build system. reprint_build_info
parses and prints the string back, which alters a bit the layout and order of the fields but more importantly allows to display times in the current zone.
val build_info_as_sexp : Core_kernel.Sexp.t
val reprint_build_info : (Core_kernel.Time.t -> Core_kernel.Sexp.t) -> string
val build_time : Core_kernel.Time.t option
val application_specific_fields : Application_specific_fields.t option
val with_fdo : (string * Core_kernel.Md5.t option) option
module For_tests : sig ... end