next up previous contents index
Next: Xic Environment Variables Up: Xic Environment Variables Previous: Microsoft Windows   Contents   Index

XicTools Environment Variables

The following environment variables are used by all XicTools programs.

This variable applies only when running under Microsoft Windows, and Cygwin is installed. Cygwin is Linux-like environment and tool set which is a very useful adjunct to Windows. In particular, it provides a bash shell with standard Linux commands, and an X server, among many installable features.

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.

All of the XicTools programs respond to the XT_PREFIX environment variable. When the tools are installed in a non-standard location, i.e., other than /usr/local, this can be set to the directory prefix which effectively replaces ``/usr/local'', and the programs will be able to access the installation library files without further directives. The Xic -R command line option can also be used for this purpose. This should not be needed under Windows, as the Registry provides the default paths.

Under Windows, the user's ``home'' directory is determined by looking at environment variables.

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/yourlogin
Setting 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.

If the variable XTNETDEBUG is defined, Xic and WRspice will echo interprocess messages sent and received to the console. In server mode, Xic will not go into the background, but will remain in the foreground, printing status messages while servicing requests.

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.

This variable was once used to disable the internal local memory allocator, which in earlier releases was enabled by default. Currently, this variable is ignored.

When set, no extra space is allowed around pushbutton contents in the graphical interface. Such space can cause side menu button images to be truncated on low-resolution displays if the theme in use imposes too much space. Setting this variable is a quick fix for this problem, though one could also change the theme.

next up previous contents index
Next: Xic Environment Variables Up: Xic Environment Variables Previous: Microsoft Windows   Contents   Index
Stephen R. Whiteley 2022-05-28