Blame doc/src/findlib_mli.mod

Packit b513ef
<refentry>
Packit b513ef
Packit b513ef
<refmeta>
Packit b513ef
  <refentrytitle>Findlib</refentrytitle>
Packit b513ef
  <manvolnum>3</manvolnum>
Packit b513ef
  <refmiscinfo>The findlib package manager for OCaml</refmiscinfo>
Packit b513ef
</refmeta>
Packit b513ef
Packit b513ef
<refnamediv id="Findlib">
Packit b513ef
  <refname>Findlib</refname>
Packit b513ef
  <refpurpose>[Module for package management]</refpurpose>
Packit b513ef
</refnamediv>
Packit b513ef
Packit b513ef
Packit b513ef
<refsynopsisdiv>
Packit b513ef
<title>SIGNATURE</title>
Packit b513ef
<synopsis>
Packit b513ef
module Findlib :
Packit b513ef
  sig
Packit b513ef
    
Packit b513ef
          endterm="val.Findlib.package-directory"></link>
Packit b513ef
    
Packit b513ef
          endterm="val.Findlib.package-property"></link>
Packit b513ef
    
Packit b513ef
          endterm="val.Findlib.package-ancestors"></link>
Packit b513ef
    
Packit b513ef
          endterm="val.Findlib.package-deep-ancestors"></link>
Packit b513ef
    
Packit b513ef
          endterm="val.Findlib.default-location"></link>
Packit b513ef
Packit b513ef
    (* Note: This signature is incomplete. See findlib.mli for the
Packit b513ef
     * full signature.
Packit b513ef
     *)
Packit b513ef
Packit b513ef
  end
Packit b513ef
</synopsis>
Packit b513ef
</refsynopsisdiv>
Packit b513ef
Packit b513ef
Packit b513ef
<refsect1>
Packit b513ef
<title>PACKAGING</title>
Packit b513ef
Packit b513ef
<para>
Packit b513ef
The Findlib module is part of the "findlib" package. In order to link
Packit b513ef
it in, it is sufficient to link "findlib" in, e.g.
Packit b513ef
</para>
Packit b513ef
Packit b513ef
<programlisting>
Packit b513ef
ocamlfind ocamlc <replaceable>options</replaceable> -package findlib -linkpkg <replaceable>options</replaceable>
Packit b513ef
</programlisting>
Packit b513ef
Packit b513ef
<para>
Packit b513ef
There are archives for the bytecode compiler and for the native
Packit b513ef
compiler; for single-threaded and for multi-threaded applications, and
Packit b513ef
there is a special addition for toploops.
Packit b513ef
</para>
Packit b513ef
</refsect1>
Packit b513ef
Packit b513ef
Packit b513ef
<refsect1>
Packit b513ef
<title>DESCRIPTION</title>
Packit b513ef
Packit b513ef
<para>
Packit b513ef
The Findlib module is the primary interface of the findlib library. It
Packit b513ef
contains functions to lookup packages, to interpret 
Packit b513ef
linkend="META" endterm="META"> files, and to determine the ancestors of
Packit b513ef
packages.
Packit b513ef
</para>
Packit b513ef
Packit b513ef
Packit b513ef
<refsect2>
Packit b513ef
<title><anchor id="Findlib.package-directory">
Packit b513ef
Findlib.package_directory <replaceable>pkg</replaceable></title>
Packit b513ef
<programlisting id="val.Findlib.package-directory">
Packit b513ef
val package_directory : string -> string
Packit b513ef
</programlisting>
Packit b513ef
<para>
Packit b513ef
Gets the absolute path of the directory where the package
Packit b513ef
<replaceable>pkg</replaceable> is stored. The exception Not_found is
Packit b513ef
raised if the package could not be found.
Packit b513ef
Other exceptions may occur as file I/O is done.
Packit b513ef
</para>
Packit b513ef
</refsect2>
Packit b513ef
Packit b513ef
Packit b513ef
Packit b513ef
<refsect2>
Packit b513ef
<title><anchor id="Findlib.package-property">
Packit b513ef
Findlib.package_property <replaceable>predicates</replaceable>
Packit b513ef
<replaceable>pkg</replaceable> <replaceable>variable</replaceable>
Packit b513ef
</title>
Packit b513ef
<programlisting id="val.Findlib.package-property">
Packit b513ef
val package_property : string list -> string -> string -> string
Packit b513ef
</programlisting>
Packit b513ef
<para>
Packit b513ef
Determines the value of the <replaceable>variable</replaceable>
Packit b513ef
defined in the <xref linkend="META" endterm="META"> file of package
Packit b513ef
<replaceable>pkg</replaceable> with the given set of
Packit b513ef
<replaceable>predicates</replaceable>. The exception Not_found is
Packit b513ef
raised if the package or the variable could not be found.  Other
Packit b513ef
exceptions may occur as file I/O is done.
Packit b513ef
</para>
Packit b513ef
<refsect3>
Packit b513ef
<title>Examples</title>
Packit b513ef
<para>
Packit b513ef
Get the value of the "requires" variable of package "p" with an empty
Packit b513ef
set of predicates:
Packit b513ef
</para>
Packit b513ef
<programlisting>
Packit b513ef
Findlib.package_property [] "p" "requires"
Packit b513ef
</programlisting>
Packit b513ef
<para>
Packit b513ef
Get the value of the "archive" variable of package "p" for
Packit b513ef
multi-threaded bytecode applications:
Packit b513ef
</para>
Packit b513ef
<programlisting>
Packit b513ef
Findlib.package_property [ "mt"; "byte" ] "p" "archive"
Packit b513ef
</programlisting>
Packit b513ef
</refsect3>
Packit b513ef
</refsect2>
Packit b513ef
Packit b513ef
Packit b513ef
Packit b513ef
<refsect2>
Packit b513ef
<title><anchor id="Findlib.package-ancestors">
Packit b513ef
Findlib.package_ancestors <replaceable>predicates</replaceable>
Packit b513ef
  <replaceable>pkg</replaceable>
Packit b513ef
</title>
Packit b513ef
<programlisting id="val.Findlib.package-ancestors">
Packit b513ef
val package_ancestors : string list -> string -> string list
Packit b513ef
</programlisting>
Packit b513ef
<para>
Packit b513ef
Determines the direct ancestors of package
Packit b513ef
<replaceable>pkg</replaceable> for the set of
Packit b513ef
<replaceable>predicates</replaceable>. The returned list has no
Packit b513ef
specific order. The exception Not_found is raised if the package could
Packit b513ef
not be found. The exception Failure is raised if one of the ancestors
Packit b513ef
could not be found, or if a circular dependency has been
Packit b513ef
detected. Other exceptions may occur as file I/O is done.
Packit b513ef
</para>
Packit b513ef
</refsect2>
Packit b513ef
Packit b513ef
Packit b513ef
Packit b513ef
<refsect2>
Packit b513ef
<title><anchor id="Findlib.package-deep-ancestors">
Packit b513ef
Findlib.package_deep_ancestors <replaceable>predicates</replaceable>
Packit b513ef
  <replaceable>pkglist</replaceable>
Packit b513ef
</title>
Packit b513ef
<programlisting id="val.Findlib.package-deep-ancestors">
Packit b513ef
val package_deep_ancestors : string list -> string list -> string list
Packit b513ef
</programlisting>
Packit b513ef
<para>
Packit b513ef
Determines the list of direct or indirect ancestors of the packages in
Packit b513ef
<replaceable>pkglist</replaceable> for the set of
Packit b513ef
<replaceable>predicates</replaceable>. The returned list is
Packit b513ef
topologically sorted.
Packit b513ef
The exception Not_found is raised if the package could
Packit b513ef
not be found. The exception Failure is raised if one of the ancestors
Packit b513ef
could not be found, or if a circular dependency has been
Packit b513ef
detected. Other exceptions may occur as file I/O is done.
Packit b513ef
</para>
Packit b513ef
</refsect2>
Packit b513ef
Packit b513ef
Packit b513ef
Packit b513ef
<refsect2>
Packit b513ef
<title><anchor id="Findlib.default-location">
Packit b513ef
Findlib.default_location ()</title>
Packit b513ef
<programlisting id="val.Findlib.default-location">
Packit b513ef
val default_location : unit -> string
Packit b513ef
</programlisting>
Packit b513ef
<para>
Packit b513ef
Gets the default location where new packages will be installed.
Packit b513ef
</para>
Packit b513ef
</refsect2>
Packit b513ef
Packit b513ef
</refsect1>
Packit b513ef
Packit b513ef
</refentry>
Packit b513ef