The Termite driver synthesis tool
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