[Python-Dev] Windows package for new SSL package?
Mark Hammond
mhammond at skippinet.com.au
Thu Sep 13 01:22:48 CEST 2007
> I can't figure out how to build a Windows package for ssl-1.1.tar.gz,
> and probably don't have the tools to do it anyway. I presume that
> both a Windows machine and Visual Studio (because there's a C
> extension) is required?
>
> Anyone out there who's interested in the challenge?
>
> It's at http://www.parc.com/janssen/transient/ssl-1.1.tar.gz.
>
I had a bit of a look at this. I think I managed to get it building:
* find_ssl() is along way from working on Windows. Python itself uses magic
to locate an SSL directory in the main Python directory's parent. On my
system, this is c:\src\openssl-0.9.7e, but obviously that could be almost
anywhere, and with almost any name. See PCBuild\build_ssl.py and
PCBuild\_ssl.mak for the gory details. I'm not sure how you would like to
approach this (insist on an environment variable for the top-level SSL dir
name?), but in the meantime I hacked find_ssl() to:
ssl_incs = [r"\src\openssl-0.9.7e\inc32",]
ssl_libs = [r"\src\openssl-0.9.7e\out32"]
return ssl_incs, ssl_libs, ["libeay32", "ssleay32", "gdi32", "wsock32"]
* The call to find_ssl() appears to discard the 3rd param:
ssl_incs, ssl_libs, libs = find_ssl()
...
ext_modules=[Extension('ssl._ssl2', ['ssl/_ssl2.c'],
include_dirs = ssl_incs + [socket_inc],
library_dirs = ssl_libs,
libraries = ['ssl', 'crypto'],
depends = ['ssl/socketmodule.h'])],
The 'libraries =' line probably means to pass 'libs' rather than the
literal.
* The "depends = ['ssl/socketmodule.h']" fails for me - no header of that
name exists in the ssl directory in your archive.
After those changes I was able to get it built and tested:
"""
Ran 15 tests in 3.157s
OK
"""
Hope this helps,
Mark
More information about the Python-Dev
mailing list