aboutsummaryrefslogtreecommitdiffstats
path: root/cryptography
diff options
context:
space:
mode:
authorPaul Kehrer <paul.l.kehrer@gmail.com>2014-07-02 22:56:01 -0500
committerPaul Kehrer <paul.l.kehrer@gmail.com>2014-07-02 22:56:01 -0500
commit2a39f7f3c80b9c725b586ca96defbe5bad62bf83 (patch)
treeb5fba2d28e2d2b1b9de2fe3e8cf9e55ba9c95696 /cryptography
parent751c53b6f7cdc3e8301dd8672091acc105ed8874 (diff)
downloadcryptography-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.py19
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'"
+ )