Man Linux: Main Page and Category List

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.