Provided by: ocaml-man_5.3.0-2_all bug

NAME

       Linkdeps - no description

Module

       Module   Linkdeps

Documentation

       Module Linkdeps
        : sig end

       type t

       The state of the linking check.  It keeps track of compilation units provided and required so far.

       type compunit = string

       type filename = string

       val create : complete:bool -> t

       create  ~complete returns an empty state. If complete is true , missing compilation units will be treated
       as errors.

       val add : t -> filename:filename -> compunit:compunit -> provides:compunit list -> requires:compunit list
       -> unit

       add t ~filename ~compunit ~provides ~requires registers the compilation unit compunit found  in  filename
       to t .

       - provides are units and sub-units provided by compunit

       - requires are units required by compunit

       add should be called in reverse topological order.

       val required : t -> compunit -> bool

       required t compunit returns true if compunit is a dependency of previously added compilation units.

       type compunit_and_source = {
        compunit : compunit ;
        filename : filename ;
        }

       type error =
        | Missing_implementations of (compunit * compunit_and_source list) list
        | Wrong_link_order of (compunit_and_source * compunit_and_source list) list
        | Multiple_definitions of (compunit * filename list) list

       val check : t -> error option

       check  t  should  be called once all the compilation units to be linked have been added.  It returns some
       error if:

       -There are some missing implementations and complete is true

       -Some implementation appear before their dependencies

       val report_error : print_filename:string Format_doc.printer -> error Format_doc.format_printer

       val report_error_doc : print_filename:string Format_doc.printer -> error Format_doc.printer

OCamldoc                                           2025-01-27                                       Linkdeps(3o)