# CLC-INTERCAL Reference

## ... Environment Variables

The behaviour of CLC-INTERCAL can be controlled via a number of environment variables; some only affect running tests, others can change the working of the compiler at any time.

- DISPLAY: the X interface requires this variable to be set, otherwise it won't even try to start; the underlying module (Gtk3 or Gtk2) is likely to also refer to this variable.
- HOME: the user's home directory, to find configuration files; if this variable is not set, the program checks the user's entry in the password database, and if that fails it will not check for user's specific configuration files.
- ICK_SYSLIB_DIR: if set, and the value is a directory path containing the system library sources distributed with C-INTERCAL ("ick"), enables tests using these libraries. CLC-INTERCAL does not include these libraries due to questions about their licence status, but it can use them if they are obtained in some other way, for example by downloading C-INTERCAL. This variable has only effect while running tests.
- CLCINTERCAL_TEST_OLD_CODE: if set, the test programs will use some compatibility code which is required to run under older versions of perl. By default, if this variable is unset, the "best" code is selected according to what the current perl can do. This variable is meant for the pre-distribution testing, to verify that the old code still works, but could also be useful if suspecting a bug with the new code, to see if the compatibility code exhibits the same behaviour.

Additionally, the whole environment is copied to the "^EV" special register when running any program. It is up to the programmer to figure out what to do with that.