Idris2/docs/source/reference/envvars.rst

61 lines
2.7 KiB
ReStructuredText

.. _ref-sect-envvars:
*********************
Environment Variables
*********************
Idris 2 recognises a number of environment variables, to decide where to look
for packages, external libraries, code generators, etc. It currently recognises,
in approximately the order you're likely to need them:
Build-time
----------
* ``PREFIX`` - Default way to set the Idris2 installation prefix.
* ``IDRIS2_PREFIX`` - Alternative way to set the Idris2 installation prefix.
Runtime
-------
* ``EDITOR`` - Editor used in REPL ``:e`` command.
Both
----
* ``IDRIS2_CG`` - Codegen backend.
* ``IDRIS2_PATH`` - Directories where Idris2 looks for import files, in addition
to the imports in packages
* ``IDRIS2_PACKAGE_PATH`` - Directories where Idris2 looks for Idris 2 packages,
in addition to the defaults (which are under the ``IDRIS2_PREFIX`` and in the
``depends`` subdirectory of the current working directory).
Directories are separated by a ``:`` on MacOS and \*NIX systems, or a ``;`` on
Windows
* ``IDRIS2_DATA`` - Directories where Idris2 looks for data files. These are
typically support code for code generators.
* ``IDRIS2_LIBS`` - Directories where Idris2 looks for libraries (for code
generation).
* ``CHEZ`` - Chez backend: location of the ``chez`` executable.
* ``RACKET`` - Racket backend: location of the ``racket`` executable.
* ``RACKET_RACO`` - Racket backend: location of the ``raco`` executable.
* ``IDRIS2_INC_CGS`` - Code generators to use (comma separated) when compiling
modules incrementally.
* ``IDRIS2_CC`` - RefC backend: location of the C compiler executable.
* ``IDRIS2_CFLAGS`` - RefC backend: C compiler flags.
* ``IDRIS2_CPPFLAGS`` - RefC backend: C preprocessor flags.
* ``IDRIS2_LDFLAGS`` - RefC backend: C linker flags.
* ``IDRIS2_LDLIBS`` - RefC backend: C linker library names or flags.
* ``CC`` - RefC backend: C compiler executable (IDRIS2_CC takes precedence).
* ``CFLAGS`` - RefC backend: C compiler flags (IDRIS2_CFLAGS takes precedence).
* ``CPPFLAGS`` - RefC backend: C preprocessor flags (IDRIS2_CPPFLAGS takes precedence).
* ``LDFLAGS`` - RefC backend: C linker flags (IDRIS2_LDFLAGS takes precedence).
* ``LDLIBS`` - RefC backend: C linker library names or flags.
* ``NODE`` - NodeJS backend: ``node`` executable.
* ``PATH`` - PATH variable is used to search for executables in certain
codegens.
* ``NO_COLOR`` - Instruct Idris not to print colour to stdout. Passing the
--colour/--color option will supersede this environment variable.
* ``GAMBIT_GSI`` - Gambit backend: location of the ``gsi`` executable.
* ``GAMBIT_GSC`` - Gambit backend: location of the ``gsc`` executable.
* ``GAMBIT_GSC_BACKEND`` - Gambit backend: arguments passed to ``gsc``.