Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Issue #437 | Armin Rigo | 2020-01-05 | 1 | -5/+9 |
| | | | | Support ffi.dlopen(<void* cdata>). See updated documentation. | ||||
* | Backport 4d18a461a973 from pypy | Armin Rigo | 2019-01-31 | 1 | -1/+1 |
| | |||||
* | Change the API and document it. | Armin Rigo | 2019-01-31 | 1 | -6/+10 |
| | |||||
* | Tweaks to the pkgconfig support | Armin Rigo | 2019-01-31 | 1 | -3/+5 |
| | |||||
* | Exception based flow | Michal Vyskocil | 2019-01-09 | 1 | -4/+1 |
| | | | | | | | | | | | | | | | | | | | | | | Now the with non pkg-config backup would be ``` module_name = "_czmq" source = "#include <czmq.h>" try: print(f"### pkg-config path") ffibuilder.set_source( module_name, source, pkgconfig=["libczmq"] ) except Exception as e: print(f"Exception e: {e}") ffibuilder.set_source( module_name, source, libraries=["czmq"] ) ``` | ||||
* | Real test of a pkgconfig integration | Michal Vyskocil | 2019-01-08 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix encoding errors Given testing Python program ``` from cffi import FFI ffibuilder = FFI() ffibuilder.cdef( "char* zsys_hostname();" ) ffibuilder.set_source( "_czmq", "#include <czmq.h>", pkgconfig=["libczmq"] ) if __name__ == "__main__": ffibuilder.compile(verbose=True) ``` We can run ffibuilder from source dir of czmq ``` PKG_CONFIG_PATH=`pwd`/src python3 t.py generating ./_czmq.c ... gcc -pthread -shared -flto -fuse-linker-plugin -ffat-lto-objects -flto-partition=none ./_czmq.o -L/usr/local/lib64 -L/usr/lib64 -lczmq -lzmq -lpython3.6m -o ./_czmq.cpython-36m-x86_64-linux-gnu.so ``` ``` python3 t.py generating ./_czmq.c ... gcc -pthread -shared -flto -fuse-linker-plugin -ffat-lto-objects -flto-partition=none ./_czmq.o -L/usr/lib64 -lczmq -lpython3.6m -o ./_czmq.cpython-36m-x86_64-linux-gnu.so ``` Note that in the first case `/usr/local` has been added to the compiler path as provided by local pkg-config file. | ||||
* | merge with latest tip | Michal Vyskocil | 2019-01-08 | 1 | -0/+7 |
|\ | |||||
| * | Increase testing coverage and refactor method names | Michal Vyskocil | 2019-01-08 | 1 | -12/+7 |
| | | | | | | | | | | | | Making `pkgconfig.call` function accessible, tests can monkey patch it and provide mock. This improves testing, however raised a need to give functions better names than `pkgconfig.pkgconfig_kwargs` or `pkgconfig.pc`. | ||||
| * | drop debug print | Michal Vyskocil | 2017-05-25 | 1 | -1/+0 |
| | | |||||
| * | Passing of proper CFLAGS/CXXFLAGS/LDFLAGS is hard and error prone | Michal Vyskocil | 2017-05-22 | 1 | -0/+13 |
| | | | | | | | | Add pkg-config wrapper, which is the cross-platform tool telling exactly this. | ||||
* | | Implement ffi.from_buffer("foo[]", x) | Armin Rigo | 2019-01-07 | 1 | -3/+12 |
| | | | | | | | | | | Also contains some improvements to the documentation about other recent additions | ||||
* | | ffi.release() | Armin Rigo | 2019-01-05 | 1 | -0/+3 |
| | | |||||
* | | Issue #394 | Armin Rigo | 2018-12-16 | 1 | -2/+3 |
| | | | | | | | | Implement ffi.from_buffer(x, require_writable=True) | ||||
* | | Issue 364 | Armin Rigo | 2018-06-16 | 1 | -4/+7 |
| | | | | | | | | Add support for MSVC's "#pragma pack(n)" in ABI mode | ||||
* | | Implement ffi.dlclose() for the in-line case | Armin Rigo | 2018-02-16 | 1 | -0/+10 |
| | | |||||
* | | Add an optional 'size' argument to ffi.gc(). So far, it has no effect | Armin Rigo | 2017-08-02 | 1 | -2/+7 |
| | | | | | | | | on CPython. | ||||
* | | Some test fixes for Python 3 on Windows | Armin Rigo | 2017-06-19 | 1 | -1/+4 |
| | | |||||
* | | Issue #319 | Armin Rigo | 2017-06-15 | 1 | -1/+2 |
|/ | | | | | | | | | Fix a race condition: we can't stick an attribute to ffi._backend, because another thread might be in the middle of ``for name in ffi._backend.__dict__``. To minimize damage if I reintroduce an attribute-adding function in the future, also tweak the ``for``. | ||||
* | pypy-c => pypy3-c | Armin Rigo | 2017-03-11 | 1 | -1/+4 |
| | |||||
* | Improve the error message | Armin Rigo | 2017-03-10 | 1 | -10/+16 |
| | |||||
* | ffi.addressof(lib, "name") now also works in in-line mode | Armin Rigo | 2017-02-07 | 1 | -5/+35 |
| | |||||
* | Make 'ffi.buffer' be the type of minibuffers returned by cffi, and | Armin Rigo | 2017-02-04 | 1 | -12/+13 |
| | | | | 'ffi.buffer()' now calls the constructor. | ||||
* | complain clearly if set_source() is given a /-separated name | Armin Rigo | 2017-01-26 | 1 | -0/+4 |
| | |||||
* | Move back "import cparser" to FFI.__init__, because that module only | Armin Rigo | 2017-01-20 | 1 | -1/+2 |
| | | | | needs to be imported if we instantiate FFI (admittedly, very often) | ||||
* | Avoid cyclic imports by moving exceptions to a separate module | Ronan Lamy | 2017-01-20 | 1 | -17/+4 |
| | |||||
* | Improve the error in case of version mismatch | Armin Rigo | 2016-12-25 | 1 | -2/+11 |
| | |||||
* | Backed out changeset 0087e2aec9ef | Armin Rigo | 2016-09-03 | 1 | -12/+18 |
| | | | | Un-kill the ctypes backend. Issue #282 for a justification. | ||||
* | - add ffi.compile(debug=flag) | Armin Rigo | 2016-09-03 | 1 | -2/+2 |
| | | | | | - this small addition, and a few others not in pypy 5.4, will make the next cffi release v1.8.1 | ||||
* | Kill the ctypes backend. | Armin Rigo | 2016-09-03 | 1 | -18/+12 |
| | |||||
* | Fix docstrings | Armin Rigo | 2016-06-03 | 1 | -2/+2 |
| | |||||
* | Implement backend.gcp() for the ctypes backend, and remove gc_weakref. | Amaury Forgeot d'Arc | 2016-04-23 | 1 | -14/+1 |
| | |||||
* | There is no reason to restrict ffi.unpack() to primitives. | Armin Rigo | 2016-04-17 | 1 | -4/+6 |
| | |||||
* | Remove again ffi.rawstring(), and implement instead ffi.unpack(). | Armin Rigo | 2016-04-16 | 1 | -10/+13 |
| | | | | | | | | | | | | | Pre-documentation notes: (hi Amaury :-) * ffi.unpack(<cdata 'char'>, n) == ffi.buffer(<cdata 'char'>, n)[:] but I hope it is a little bit more natural * ffi.unpack(<cdata 'wchar_t'>, n): this is the original motivation, because it has no previous equivalent * ffi.unpack(<cdata 'int'>, n) == list(<cdata 'int'>[0:n]) but should be much faster on CPython | ||||
* | ffi.rawstring(), with a minimal interface | Armin Rigo | 2016-04-15 | 1 | -0/+12 |
| | |||||
* | Change the API of ffi.list_types() | Armin Rigo | 2016-03-30 | 1 | -7/+6 |
| | |||||
* | ffi.list_types() | Armin Rigo | 2016-03-27 | 1 | -0/+21 |
| | |||||
* | more pypy tweaks | Armin Rigo | 2016-02-19 | 1 | -2/+7 |
| | |||||
* | pypy on windows now stores "python27.lib" in a directory "libs" | Armin Rigo | 2016-02-15 | 1 | -6/+4 |
| | |||||
* | Fix for Python 2.6 | Armin Rigo | 2016-02-13 | 1 | -1/+5 |
| | |||||
* | Mention it's work in progress | Armin Rigo | 2016-02-13 | 1 | -2/+4 |
| | |||||
* | Windows need the file 'libpypy-c.lib', which (unless people disagree) I | Armin Rigo | 2016-02-11 | 1 | -4/+13 |
| | | | | will add to pypy distributions next | ||||
* | I finally managed to run the tests on Windows, but only without | Armin Rigo | 2016-02-11 | 1 | -14/+13 |
| | | | | | changes in that file and by copying the file "libpypy-c.lib" from translation to a subdirectory "bin" of "sys.prefix" | ||||
* | allow embedding tests to run on pypy win32 | mattip | 2016-01-30 | 1 | -13/+14 |
| | |||||
* | issue #243: explicitly complain if ffi.def_extern() is called on the | Armin Rigo | 2016-01-19 | 1 | -0/+4 |
| | | | | Python-side FFI object | ||||
* | Windows uses '_d' even though I'm pretty sure DEBUG_EXT is a Debian-only | Armin Rigo | 2016-01-17 | 1 | -2/+4 |
| | | | | extension | ||||
* | Don't hardcode _d. If that is the extension, it'll be in sysconfig | Stefano Rivera | 2016-01-17 | 1 | -5/+3 |
| | |||||
* | Support extensions for pydebug cpythons | Stefano Rivera | 2016-01-17 | 1 | -0/+2 |
| | |||||
* | OS/X: in-progress, one test now passes | Armin Rigo | 2016-01-16 | 1 | -1/+1 |
| | |||||
* | win32: needs /MANIFEST | Armin Rigo | 2016-01-16 | 1 | -7/+9 |
| | |||||
* | fixes for pypy | Armin Rigo | 2016-01-15 | 1 | -2/+8 |
| |