Static Compilation (pycc)
=========================
``pycc`` allows users to compile Numba functions into a shared library.
The user writes the functions, exports them and the compiler will import
the module, collect the exported functions and compile them to a shared
library. Below is an example::

    from numba import *

    def mult(a, b):
        return a * b

    export('mult f8(f8, f8)')(mult)
    export(['multf f4(f4, f4)', 'multi i4(i4, i4)'])(mult)
    export('multc c16(c16, c16)')(mult)

This defines a trivial function and exports four specializations under
different names. The code can be compiled as follows::

    pycc thefile.py

Which will create a pure shared library for your platform which can be
linked against any other program.  This is **not** a Python extension.
You would have to use ctypes to load the code that is created.
Multiple files may be given to compile them simultaneously into a
shared library. Options exist to compile to native object files
instead of a shared library, to emit LLVM code or to generate a C
header file with function prototypes. For more information on the
available command line options, see ``pycc -h``.

Static Compilation (pycc)
=========================
``pycc`` allows users to compile Numba functions into a shared library.
The user writes the functions, exports them and the compiler will import
the module, collect the exported functions and compile them to a shared
library. Below is an example::

    from numba import *

    def mult(a, b):
        return a * b

    export('mult f8(f8, f8)')(mult)
    exportmany(['multf f4(f4, f4)', 'multi i4(i4, i4)'])(mult)
    export('multc c16(c16, c16)')(mult)

This defines a trivial function and exports four specializations under
different names. The code can be compiled as follows::

    pycc thefile.py

Which will create a pure shared library for your platform which can be
linked against any other program.  This is **not** a Python extension.
You would have to use ctypes to load the code that is created.
Multiple files may be given to compile them simultaneously into a
shared library. Options exist to compile to native object files
instead of a shared library, to emit LLVM code or to generate a C
header file with function prototypes. For more information on the
available command line options, see ``pycc -h``.

Use `exportmany` for multi function strings.
Use `exportmany` for multi function strings.
