You are viewing a development version of the library. Goto the latest version.

Module OASISLibrary

module OASISLibrary: sig .. end
Library section
Author(s): Sylvain Le Gall

type library_name = 
type findlib_part_name = 
type 'a map_of_findlib_part_name = 'a OASISUtils.MapString.t 
exception InternalLibraryNotFound of library_name
exception FindlibPackageNotFound of OASISTypes.findlib_name
val source_unix_files : ctxt:OASISContext.t ->
OASISTypes.common_section * OASISTypes.build_section * OASISTypes.library ->
(OASISTypes.unix_filename -> bool) ->
(OASISTypes.unix_filename * OASISTypes.unix_filename list) list
source_unix_files (cs, bs, lib) source_file_exists Source files for this library. The first part of the tuple is the file without extenstion for modules and the second part is the source files matching (e.g. .ml and .mli).
val generated_unix_files : ctxt:OASISContext.t ->
is_native:bool ->
has_native_dynlink:bool ->
ext_lib:string ->
ext_dll:string ->
source_file_exists:(OASISTypes.unix_filename -> bool) ->
OASISTypes.common_section * OASISTypes.build_section * OASISTypes.library ->
OASISTypes.unix_filename list list
generated_unix_files ~ctxt source_file_exists has_native_dynlink is_native ext_lib ext_dll (cs, bs, lib) Compute all files expected by a build of the library. For each file a list of alternatives is provided.

type group_t =
| Container of findlib_part_name * group_t list
| Package of (findlib_part_name * OASISTypes.common_section *
OASISTypes.build_section * OASISTypes.library * group_t list)
Library groups are organized in trees.
val findlib_mapping : OASISTypes.package ->
group_t list *
(library_name -> OASISTypes.findlib_name) *
(OASISTypes.findlib_name -> library_name)
Compute groups of libraries, associate root libraries with a tree of its children. A group of libraries is defined by the fact that these libraries have a parental relationship and must be installed together, with the same META file.
val findlib_of_group : group_t -> OASISTypes.findlib_name
Return the findlib root name of a group, it takes into account containers. So the return group name is the toplevel name for both libraries and theirs containers.
val root_of_group : group_t ->
OASISTypes.common_section * OASISTypes.build_section * OASISTypes.library
Return the root library, i.e. the first found into the group tree that has no parent.
val schema : (OASISTypes.common_section * OASISTypes.build_section * OASISTypes.library)
Schema for the section. Not exported.