The following environment variables are used by all XicTools programs.
XicTools programs will in some cases, such as when popping up a shell window, look for a Cygwin program. If the Cygwin program binaries (.exe files) are located in /bin or /cygwin/bin on the current disk drive, they will be found automatically. Otherwise, this variable can be set to the Windows path, including a drive letter if necessary, to the directory containing the Cygwin binaries. This is not necessarily the path one perceives from within Cygwin, since the XicTools programs do not know about the Cygwin mount points or symbolic links. The path is the one that would be seen from a DOS box, with forward or reverse slash directory separators.
In Linux, the HOME environment variable is set the the user's home directory, and this is also true under Windows if using a Linux emulation package such as Cygwin or MSYS. However, in this case HOME will be relative to the file system as seen within the emulator, and not the actual Windows file system as seen in Xic or WRspice which are Windows-native programs. Therefor, the HOME environment variable is ignored under Windows.
Instead, the programs will first look for XT_HOMEDIR. This should be set to the Windows path to the user's MSYS2 or Cygwin home directory. For example, this can be done from the bash_profile file by adding a line
export XT_HOMEDIR=c:/msys64/home/yourloginSetting this will allow Xic and WRspice to find files in the user's MSYS2 home directory, even though the programs are Windows native and don't know the MSYS2 paths.
The deprecated XIC_START_DIR variable is checked next, and if found its value is taken as the user's home directory in the same manner.
If not found, the HOMEDIR and HOMEPATH variables, if both are found, are concatenated to yield the home directory path. In the unlikely event that these are not set, the USERPROFILE variable is checked, and if all else fails, ``C: \ '' is assumed. The HOMEDIR/HOMEPATH and USERPROFILE variables are set by Windows, at least in some Windows versions.
Under other operating systems, the home directory is well-defined and is obtained from operating system calls.
Under Windows, if Xic finds itself in the C: \ directory on startup, it will change the working directory to the home directory. This is the default when starting from the Windows Start Menu or otherwise from an icon, unless the icon property is changed.
Linux and FreeBSD releases can use an included local memory allocation package. In earlier Xic releases, this allocator, rather than the allocator provided by the operating system, was used by default. In 32-bit releases, the local allocator was often able to allocate more memory than the allocators provided by the operating system. It also provided custom error reporting and statistics.
This feature is now disabled, as in modern operating systems there is dubious benefit, and it can produce stability problems in some cases. However, if this variable is set in the environment when Xic is started, the local allocator will be used. The interested user is encouraged to experiment.