sig
  type t = BExec | BExecLib | BLib | BObj | BDoc
  val register :
    ctxt:OASISContext.t ->
    BaseBuilt.t ->
    OASISTypes.name -> OASISTypes.host_filename list list -> unit
  val unregister :
    ctxt:OASISContext.t -> BaseBuilt.t -> OASISTypes.name -> unit
  val fold :
    ctxt:OASISContext.t ->
    BaseBuilt.t ->
    OASISTypes.name -> ('-> OASISTypes.host_filename -> 'a) -> '-> 'a
  val is_built :
    ctxt:OASISContext.t -> BaseBuilt.t -> OASISTypes.name -> bool
  val of_executable :
    (OASISTypes.unix_filename -> OASISTypes.host_filename) ->
    OASISTypes.common_section * OASISTypes.build_section *
    OASISTypes.executable ->
    (BaseBuilt.t * OASISTypes.name * OASISTypes.host_filename list list) list *
    OASISTypes.unix_filename * OASISTypes.unix_filename option
  val of_library :
    (OASISTypes.unix_filename -> OASISTypes.host_filename) ->
    OASISTypes.common_section * OASISTypes.build_section * OASISTypes.library ->
    (BaseBuilt.t * OASISTypes.name * OASISTypes.host_filename list list) list *
    OASISTypes.unix_filename list list
  val of_object :
    (OASISTypes.unix_filename -> OASISTypes.host_filename) ->
    OASISTypes.common_section * OASISTypes.build_section * OASISTypes.object_ ->
    (BaseBuilt.t * OASISTypes.name * OASISTypes.host_filename list list) list *
    OASISTypes.unix_filename list list
end