Skip to content

sosterwalder/c4irp

Repository files navigation

C4irp

Message-passing and actor-based programming for everyone

It is part of Concreteclouds and the C99 implementation of Chirp.

floobits travis appveyor rtd coverage [1]

Read the Docs

[1]Coverage enforced by tests (on travis)

WORK IN PROGRESS

FAQ

  • There is problem with c4irp, how can I get more logging and information?
pip uninstall c4irp
git clone https://github.com/concretecloud/c4irp.git
cd c4irp
MODE=debug python setup.py install

This will enable a lot of logging in the c4irp library. See also Development.

Development

Known environment variables:

  • CC must be the compiler used to build python.
    • Defaults to the compiler python was built with and is ignored on Windows
    • Use CC=clang pyenv install 3.5.2 to get a clang version of python, which is nicer for development
  • MODE=debug|release defaults to release
  • CFLAGS ignored on Windows
  • LDFAGS ignored on Windows, only used by distutils
  • The python version currently in path as python(.exe) will be used. Use virtualenv, pyenv or pyenv+virtualenv to change the python version

Requirements:

apt-get install build-essential automake autoconf cmake clang llvm libssl-dev libssl1.0.0-dbg

./make.py test

Note: You may want to run clean before running tests. This makes sure, that the config.h file gets cleaned and then copied again (which is essential if there are new definitions).

./make.py clean

./make.py test

Windows

Use the testbuilds:

Or build ourself: * Install Python 2 (gyp needs this)

  • Install Visual Studio 2015 if you want to build for python 3
    • Select Git for Windows in Visual Studio Installer or install it
  • Install Visual Studio 2008 Express
  • Install Windows SDK for Windows Server 2008 and .NET Framework 3.5 (python 2)

Note

To support python 2.7 == Visual Studio 2008, we use c99conv to convert to c89 and we support python 3.5+ == Visual Studio 2015 without c99conv. Any future version of python that uses a newer version of Visual Studio has to added to the build-system explicitly.

Note also, its no real development setup, it always builds everything.

build\stdpython2.cmd
python make.py

# or

make.py test

Contributors

  • Sven Osterwalder (@sosterwalder)

License

GNU AFFERO GENERAL PUBLIC LICENSE

Please contact me for alternative licenses.

Copyright

  • © 2016-∞ Jean-Louis Fuchs
  • © 2016-∞ Adfinis-SyGroup AG

source used in this reposoitory: