package b0

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module B0_ocaml.CobjSource

Compiled object information.

Sourceval archive_ext_of_code : Code.t -> B0_std.Fpath.ext

archive_ext_of_code code is .cma or .cmxa according to code.

Sourceval object_ext_of_code : Code.t -> B0_std.Fpath.ext

object_ext_of_code code is .cmo or .cmx according to code.

Compilation objects

Sourcetype t

The type for compilation objects. This can represent one of a cmi, cmti, cmo, cmx, cmt, cma or cmxa file.

Sourceval file : t -> B0_std.Fpath.t

file c is the file path of c.

Sourceval defs : t -> Modref.Set.t

defs c are the modules defined by c. If there's more than one you are looking an archive.

Sourceval deps : t -> Modref.Set.t

deps c is the set of modules needed by defs c. More precisely these are the module interfaces imported by c. See also link_deps.

link_deps c is the set of modules needed to link defs c.

Note. Unclear whether this is the right data. Basically these are the module references that of deps whose name is in the required globals (bytecode) or imported implementations (native code) as reported by ocamlobjinfo. Initially we'd use deps for link dependencies but it turns out that this may break on certain install structures. It's unclear whether we need both deps and link_deps and/or if that's the correct information.

pp formats an compilation object.

Sourceval sort : ?deps:(t -> Modref.Set.t) -> t list -> t list * Modref.Set.t

sort ~deps cobjs is cobjs stable sorted in dependency order according to deps (defaults to link_deps), tupled with external dependencies needed by cobjs.

Sourceval equal : t -> t -> bool

equal c0 c1 is Fpath.equal (file c0) (file c1).

Sourceval compare : t -> t -> int

compare is a total order on compilation objects compatible with equal.

Sourcemodule Set : Set.S with type elt = t

Compilation objects sets.

Sourcemodule Map : Map.S with type key = t

Compilation objectx maps.

IO

Sourceval write : B0_memo.t -> cobjs:B0_std.Fpath.t list -> o:B0_std.Fpath.t -> unit

write m ~cobjs o writes information about the compilation cobjs to o.

read m file has the cobjs of a write to file.

Sourceval of_string : ?file:B0_std.Fpath.t -> string -> (t list, string) result

of_string ~file data parses compilation object information from data as output by Tool.ocamlobjinfo assuming it was read from file (defaults to B0_std.Fpath.dash).