Am 18.05.17 um 10:10 schrieb Christian Gollwitzer:
The whole discussion reminds me of the "bumblebees can't fly" thing. tcc is a very small compiler (some 100kb) which supports most of C99.

For what it's worth, I compiled Python 3.6.1 on Linux/x86 using tcc. It was a simple matter of cloning tcc, compiling/installing it and the doing

        CC=tcc ./configure
        make

in the Python source folder. It only failed at the final linker step, because the tcc linker does not understand the flags -Xlinker -export-dynamic.

The compilation was extremely fast, it took 5s of wall clock time and 3s of user time to go from the sources to the python executable.

The ./python executable generated this way does work as far as I can tell, however "make test" fails with an import error - module "socket" is not available. Additionally, after linking "python", the compilation went on and required a C++ compiler, which was no problem in itself, but of course fell back to g++ - tcc only supports pure C.

So IMHO it should be a breeze to compile a pure C Python extension into something which successfully runs with the gcc compiled python.

On OSX, it was not successfull, because tcc cannot yet create executable binaries on disk in Mach-O format, however, ibraries are possible and runtime-linking (JIT) works without problems.

I guess that compiling the full thing on Windows could work with CC=tcc, if the GNU utils arae available (Cygwin/MSYS/Linux subsystem)

        Christian

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to