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).