SIP - Python/C++ Bindings Generator INTRODUCTION SIP is a tool for generating bindings for C++ classes so that they can be accessed as normal Python classes. SIP takes many of its ideas from SWIG but, because it is specifically designed for C++ and Python, is able to generate tighter bindings. SIP is so called because it originally started out as a small SWIG. SIP was originally designed to generate Python bindings for Qt and so has explicit support for Qt's signal slot mechanism. However, SIP can be used to generate Python bindings for any C++ class library. The bindings generated by SIP support access to the following C++ and Qt features: - connecting Qt signals to Python functions and class methods - connecting Python signals to Qt slots - overloading virtual member functions with Python class methods - protected member functions - abstract classes - enumerated types - global class instances - static member functions. This package comprises the SIP binary that generates the C++ code, a couple of header files that are needed compile the generated C++ code, and a Python module that is needed by any set of compiled bindings. The homepage of SIP is http://www.riverbankcomputing.co.uk/sip/. SIP is available under a number of licenses. See the LICENSE file for the license under which this copy is provided. INSTALLATION Check for any other README files in this directory that relate to your particular platform. Feel free to contribute a README for your platform or to provide updates to any existing documentation. Starting with v3.1 the SIP run-time support is a Python module. In previous versions it was a normal shared library. This means that the support, and the corresponding header files, are now installed with your Python installation rather than in (for example) /usr/local/lib and /usr/local/include. If you are upgrading from an earlier version you may want to manually remove that earlier version first. The process for building SIP is the same for all platforms. First of all, run the `build.py' Python script. If you have multiple versions of Python installed then make sure you use the interpreter for which you wish SIP to generate bindings for. The build script generates all the relevant makefiles. The script takes a number of options that allows you to override particular settings. Run "python build.py -h" to get a list of the available options. Compiling and installing SIP is then a simple case of running "make" followed by "make install". Note that on a system where you would normally only need administrator privileges to install SIP, you also need them to compile SIP. The build system uses either "tmake" or "qmake" to actually generate the required Makefiles. "qmake" is provided with Qt v3.x. If you are using an earlier version of Qt then you will need a copy of "tmake" (v1.8 or later) which is available from Trolltech (http://www.trolltech.com). You will need to configure "tmake" for your system by setting the TMAKEPATH environment variable to an appropriate value - see the "tmake" documentation for the details. Phil Thompson phil@riverbankcomputing.co.uk