bionic (5) site-lib.5.gz

Provided by: ocaml-findlib_1.7.3-2_amd64 bug

NAME

       site-lib - [Location of package directories]

STANDARD LAYOUT

       ...somewhere in the filesystem hierarchy...
          |
          \
            site-lib
            |
            +- (optional) stublibs
            +- (optional) postinstall
            +- (optional) postremove
            |
            +- package1
            |  |
            |  +- META
            |  +- archive files
            |  +- interface definitions
            |
            +- package2
            +
            :
            :
            \
               packageN

DESCRIPTION

       Every  installation  of  "findlib"  has  a  default location for package directories, which is normally a
       directory called "site-lib". The location can be set by the configuration variables path (used to look up
       packages), and destdir (used to install new packages); see findlib.conf.

       The    name    of   a   package   is   the   name   of   the   package   directory.   For   example,   if
       destdir=/usr/local/lib/ocaml/site-lib,  the  package  p   will   be   installed   in   the   subdirectory
       /usr/local/lib/ocaml/site-lib/p.  This  subdirectory  must  contain  the  META  file  and all other files
       belonging to the package. Package names must not contain the '.' character.

       The variable destdir specifies the directory for new packages. You can only have one such directory at  a
       time; but of course you can change this directory in findlib.conf. The command ocamlfind install puts new
       packages into this directory; it is recommended to use this command for installation because  it  ensures
       that the directory layout is right.

       For  searching  packages,  findlib uses (only) the variable path which may name several locations to look
       at.

       For systems with DLL support another directory may exist: stublibs.   If present,  findlib  will  install
       DLLs  into this directory that is shared by all packages at the same site-lib location. Findlib remembers
       which DLL belongs to which package  by  special  files  with  the  suffix  ".owner";  e.g.  for  the  DLL
       "dllpcre.so" there is another file "dllpcre.so.owner" containing the string "pcre", so findlib knows that
       the package "pcre" owns this DLL. It is not possible that a DLL is owned by several packages.

       If the stublibs directory does not exist, DLLs are installed regularly in the  package  directories  like
       any other file.

       For  special  needs, a postinstall and/or a postremove script may be installed in the site-lib directory.
       These scripts are invoked after installation or removal of a package, respectively.

ALTERNATE LAYOUT

       ...somewhere in the filesystem hierarchy...
          |
          \
            site-lib
            |
            +- (optional) stublibs
            +- (optional) postinstall
            +- (optional) postremove
            |
            +- package1
            |  |
            |  +- archive files
            |  +- interface definitions
            |
            +- package2
            +
            :
            :
            \
         :     packageN
         |
         \
           metaregistry
           |
           +- META.package1
           +- META.package2
           +
           :
           \
              META.packageN

       This is an alternate directory layout collecting all META files in one directory. You can configure  this
       layout  by  setting path to the absolute location of metaregistry. Findlib recognizes that there are META
       files in this directory and uses them; it is not necessary to include site-lib into the path.

       In order to work, the META files must contain a directory directive pointing to the corresponding package
       directory that resides below site-lib.

       The command ocamlfind install copes with this layout, too. The variable destdir must contain the absolute
       location of site-lib, and the variable metadir must contain the absolute location of  metaregistry.  Note
       that  ocamlfind  install automatically adds a directory directive to the META file, so you need not do it
       manually.