Linking with static libraries for Python standard components such as OpenSSL

gerson.kurz at gerson.kurz at
Fri Mar 8 08:23:42 CET 2013

I am rebuilding Python 2.7.4 using Visual Studio 2010. As part of that, I wanted to build with a current OpenSSL version (1.0.1e) and an updated SQLite version.

What I noted: the projects in the main workspace (at least in PCBuild) directly include the source code of dependent libraries. Can somebody please explain the rationale behind that?

Wouldn't it be better to instead link with static libraries of these projects? 

Exhibit A: _ssl.pyd requires a Perl interpreter to build. (Perl! Anathema!) Instead, _ssl.pyd could very well link with the Win32 binaries for OpenSSL? 

Exhibit B: _bsddb.pyd includes a ton of files from Berkley DB, with their filenames. Alas, newer versions of Berkley DB have slightly changed filenames, so the project needs to be changed to adjust for a newer version of Berkley DB.

More information about the Python-list mailing list