or for convenience a Makefile recipe is provided to do the same:
```
$ make python
```
Or equivalently: `python3 setup.py build_ext --inplace`
To run:
```
$ make pythonrun
$ make run
```
### Building without the Python runtime
The Cython compiler systematically links compiled programs against the python runtime, however the program actually never calls into the Python runtime.
There currently is no support in the Cython+ language to express independance from the Python runtime and generate code which does not need to include the Python headers. So in the meantime we introduce a hack: we only use the cython compiler to generate a C++ file which we then compile and link manually, but instead of providing the python runtime to link against we tell the linker to ignore linking errors. We also provide a `main` function as an entry point to bypass the normal entry point for the python interpreter. This only works because the program happens not to require the python runtime for anything, but the Cython+ compiler does not check for this (yet).
The Cython compiler systematically links compiled programs against the python runtime, however this program never actually calls into the Python runtime.
To build:
There is no support yet in the Cython+ language to express independance from the Python runtime and generate code which does not need to include the Python headers. However in the meantime we introduce a hack: we only use the cython compiler to generate a C++ file which we then compile and link manually, but instead of providing the python runtime to link against we tell the linker to ignore linking errors. We also provide a `main` function as an entry point to bypass the entry point for the python interpreter.
```
$ make
```
This hack can only work because this program happens not to require the python runtime for anything.
No guarantees whatsoever are made that the program produced will behave as expected.