Module Ocaml_arch


module Ocaml_arch: sig .. end


type 'a arch =
| Arch_dir of string * 'a * 'a arch list
| Arch_dir_pack of string * 'a * 'a arch list
| Arch_file of string * 'a
val dir : string -> unit arch list -> unit arch
val dir_pack : string -> unit arch list -> unit arch
val file : string -> unit arch

type info = {
   current_path : string;
   include_dirs : string list;
   for_pack : string;
}
val join_pack : string -> string -> string
val annotate : 'a arch -> info arch
val print : (Format.formatter -> 'a -> unit) ->
Format.formatter -> 'a arch -> unit
val print_include_dirs : Format.formatter -> string list -> unit
val print_info : Format.formatter -> info -> unit
val iter_info : ('a -> unit) -> 'a arch -> unit
val fold_info : ('a -> 'b -> 'b) -> 'a arch -> 'b -> 'b
module SS: My_std.Set.Make(My_std.String)
val iter_include_dirs : info arch -> (SS.elt -> unit) -> unit
val forpack_flags_of_pathname : Pathname.t -> Command.spec
val print_table : (Format.formatter -> 'a -> unit) ->
Format.formatter -> (string, 'a) Hashtbl.t -> unit
val print_tables : Format.formatter ->
(string, string list) Hashtbl.t * (string, string) Hashtbl.t -> unit
val mk_tables : info arch ->
(string, string list) Hashtbl.t * (Pathname.t, string) Hashtbl.t
val forpack_flags_of_pathname : Pathname.t -> Command.spec