Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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  ab-
       solute 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)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=site-lib&sektion=5&manpath=FreeBSD+Ports+14.3.quarterly>

home | help