From a85e554093966d7174218a17e45cf8e8b6efadca Mon Sep 17 00:00:00 2001
From: Tobias Markmann <tm@ayena.de>
Date: Fri, 15 Jan 2016 10:26:21 +0100
Subject: 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

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 ""
-- 
cgit v0.10.2-6-g49f6