diff options
| author | Paul Kehrer <paul.l.kehrer@gmail.com> | 2014-07-02 22:56:01 -0500 |
|---|---|---|
| committer | Paul Kehrer <paul.l.kehrer@gmail.com> | 2014-07-02 22:56:01 -0500 |
| commit | 2a39f7f3c80b9c725b586ca96defbe5bad62bf83 (patch) | |
| tree | b5fba2d28e2d2b1b9de2fe3e8cf9e55ba9c95696 /cryptography | |
| parent | 751c53b6f7cdc3e8301dd8672091acc105ed8874 (diff) | |
| download | cryptography-2a39f7f3c80b9c725b586ca96defbe5bad62bf83.tar.gz cryptography-2a39f7f3c80b9c725b586ca96defbe5bad62bf83.tar.bz2 cryptography-2a39f7f3c80b9c725b586ca96defbe5bad62bf83.zip | |
switch to env variable based static/dynamic switch for windows
Diffstat (limited to 'cryptography')
| -rw-r--r-- | cryptography/hazmat/bindings/openssl/binding.py | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/cryptography/hazmat/bindings/openssl/binding.py b/cryptography/hazmat/bindings/openssl/binding.py index 6b4afe13..7305874b 100644 --- a/cryptography/hazmat/bindings/openssl/binding.py +++ b/cryptography/hazmat/bindings/openssl/binding.py @@ -13,6 +13,7 @@ from __future__ import absolute_import, division, print_function +import os import sys import threading @@ -97,10 +98,8 @@ class Binding(object): if sys.platform != "win32": libraries = ["crypto", "ssl"] else: # pragma: no cover - libraries = [ - "libeay32mt", "ssleay32mt", "advapi32", - "crypt32", "gdi32", "user32", "ws2_32" - ] + link_type = os.environ.get("PYCA_OPENSSL_INSTALL", "static") + libraries = _get_windows_libraries(link_type) cls.ffi, cls.lib = build_ffi( module_prefix=cls._module_prefix, @@ -157,3 +156,15 @@ class Binding(object): mode, n, file, line ) ) + + +def _get_windows_libraries(link_type): + if link_type == "dynamic": + return ["libeay32", "ssleay32", "advapi32"] + elif link_type == "static": + return ["libeay32mt", "ssleay32mt", "advapi32", + "crypt32", "gdi32", "user32", "ws2_32"] + else: + raise ValueError( + "PYCA_OPENSSL_INSTALL must be 'static' or 'dynamic'" + ) |
