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

FreeBSD Manual Pages

  
 
  

home | help
findlib.conf(5) 	       File Formats Manual		 findlib.conf(5)

NAME
     findlib.conf - [Configuration of findlib/ocamlfind]

GENERAL
     There are three possibilities to configure the findlib library:

       Build time:

	    Before  findlib is compiled, a "configure" script is invoked to fig-
	    ure  out the settings that are most likely to work	on  the  system.
	    Most   settings are simply entered into text files and can easily be
	    changed  after installation.  The  following  properties  cannot  be
	    changed  later    because they are compiled into the resulting bina-
	    ries:

		*  The default location of the configuration file  findlib.conf.
		   However,  you can set a different location by the environment
		   variable  OCAMLFIND_CONF.

		*  Whether  the  installed OCaml version supports autolinking or
		   not.

       Configuration file findlib.conf:

	    An initial version of  this  file  is  generated  by  the  configure
	    script,    but you are free to modify it later. Most important, this
	    file  contains the system-wide search path used to look up packages,
	    and the  default location where to install new packages.

	    All files with the suffix ".conf" found  in  the  directory    find-
	    lib.conf.d are also scanned for parameters.

       Environment variables:

	    The  settings of findlib.conf can be overridden by environment vari-
	    ables.

     Last but not least, several settings can also be passed as command-line op-
     tions, or by invoking the function Findlib.init.

findlib.conf
     The directory containing findlib.conf is determined at build time (by  run-
     ning the configure script), the fallback default is /usr/local/etc. You can
     set   a   different   location   by   changing   the  environment	variable
     OCAMLFIND_CONF which must contain the absolute path of findlib.conf.

     The file has the same syntax as META, i.e. it consists of a number of lines
     with the format

     variable = "value"

     Here is the list of allowed variables:

       path

	    The search path for META files/package directories.  The  variable
	    enumerates	directories  which  are  separated  by colons (Windows:
	    semicolons), and these directories are tried in turn to find a  cer-
	    tain    package.  More  exactly,  if d is such a directory and p the
	    searched  package, the search algorithm  will  first  check  whether
	    d/p/META   exists. In this case, this META file is taken, and d/p is
	    the package  directory. Second, the algorithm  tries  d/META.p,  but
	    the  package   directory must be specified in this META.p file by a
	    directory directive.

	    Note that the first found META file is taken, so the order of  the
	    directories in the search path counts.

	    This variable is required.

	    Example:

	    path = "/usr/local/lib/ocaml/site-lib:/usr/lib/ocaml/site-lib"

       destdir

	    This  variable determines the location where ocamlfind  install puts
	    the packages by default: If d is this  directory, and p the  package
	    to	install,  a new subdirectory d/p will  be created containing all
	    the files of the package.

	    Example:

	    destdir = "/usr/local/lib/ocaml/site-lib"

	    This variable is required.

       metadir

	    If set, the command ocamlfind install will put the	 META  files  of
	    packages  into this directory (files are named META.p  where p=pack-
	    age name); otherwise the META files are put into the  package direc-
	    tories like any other file.

	    Example:

	    metadir = "/var/lib/findlib/metaregistry"

	    This variable is optional. It is not used by default.

       ocamlc,	ocamlopt,  ocamlcp,  ocamlmktop,  ocamldoc,  ocamldep,	  ocaml-
       browser

	    If	you  want  to call other executables than "ocamlc", "ocamlopt",
	    "ocamlcp",	"ocamlmktop",  "ocamldoc",  "ocamldep",  and	 "ocaml-
	    browser",  you can	set the names of  the executables here. The com-
	    mand ocamlfind looks  into these four  variables  to  determine  the
	    names of the compilers to  call.

	    Example:

	    ocamlc     = "ocamlc.opt"
	    ocamlopt   = "ocamlopt.opt"
	    ocamlcp    = "ocamlcp.opt"
	    ocamlmktop = "ocamlmktop.opt"

	    This variable is optional. It is not used by default.

       stdlib

	    This  variable determines the location of the standard library. This
	    must  be the same directory for which the OCaml compilers  are  con-
	    figured.

	    This variable is optional. It is not recommend to set this variable
	    unless you know what you are doing!

       ldconf

	    This variable determines the location of the ld.conf file. This must
	      be  the  same file the OCaml compilers read in; it is updated by
	    ocamlfind when installing and removing packages. You can set  this
	    variable  to  the  special	value "ignore" to disable  the automatic
	    modification of the ld.conf file.

	    If not set, the ld.conf file is assumed to	reside	in  the  OCaml
	    standard library directory.

	    This  variable  is optional. It is not recommended to set this vari-
	    able  unless you know what you are doing!

     Toolchains: It is possible to have variants of the original  configuration.
     These  variants are called "toolchains" because they are intended to select
     different compilers, e.g. patched compilers. In order to set a variable for
     a certain toolchain, use the syntax

     variable(toolchain) = "value"
       For example:

     ocamlc(mypatch) = "ocamlc-mypatch"
       When the toolchain "mypatch" is selected, this compiler will be used  in-
     stead of the standard one.

     In  order	to  switch  to a certain toolchain, use the -toolchain option of
     ocamlfind.

Environment
     A	number	of  environment  variables  modifies  the  behaviour  of   find-
     lib/ocamlfind:

       OCAMLFIND_CONF

	    This  variable  overrides  the  location  of the configuration file
	    findlib.conf. It must contain the absolute path name of this file.

       OCAMLFIND_TOOLCHAIN

	    This variable sets the currently selected toolchain when   a  -tool-
	    chain option is not passed	on the command line.

       OCAMLPATH

	    This variable may contain an additional search path for package  di-
	    rectories.	It  is	treated as if the directories were prepended to
	    the configuration variable path.

       OCAMLFIND_DESTDIR

	    This variable overrides the configuration variable	destdir.

       OCAMLFIND_METADIR

	    This variable overrides the configuration variable	metadir.

       OCAMLFIND_COMMANDS

	    This variable overrides the configuration variables   ocamlc,  ocam-
	    lopt,    ocamlcp,  ocamlmktop,    ocamldoc, ocamldep, and/or  ocaml-
	    browser.	Its value must conform to the syntax

	    ocamlc=name ocamlopt=name ocamlcp=name ocamlmktop=name ocamldoc=name ocamldep=name ocamlbrowser=name

	    Example:

	    ocamlc=ocamlc-3.00 ocamlopt=ocamlopt-3.00 ocamlcp=ocamlcp-3.00 ocamlmktop=ocamlmktop-3.00

       CAMLLIB or OCAMLLIB

	    This variable overrides the configuration variable	stdlib.

       OCAMLFIND_LDCONF

	    This variable overrides the configuration variable	ldconf.

       OCAMLFIND_IGNORE_DUPS_IN

	    This variable instructs findlib not to emit warnings that packages
	    or	module occur several times. The variable must be set to the  di-
	    rectory where the packages reside that are to be ignored for  this
	    warning.

User Manual	      The findlib package manager for OCaml	 findlib.conf(5)

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

home | help