Synopsis - Cross-Reference
File: /README1Installation guide 2================== 3 4Requirements 5------------ 6 7Synopsis uses features found in Python 2.2 and up. 8The build system requires a posix environment with GNU make and GNU 9autoconf installed. 10However, it is possible to build Synopsis for a native windows 11platform, running with the win32 python installation and emulating 12a MSVC compiler. 13 14Configuring 15----------- 16 17* If the sources are checked out from svn, run './autogen.sh' to generate 18 the configure scripts. This step requires autoconf to be installed. 19 20* Run 'python setup.py config' to configure the subprojects. 21 22* Be careful to pass the same '--prefix' option you are going to pass 23 to the 'install' command, if you plan to install synopsis. See 24 the section about installing for details. 25 26* Synopsis provides an alternative Cpp parser based on boost.wave. 27 It overcomes certain limitations with the old ucpp-based parser, but 28 incures a dependency on various boost libraries. Thus it's disabled by default. 29 30 To build with this new Cpp parser, configure with --with-boost, and 31 these optional boost-related flags: 32 33 --with-boost-prefix=<boost installation prefix> 34 --with-boost-version=<version> (e.g. 1.35) 35 --with-boost-lib-suffix=<suffix> (e.g. -gcc41-mt) 36 37Building 38-------- 39 40* Run 'python setup.py build' to compile everything. 41 This will place all files that are going to be installed under build/ 42 This step requires GNU make to be installed. If the executable 'make' 43 is not GNU make, you have to set the 'MAKE' environment variable to 44 GNU make. 45 46 If you do not want to install, but rather try synopsis out from within the 47 source directory, you may consider 'python setup.py build_ext --inplace' 48 as an alternative, which will only compile the C/C++ extensions and put 49 them right into the source tree. 50 51 If you have checked out the source code from the repository, you will 52 find a 'setup.cfg' file containing convenient default parameters during 53 development. However, if you plan to install synopsis, you have to remove 54 (or at least rename) this file or else distutils will get confused and 55 not install extensions. 56 57* To build for windows native, just use the appropriate python interpreter 58 to run the build script. You will need a mingw-compatible version of the 59 python library (libpythonxx.a), which you have to build first. Instructions 60 for this are at http://www.python.org/doc/current/inst/index.html. 61 62* If you want to use an external garbage collector for the Cxx parser 63 instead of the built in one, run 64 'python setup.py config --with-gc-prefix=/your/gc/prefix' 65 66Testing 67------- 68 69* The tests require version 2.2 of qmtest (http://www.qmtest.com), 70 as well as tidy (http://www.w3.org/People/Raggett/tidy/) 71 72* run 'python setup.py test [--suite=<id>]' where the optional 73 argument --suite specifies a test suite to run. The default 74 is to run all tests. 75 76Building documentation 77---------------------- 78 79* 'python setup.py build_doc' will compile printable and html versions of 80 the Tutorial as well as the Manual, and put them under share/doc/Synopsis 81 82* All four targets require xsltproc, and the printable Tutorial requires 83 additionally fop (from http://xml.apache.org) 84 85* If you only want to build the html versions, run 86 'python setup.py build_doc --html' 87 88* If you only want the Tutorial, run 'python setup.py build_doc --tutorial' 89 90* etc. 91 92Installing 93---------- 94 95* To install synopsis in <prefix>, run 'python setup.py install --prefix=<prefix>' 96 The default prefix is the one from the python interpreter used during the build. 97 If you chose a different prefix, make sure to set the PYTHONPATH appropriately 98 so the package can be found by the python interpreter. 99 100* If documentation was built before, it will be installed into 101 <prefix>/share/doc/Synopsis 102 103Packaging 104--------- 105 106Source package: 107 108 * 'python setup.py sdist' creates a source package (compressed tarball). 109 For it to include documentation, you need to have run 'python setup.py build_doc' 110 first (see above). 111 112Binary packages: 113 114 * 'python setup.py bdist' creates a binary package (compressed tarball). 115 Other binary packages may be supported, but may involve more complex setups. 116 117 * rpms: An rpm spec file is provided ('synopsis.spec') which is used to generate 118 fedora rpms, and possibly others. 119 120 * windows installer: 'python setup.py bdist_wininst' generates a windows MSI package. 121 122Using Synopsis 123-------------- 124 125* Remember to set the PYTHONPATH variable if necessary, as well as 126 LD_LIBRARY_PATH. 127 128* Read the tutorial to learn how to get started using synopsis. 129 130Reporting Bugs 131-------------- 132 133Please report bugs to http://synopsis.fresco.org/issues