package dune-build-info

  1. Overview
  2. Docs
Embed build information inside executable

Install

Dune Dependency

Authors

Maintainers

Sources

dune-3.18.2.tbz
sha256=56be509ffc3c5ba652113d9e6b43edb04a691f1e1f6cbba17b9d243b1239a7af
sha512=ee04a0c4ab946817018c78cd9b19c8d3082ee3b1cef78c699fff4ea37fd79543823a9751d0b945d2fd1783396ceded045cbec986a85f7a8f7bac93e04650fff3

doc/index.html

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

API documentation

The entry point for this library is Build_info.V1.

OCaml

Innovation. Community. Security.