Skip to content

stefanseefeld/synopsis

Repository files navigation

Installation guide
==================
 
Requirements
------------

Synopsis uses features found in Python 2.2 and up.
It requires relatively recent versions of the Boost libraries, as well
as LLVM (trunk).
The build system requires a posix environment with GNU make and GNU
autoconf installed.
However, it is possible to build Synopsis for a native windows
platform, running with the win32 python installation and emulating
a MSVC compiler.

Configuring
-----------

* If the sources are checked out from svn, run './autogen.sh' to generate
  the configure scripts. This step requires autoconf to be installed.

* Run 'python setup.py config' to configure the subprojects 
  (see 'python setup.py config --help' for available options).

* Be careful to pass the same '--prefix' option you are going to pass
  to the 'install' command, if you plan to install synopsis. See
  the section about installing for details.

Building
--------

* Run 'python setup.py build' to compile everything.
  This will place all files that are going to be installed under build/
  This step requires GNU make to be installed. If the executable 'make'
  is not GNU make, you have to set the 'MAKE' environment variable to
  GNU make.

  If you do not want to install, but rather try synopsis out from within the
  source directory, you may consider 'python setup.py build_ext --inplace'
  as an alternative, which will only compile the C/C++ extensions and put
  them right into the source tree.

  If you have checked out the source code from the repository, you will
  find a 'setup.cfg' file containing convenient default parameters during
  development. However, if you plan to install synopsis, you have to remove
  (or at least rename) this file or else distutils will get confused and
  not install extensions.

* To build for windows native, just use the appropriate python interpreter
  to run the build script. You will need a mingw-compatible version of the
  python library (libpythonxx.a), which you have to build first. Instructions
  for this are at http://www.python.org/doc/current/inst/index.html.

Testing
-------

* The tests require version 2.2 of qmtest (http://www.qmtest.com),
  as well as tidy (http://www.w3.org/People/Raggett/tidy/)

* run 'python setup.py test [--suite=<id>]' where the optional
  argument --suite specifies a test suite to run. The default
  is to run all tests.

Building documentation
----------------------

* 'python setup.py build_doc' will compile printable and html versions of
  the Tutorial as well as the Manual, and put them under share/doc/Synopsis

* All four targets require xsltproc, and the printable Tutorial requires
  additionally fop (from http://xml.apache.org)

* If you only want to build the html versions, run 
  'python setup.py build_doc --html'

* If you only want the Tutorial, run 'python setup.py build_doc --tutorial'

* etc.

Installing
----------

* To install synopsis in <prefix>, run 'python setup.py install --prefix=<prefix>'
  The default prefix is the one from the python interpreter used during the build.
  If you chose a different prefix, make sure to set the PYTHONPATH appropriately
  so the package can be found by the python interpreter.

* If documentation was built before, it will be installed into 
  <prefix>/share/doc/Synopsis

Using Synopsis
--------------

* Remember to set the PYTHONPATH variable if necessary.

* Read the tutorial to learn how to get started using synopsis.

Reporting Bugs
--------------

Please report bugs to http://synopsis.fresco.org/issues