dwww Home | Manual pages | Find package

site-lib(5)                   File Formats Manual                  site-lib(5)

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 di-
       rectories, which is normally a directory called "site-lib".  The  loca-
       tion  can  be  set by the configuration variables path (used to look up
       packages), and destdir  (used  to  install  new  packages);  see  find-
       lib.conf.

       The  name  of a package is the name of the package directory. For exam-
       ple, 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  in-
       stalled  in the site-lib directory. These scripts are invoked after in-
       stallation 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 abso-
       lute 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 vari-
       able 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.

User Manual          The findlib package manager for OCaml         site-lib(5)

Generated by dwww version 1.15 on Sat Jun 22 12:57:34 CEST 2024.