package b0

  1. Overview
  2. Docs
Software construction and deployment kit

Install

dune-project
 Dependency

Authors

Maintainers

Sources

b0-0.0.6.tbz
sha512=e9aa779e66c08fc763019f16d4706f465d16c05d6400b58fbd0313317ef33ddea51952e2b058db28e65f7ddb7012f328c8bf02d8f1da17bb543348541a2587f0

doc/b0.file/B0_ocaml/Cobj/index.html

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).