On 05/19/2017 03:38 PM, bartc wrote: > If I delete the .a file and do make again, then it will give me a list > of object files comprising libpython3.6m.a (not sure why it needs to be > a library, rather than bundle the list of .o files with python.o).
The reason is that the core of CPython is a shared library. This is so that Python can be embedded in other programs, and also to allow building of C-based extensions for Python. Without the shared library to link against, C-based extensions would be orphans without any way to work with CPython. > Anyway it's a start. > > For the compilation, I think it's done with the -D compiler option (to > pass on a special macro, which perhaps triggers certain things to be > included or defined). Some things are defined that way yes. Other things are defined in the generated header file mentioned by someone else the other day. -- https://mail.python.org/mailman/listinfo/python-list