bigfile/py: Stop using Plan9 C extensions
Starting from 5755a6b3 (Basic setup.py / Makefile to build/install/sdist stuff + bigfile.so skeleton) and 35eb95c2 (bigfile: Python wrapper around virtual memory subsystem) we were using Plan9 C extensions[1] for simple inheritance. Those extensions are supported by GCC with -fplan9-extensions option. However that option is supported only for C, while for C++ it does not work at all with error produced by the compiler on Plan9 syntax. Soon we'll need to add another extension - written in C++ - to wendelin.core . This extension will be providing client side of WCFS and integrating that with virtmem. In that extension we'll need to use _bigfile data structures - in particular we'll need to use PyBigFile and extend it with another `cdef class` children written in Cython/C++. This patch prepares for that: first stop using Plan9 C extensions in _bigfile py module data structures and adapt the code correspondingly. In the next patch we'll move those data structures into an .h file. We don't drop -fplan9-extensions from setup.py, because Plan9-style inheritance continues to be used internally by virtmem - e.g. in ram_shmfs.c and friends. A bit pity to drop that good stuff, but given that we'll need to use C++ for WCFS client for other good stuff provided by pygolang[2], it is a reasonable compromise. [1] http://9p.io/sys/doc/comp.html "Extensions" section [2] https://pypi.org/project/pygolang
Showing
This diff is collapsed.
Please register or sign in to comment