Author: Armin Rigo <ar...@tunes.org> Branch: Changeset: r653:972998c8c2ca Date: 2012-07-15 17:51 +0200 http://bitbucket.org/cffi/cffi/changeset/972998c8c2ca/
Log: Document cffi.verifier.Verifier. diff --git a/doc/source/index.rst b/doc/source/index.rst --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -271,7 +271,8 @@ setup(... ext_modules=[yourmodule.ffi.verifier.get_extension()]) -XXX add a more complete reference of ``ffi.verifier`` +Usually that's all you need, but see the `Reference: verifier`_ section +for more details about the ``verifier`` object. @@ -849,6 +850,50 @@ +---------------+------------------------+------------------+----------------+ +Reference: verifier +------------------- + +For advanced use cases, the ``Verifier`` class from ``cffi.verifier`` +can be instantiated directly. It is normally instantiated for you by +``ffi.verify()``, and the instance is attached as ``ffi.verifier``. + +- ``Verifier(ffi, preamble, **kwds)``: instantiate the class with an + FFI object and a preamble, which is C text that will be pasted into + the generated C source. The keyword arguments are passed directly + to `distutils when building the Extension object.`__ + +.. __: http://docs.python.org/distutils/setupscript.html#describing-extension-module + +``Verifier`` objects have the following public attributes and methods: + +- ``sourcefilename``: name of a C file. Defaults to + ``__pycache__/_cffi_MD5HASH.c``, with the ``MD5HASH`` part computed + from the strings you passed to cdef() and verify() as well as the + version numbers of Python and CFFI. Can be changed before calling + ``write_source()`` if you want to write the source somewhere else. + +- ``modulefilename``: name of the ``.so`` file (or ``.pyd`` on Windows). + Defaults to ``__pycache__/_cffi_MD5HASH.so``. Can be changed before + calling ``compile_module()``. + +- ``get_module_name()``: extract the module name from ``modulefilename``. + +- ``write_source(file=None)``: produces the C source of the extension + module. If ``file`` is specified, write it in that file (or file-like) + object rather than to ``sourcefilename``. + +- ``compile_module()``: writes the C source code (if not done already) + and compiles it. This produces a dynamic link library whose file is + given by ``modulefilename``. + +- ``load_library()``: loads the C module (if necessary, making it + first). Returns an instance of a FFILibrary class that behaves like + the objects returned by ffi.dlopen(), but that delegates all + operations to the C module. This is what is returned by + ``ffi.verify()``. + +- ``get_extension)``: returns a distutils-compatible ``Extension`` instance. + Comments and bugs ================= _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit