diff options
-rw-r--r-- | setup.py | 19 |
1 files changed, 18 insertions, 1 deletions
@@ -180,7 +180,24 @@ class MyBuildExt(build_ext): ext.sources.append(os.path.join(AMALGAMATION_ROOT, "sqlite3.c")) ext.include_dirs.append(AMALGAMATION_ROOT) - ext.extra_link_args.append("-lcrypto") + if sys.platform == "win32": + # Try to locate openssl + openssl_conf = os.environ.get('OPENSSL_CONF') + if not openssl_conf: + sys.exit('Fatal error: OpenSSL could not be detected!') + openssl = os.path.dirname(os.path.dirname(openssl_conf)) + + # Configure the compiler + ext.include_dirs.append(os.path.join(openssl, "include")) + ext.define_macros.append(("inline", "__inline")) + + # Configure the linker + ext.extra_link_args.append("libeay32.lib") + ext.extra_link_args.append( + "/LIBPATH:" + os.path.join(openssl, "lib") + ) + else: + ext.extra_link_args.append("-lcrypto") if self.static: self._build_extension(ext) |