The Termite driver synthesis tool
Shell
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
documentation
lib lib/debug update Jul 25, 2017
specs @ c556365 specs update May 8, 2015
tools bump module versions Jun 10, 2015
.gitignore
.gitmodules
Readme Typo Jun 10, 2015
build.sh fix build.sh to build .so version of CUDD Oct 8, 2014
envs.sh automate building mode Sep 27, 2014
setup.sh install build dependencies in setup script Oct 8, 2014

Readme

The Termite driver synthesis tool

http://www.termite2.org

Termite must be built on a Linux system. The build process has been tested on 64 bit versions of Ubuntu and Arch Linux.
A working Haskell installation is required. You will need to install ghc version 7.8 or greater and cabal-install version 1.20 or greater using your system's package manager.

You will need to install several other dependencies.  On Ubuntu, the following packages are needed:

libglib2.0-dev 
libcairo2-dev
libpangocairo-1.0
libgtk2.0-dev
libpango1.0-dev
libgtksourceview2.0-dev
graphviz

Finally, you will need to build from sources and install Z3 SMT solver from Microsoft Research, available at https://z3.codeplex.com.  Note that Z3 is free for non-commercial academic purposes only.

To clone the needed git subrepos and setup a cabal sandbox:
    $ ./setup.sh

To build:
    $ ./build.sh

Copy the language definition to a place where GTKSourceView can find it:
    $ sudo cp lib/tsl/tools/tsl.lang /usr/share/gtksourceview-2.0/language-specs/

To run:
    $ source ./envs.sh
    $ cd documentation/GPIO
    $ ../../bin/termite -i main.tsl -s

Or, if you prefer to build CUDD separately:

To build CUDD: 
    $ pushd lib/cudd
    $ cp Makefile.64bit Makefile # or Makefile.32bit if you are on a 32 bit system
    $ make libso
    $ popd

To build Termite:
    $ export LD_LIBRARY_PATH=`pwd`/lib/cudd/libso
    $ cabal update
    $ cabal install termite --extra-include-dirs=`pwd`/lib/cudd/include --extra-lib-dirs=`pwd`/lib/cudd/libso --bindir=`pwd`/bin