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 figure out the set‐
tings 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 prop‐
erties 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 O'Caml 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 pack‐
ages.
All files with the suffix ".conf" found in the directory findlib.conf.d are also
scanned for parameters.
Environment variables:
The settings of findlib.conf can be overridden by environment variables.
Last but not least, several settings can also be passed as command-line options, or by
invoking the function Findlib.init.
findlib.conf
The directory containing findlib.conf is determined at build time (by running the config‐
ure 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 for‐
mat
variable = "value"
Here is the list of allowed variables:
path
The search path for META files/package directories. The variable enumerates direc‐
tories which are separated by colons (Windows: semicolons), and these directories
are tried in turn to find a certain package. More exactly, if d is such a direc‐
tory 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=package name); otherwise the META
files are put into the package directories 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, ocamlbrowser
If you want to call other executables than "ocamlc", "ocamlopt", "ocamlcp",
"ocamlmktop", "ocamldoc", "ocamldep", and "ocamlbrowser", you can set the names
of the executables here. The command 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 O'Caml compilers are configured.
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 O'Caml compilers read in; it is updated by ocamlfind when installing and
removing packages. You can set this variable to the special value "ignore" to dis‐
able the automatic modification of the ld.conf file.
If not set, the ld.conf file is assumed to reside in the O'Caml standard library
directory.
This variable is optional. It is not recommended to set this variable 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 instead 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 findlib/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 -toolchain option is
not passed on the command line.
OCAMLPATH
This variable may contain an additional search path for package directories. 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, ocamlopt, ocamlcp,
ocamlmktop, ocamldoc, ocamldep, and/or ocamlbrowser. Its value must conform to
the syntax
ocamlc=name ocamlopt=name ocamlcp=name ocamlmktop=name ocamldoc=name ocamldep=name oca ↲
mlbrowser=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 directory where the packages reside
that are to be ignored for this warning.
User Manual The findlib package manager for OCaml findlib.conf(5)