You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.1 KiB
43 lines
1.1 KiB
(*
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*)
|
|
|
|
(** Version information populated by build system *)
|
|
|
|
let debug =
|
|
let d = ref false in
|
|
assert (
|
|
d := true ;
|
|
true ) ;
|
|
!d
|
|
|
|
module B = Build_info.V1
|
|
|
|
let version_to_string v =
|
|
Option.value_map ~f:B.Version.to_string v ~default:"dev"
|
|
|
|
let version =
|
|
version_to_string (B.version ()) ^ if debug then "-dbg" else ""
|
|
|
|
let build_info =
|
|
let libs =
|
|
List.map (B.Statically_linked_libraries.to_list ()) ~f:(fun lib ->
|
|
( B.Statically_linked_library.name lib
|
|
, version_to_string (B.Statically_linked_library.version lib) ) )
|
|
|> List.sort ~compare:[%compare: string * string]
|
|
in
|
|
let max_length =
|
|
List.fold_left libs ~init:0 ~f:(fun n (name, _) ->
|
|
max n (String.length name) )
|
|
in
|
|
String.concat ~sep:"\n"
|
|
( "ocaml:"
|
|
:: Sys.ocaml_version
|
|
:: "statically linked libraries:"
|
|
:: List.map libs ~f:(fun (name, v) ->
|
|
Printf.sprintf "- %-*s %s" max_length name v )
|
|
@ ["version:"] )
|