==========================================
 Installation of the `processing` package
==========================================

If you are using Windows then binary builds for Python 2.4 and Python 2.5 
are available at

    http://cheeseshop.python.org/pypi/processing

Otherwise, if you have the correct C compiler setup then the source
distribution can be installed the usual way::

   python setup.py install

It should not be necessary to do any editing of `setup.py` if you are
using Windows, Mac OSX or (a recent) Linux.  On other unices it may be
necessary to modify the values of the `macros` dictionary or
`libraries` variables.  The section to modify reads ::

    macros = dict(
        # should we include support for posix semaphores?
        USE_POSIX_SEMAPHORE=have_feature('SC_SEMAPHORES'),
        # should we include support for posix message queues?
        USE_POSIX_QUEUE=have_feature('SC_MESSAGE_PASSING'),
        # does semaphore support lack sem_timedwait()?
        NO_SEM_TIMED=0,
        # does posix queue support lack mq_timedsend() and mq_timedreceive()?
        NO_MQ_TIMED=0
        )
    # linux needs librt - other unices may not
    libraries = ['rt']

Note that if support for posix semaphores has not been compiled in
then many of the functions in the `processing` namespace like
`Lock()`, `Queue()` or `LocalManager()` will not work.  However, one
can still create a manager using `manager = processing.Manager()` and
then do `lock = manager.Lock()` etc.

If necessary you can skip compilation of the C extension completely by
doing ::

   python setup.py build_py install --skip-build


Running test scripts
--------------------

To run the test scripts using Python 2.5 do ::

    python -m processing.test

on earlier versions do ::

    python -c "from processing.test import main; main()"

This will run each test script twice: once using processes and once
using threads.
