Legend:
Library
Module
Module type
Parameter
Class
Class type
dune-build-info - access information generated at build time.
Introduction
This library exposes some functions to query pieces of information generated at build time, in particular:
the version of the project being built. You can use dune-build-info to implement a --version flag.
the list of libraries an executable is linked against. You can use dune-build-info to write a --build-info flag that will display a software bill of materials listing the libraries used to build an executable.
Example
This displays the version number and the libraries the executable is statically linked with:
let version_string v =
match Build_info.V1.version v with
| None -> "n/a"
| Some v -> Build_info.V1.Version.to_string v
in
let version = Build_info.V1.version ();
Printf.printf "version: %s\n" (version_string version);
let libs = Build_info.V1.Statically_linked_libraries.to_list () in
Printf.printf "statically linked libraries:\n";
List.iter
(fun lib ->
let name = Build_info.V1.Statically_linked_library.name lib in
let version = Build_info.V1.Statically_linked_library.version lib in
Printf.printf "- %s (%s)\n" name (version_string version)
) libs