summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Markmann <tm@ayena.de>2016-01-15 09:26:21 (GMT)
committerTobias Markmann <tm@ayena.de>2016-01-15 09:37:10 (GMT)
commita85e554093966d7174218a17e45cf8e8b6efadca (patch)
tree616bbacdb0545eab9919604cc9912ab2a19e4c0d
parent13801557b6664426cac26384441ab0b19ff9abb5 (diff)
downloadswift-a85e554093966d7174218a17e45cf8e8b6efadca.zip
swift-a85e554093966d7174218a17e45cf8e8b6efadca.tar.bz2
Always link secur32.lib to Swiften on Windows
Even when using the OpenSSL TLS backend for Swiften secur32.lib is required by Swiften/SASL/WindowsAuthentication. This also adds additional flags needed to build a bundled OpenSSL on Windows. Test-Information: Tested on Windows 8 with VS 2013. Change-Id: I51da79cfa7931c07c8da3f0c5d941a637ac26d0c
-rw-r--r--3rdParty/OpenSSL/SConscript5
-rw-r--r--BuildTools/SCons/SConstruct7
2 files changed, 9 insertions, 3 deletions
diff --git a/3rdParty/OpenSSL/SConscript b/3rdParty/OpenSSL/SConscript
index e3ad8b4..6af3d49 100644
--- a/3rdParty/OpenSSL/SConscript
+++ b/3rdParty/OpenSSL/SConscript
@@ -22,7 +22,10 @@ if env.get("OPENSSL_BUNDLED", False) :
"$OPENSSL_BUNDLE_DIR/crypto/modes",
"$OPENSSL_BUNDLE_DIR/include"
])
- openssl_env.Append(CPPDEFINES = ["OPENSSL_THREADS", "_REENTRANT", "DSO_DLFCN", "HAVE_DLFCN_H", "L_ENDIAN"])
+ if env["PLATFORM"] == "win32" :
+ openssl_env.Append(CPPDEFINES = ["OPENSSL_THREADS", "_REENTRANT", "L_ENDIAN", "OPENSSL_SYSNAME_WIN32", "WIN32_LEAN_AND_MEAN"])
+ else :
+ openssl_env.Append(CPPDEFINES = ["OPENSSL_THREADS", "_REENTRANT", "DSO_DLFCN", "HAVE_DLFCN_H", "L_ENDIAN"])
# Detect 32/64 bit
conf = Configure(conf_env)
diff --git a/BuildTools/SCons/SConstruct b/BuildTools/SCons/SConstruct
index 3fd093b..81b78a7 100644
--- a/BuildTools/SCons/SConstruct
+++ b/BuildTools/SCons/SConstruct
@@ -557,12 +557,15 @@ elif not env["HAVE_SECURETRANSPORT"] :
else :
env["OPENSSL_FLAGS"] = {}
if env["PLATFORM"] == "win32" :
- env["HAVE_SCHANNEL"] = True
# If we're compiling for Windows and OpenSSL isn't being used, use Schannel
- env.Append(LIBS = ["secur32"])
+ env["HAVE_SCHANNEL"] = True
openssl_conf.Finish()
+if env["PLATFORM"] == "win32" :
+ # On Windows link to secur32. It is needed by Swiften/SASL/WindowsAuthentication
+ env.Append(LIBS = ["secur32"])
+
#Hunspell
hunspell_env = conf_env.Clone()
hunspell_prefix = isinstance(env.get("hunspell", False), str) and env["hunspell"] or ""