Environment > Setting Preferences > Directory and Search Path Preferences

# Directory and Search Path Preferences

This section describes the preferences for directories and search paths.

## IDL_DIR

The IDL_DIR preference provides the value of the !DIR system variable, which contains the location of the IDL distribution that contains the currently running IDL program.

You cannot set IDL_DIR by using user or distribution preference files. The only valid sources for its value are the IDL command line, the IDL_DIR environment variable, or IDL’s built-in default value (preferred when possible). The reason for this restriction is that the IDL distribution is an intrinsic part of the IDL program; it must be known before IDL starts running and is not something that can be changed afterwards.

The default value under UNIX is `'/usr/local/exelis/idl_xx'`, where `xx` represents the IDL version. The default value under Microsoft Windows is the location where the IDL installer wrote the IDL files on your system (typically `C:\Exelis\IDLxx`, where `xx` represents the IDL version).

This preference cannot be set in the IDL Workbench Preferences dialog.

## IDL_DLM_PATH

The IDL_DLM_PATH provides the value of the !DLM_PATH system variable, which contains the directories from which IDL loads dynamically loadable modules (DLMs).

Committed changes take effect immediately. The default value is `'<IDL_DEFAULT>'`, a special token which IDL replaces at startup with the correct set of directories from the IDL distribution for the currently running version of IDL. If you add directories to IDL_DLM_PATH, you should be careful to retain `<IDL_DEFAULT>` in your new value, or IDL will fail to find the provided DLM files. For example, you can use one of the following commands to add your own DLM directory. Under Windows:

PREF_SET, 'IDL_DLM_PATH', 'C:\your\path\here;<IDL_DEFAULT>', $

/COMMIT

Under UNIX:

PREF_SET, 'IDL_DLM_PATH', '/your/path/here:<IDL_DEFAULT>', $

/COMMIT

See EXPAND_PATH for more information on special syntax and `<IDL_>` tokens you can use in the path definition string. DLM files are IDL- and platform-specific. If you use DLMs with multiple versions of IDL, you might find the `<IDL_BIN_DIRNAME>` token of particular interest when setting up your DLM directories.

This preference can be set in the IDL Workbench Preferences dialog.

Note: Once a particular path has been set in IDL_DLM_PATH, IDL will immediately parse the "`.dlm`" files within those directories and add the routines to IDL's internal table of available routines. If your IDL code calls one of these routines then IDL will automatically load the appropriate `.dll` or `.so` library, even if that directory is no longer on IDL_DLM_PATH. The only way to clear out the table of available routines is to restart IDL.

## IDL_HELP_PATH

The IDL_HELP_PATH preference sets the value of the !HELP_PATH system variable, which determines the directories where IDL searches for online help files.

Committed changes take effect immediately. The default value is `'<IDL_DEFAULT>'`, a special token which IDL replaces at startup with the correct set of directories from the IDL distribution for the currently running version of IDL. If you add directories to IDL_HELP_PATH, you should be careful to retain `<IDL_DEFAULT>` in your new value, or IDL will fail to find the provided help files. For example, you can use one of the following commands to add your own help directory. Under Windows:

PREF_SET, 'IDL_HELP_PATH', 'C:\your\path\here;<IDL_DEFAULT>', $

/COMMIT

Under UNIX:

PREF_SET, 'IDL_HELP_PATH', '/your/path/here:<IDL_DEFAULT>', $

/COMMIT

See EXPAND_PATH for more information on special syntax and `<IDL_>` tokens you can use in the path definition string.

This preference can be set in the IDL Workbench Preferences dialog.

## IDL_MAKE_DLL_COMPILE_DIRECTORY

The IDL_MAKE_DLL_COMPILE_DIRECTORY preference sets the initial value of the !MAKE_DLL.COMPILE_DIRECTORY system variable, which specifies the location where the MAKE_DLL and CALL_EXTERNAL (with the Auto Glue Keywords set) routines do their work. An empty string ('') for this preference specifies that IDL should create an appropriate platform-specific directory underneath the `.idl` subdirectory of the user’s home directory. This default value is highly recommended because it automatically handles multi-platform issues.

Committed changes take effect at the next `.reset_session` executive command or in future IDL sessions. The default value is an empty string ('').

This preference can be set in the IDL Workbench Preferences dialog.

## IDL_PATH

The IDL_PATH preference provides the initial value of the !PATH system variable, which determines the directories that IDL searches for include files and programs written in the IDL language (`.pro` and `.sav`).'

Committed changes take effect immediately. The default value is `'<IDL_DEFAULT>'`, a special token which IDL replaces at startup with the correct set of directories from the IDL distribution for the currently running version of IDL. If you add directories to IDL_PATH, you should be careful to retain `<IDL_DEFAULT>` in your new value, or IDL will fail to find the provided library files. For example, you can use one of the following commands to add your own library directory. Under Windows:

PREF_SET, 'IDL_PATH', 'C:\your\path\here;<IDL_DEFAULT>', $

/COMMIT

Under UNIX:

PREF_SET, 'IDL_PATH', '/your/path/here:<IDL_DEFAULT>', $

/COMMIT

See EXPAND_PATH for more information on special syntax and `<IDL_>` tokens you can use in the path definition string.

This preference can be set in the IDL Workbench Preferences dialog.

## IDL_PATH_CACHE_DISABLE

The IDL_PATH_CACHE_DISABLE preference determines whether or not the IDL path cache is enabled when IDL starts. For more information on the path cache, see PATH_CACHE.

Value | Aliases
0 | False, No, Off
1 | True, Yes, On

Committed changes take effect immediately. The default value is False (0), meaning that the cache is enabled.

This preference can be set in the IDL Workbench Preferences dialog.

## IDL_START_DIR

The IDL_START_DIR preference specifies the initial IDL working directory to be established when the IDL Workbench starts. If the preference is not set, or is set to an empty string (`''`), the working directory is set to the user’s home directory as defined by the $HOME environment variable.

If the preference is set to a dot (`'.')`, the initial IDL working directory is set to the directory from which IDL was started for Unix systems or to the user’s home directory on Windows platforms.

Note: When running IDL in command-line mode, the initial working directory is the directory from which IDL was started. The IDL_START_DIR preference is ignored in this situation.

Committed changes take effect in future IDL sessions. The default value is an empty string (`''`).

This preference can be set in the IDL Workbench Preferences dialog.

## IDL_STARTUP

The IDL_STARTUP preference provides the path of a batch file that is executed automatically each time IDL is started and following a `.reset_session` or `.full_reset_session` executive command. An empty string ('') indicates that there is no startup file.

Note: Startup files are only executed when running an application with a command line. See Understanding When Startup Files are Not Executed for details.

Committed changes take effect at the next `.reset_session` executive command or in future IDL sessions. The default value is an empty string ('').

This preference can be set in the IDL Workbench Preferences dialog.

## IDL_TMPDIR

The IDL_TMPDIR preference provides the location of a directory to be used for creating temporary scratch files, as returned by the GETENV function, if its value is non-null. If the value is an empty string, GETENV instead returns the path of the standard directory used for this purpose by the current operating system.

Committed changes take effect immediately. The default value is an empty string ('').

This preference can be set in the IDL Workbench Preferences dialog.