PREV UP NEXT

# INSTALL XSCHEM

in order to install the program run the following command:

      user:~$ cd xschem-<version>; ./configure

this will make all the necessary checks for required libraries and system tools. If configure ends with no errors we are ready to compile:

      user:~$ make

If we want to install xschem and its required files (execute as root if you plan to do a system-wide installation, for example in /usr/local):

      user:~$ make install

This will install all the runtime needed files into the locations previously configured (can be found in Makefile.conf). To change the default installation prefix (/usr/local), please replace the configure step shown above with:

       ./configure --prefix=new/prefix/path

DESTDIR is supported.

For testing purposes `xschem` can be run and invoked from the build directory `xschem-<version>/src/` without installation.

      user:~$ cd xschem-2.7.0/src && ./xschem

When xschem is running, type `puts $XSCHEM_LIBRARY_PATH` in the xschem tcl prompt to know the library search path.
Type `puts $XSCHEM_SHAREDIR` to see the installation path.

Sample user design libraries are provided and installed systemwide under `${XSCHEM_SHAREDIR/xschem_library/`. The XSCHEM_START_WINDOW specifies a schematic to preload at startup, to avoid absolute paths use a path that is relative to one of the `XSCHEM_LIBRARY_PATH` directories. XSCHEM will figure out the actual location. You may comment the definition if you don't want any schematic on startup.
If you need to override system settings, create a `~/.xschem/xschemrc`. The easiest way is to copy the system installed version from ${prefix}/share/xschem/xschemrc and then make the necessary changes

      user:$ mkdir ~/.xschem
      user:$ cp <install root>/share/xschem/xschemrc ~/.xschem/xschemrc

## Detailed XSCHEM startup sequence

1. If `../src/xchem.tcl` with respect to current dir is existing and `../xschem_library` is also existing then we are starting from a build directory, set `XSCHEM_SHAREDIR` to ``pwd`` and also set `XSCHEM_LIBRARY_PATH` to ``pwd`/../xschem_library`.
2. else use compile-time (generated from configure script) provided `XSCHEM_SHAREDIR`.
3. if in current dir there is a `xschemrc` file source it.
4. else if there is a `USER_CONF_DIR/xschemrc` file source it.
5. else if there is a `XSCHEM_SHAREDIR/xschemrc` file then source it
   `XSCHEM_SHAREDIR` and `USER_CONF_DIR` are preprocessor macros passed at compile time by the configure script. The first one will be overridden only if executing from a build directory, see point 1.
6. if `XSCHEM_SHAREDIR` not defined --> error and quit.
7. source `$XSCHEM_SHAREDIR/xschem.tcl`.
8. start loading user provided schematic file or start with empty window (or filename specified in `XSCHEM_START_WINDOW` tcl variable).