summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Markmann <tm@ayena.de>2015-11-12 13:42:58 (GMT)
committerKevin Smith <kevin.smith@isode.com>2015-12-17 20:06:10 (GMT)
commit02a5b5c7f263913bd3d9b6977a1c6935e90c97eb (patch)
treec5f3078540ae663d2a7cd379660f2fb8847efb06
parent6c63910aa1016f06113fd562c8ffebfa6b4241b2 (diff)
downloadswift-02a5b5c7f263913bd3d9b6977a1c6935e90c97eb.zip
swift-02a5b5c7f263913bd3d9b6977a1c6935e90c97eb.tar.bz2
3rdParty fixes to enable compatibility with VS 2015
Included patches for future reference. Test-Information: Tested patches with VS 2015 Community and unit tests for 32 bit and 64 bit builds. Change-Id: Ifa8d0ca3bf33010af8d8094c6df45f2a5702976c
-rw-r--r--3rdParty/Boost/03_boost_silence_VS2015_compat_warning.diff13
-rw-r--r--3rdParty/Boost/src/boost/config/compiler/visualc.hpp2
-rw-r--r--3rdParty/LibIDN/01_libidn_VS2015_64bit_fixes.diff36
-rw-r--r--3rdParty/LibIDN/SConscript4
-rwxr-xr-x[-rw-r--r--]3rdParty/LibIDN/src/stringprep.c9
-rw-r--r--3rdParty/LibIDN/stubs/win32/stdbool/stdbool.h (renamed from 3rdParty/LibIDN/stubs/win32/stdbool.h)0
6 files changed, 60 insertions, 4 deletions
diff --git a/3rdParty/Boost/03_boost_silence_VS2015_compat_warning.diff b/3rdParty/Boost/03_boost_silence_VS2015_compat_warning.diff
new file mode 100644
index 0000000..7cbfbdd
--- /dev/null
+++ b/3rdParty/Boost/03_boost_silence_VS2015_compat_warning.diff
@@ -0,0 +1,13 @@
+diff --git a/3rdParty/Boost/src/boost/config/compiler/visualc.hpp b/3rdParty/Boost/src/boost/config/compiler/visualc.hpp
+index 842f086..3c0fbce 100644
+--- a/3rdParty/Boost/src/boost/config/compiler/visualc.hpp
++++ b/3rdParty/Boost/src/boost/config/compiler/visualc.hpp
+@@ -253,7 +253,7 @@
+
+ //
+ // last known and checked version is 18.00.20827.3 (VC12 RC, aka 2013 RC):
+-#if (_MSC_VER > 1800 && _MSC_FULL_VER > 180020827)
++#if (_MSC_VER > 1900)
+ # if defined(BOOST_ASSERT_CONFIG)
+ # error "Unknown compiler version - please run the configure tests and report the results"
+ # else
diff --git a/3rdParty/Boost/src/boost/config/compiler/visualc.hpp b/3rdParty/Boost/src/boost/config/compiler/visualc.hpp
index 842f086..3c0fbce 100644
--- a/3rdParty/Boost/src/boost/config/compiler/visualc.hpp
+++ b/3rdParty/Boost/src/boost/config/compiler/visualc.hpp
@@ -253,7 +253,7 @@
//
// last known and checked version is 18.00.20827.3 (VC12 RC, aka 2013 RC):
-#if (_MSC_VER > 1800 && _MSC_FULL_VER > 180020827)
+#if (_MSC_VER > 1900)
# if defined(BOOST_ASSERT_CONFIG)
# error "Unknown compiler version - please run the configure tests and report the results"
# else
diff --git a/3rdParty/LibIDN/01_libidn_VS2015_64bit_fixes.diff b/3rdParty/LibIDN/01_libidn_VS2015_64bit_fixes.diff
new file mode 100644
index 0000000..0d864bc
--- /dev/null
+++ b/3rdParty/LibIDN/01_libidn_VS2015_64bit_fixes.diff
@@ -0,0 +1,36 @@
+diff --git a/3rdParty/LibIDN/src/stringprep.c b/3rdParty/LibIDN/src/stringprep.c
+old mode 100644
+new mode 100755
+index 8ff28e6..19bf0d9
+--- a/3rdParty/LibIDN/src/stringprep.c
++++ b/3rdParty/LibIDN/src/stringprep.c
+@@ -33,6 +33,7 @@
+
+ #include <stdlib.h>
+ #include <string.h>
++#include <assert.h>
+
+ #include "stringprep.h"
+
+@@ -372,7 +373,7 @@ stringprep (char *in,
+ int rc;
+ char *utf8 = NULL;
+ uint32_t *ucs4 = NULL;
+- size_t ucs4len, maxucs4len, adducs4len = 50;
++ size_t ucs4len = SIZE_MAX, maxucs4len = SIZE_MAX, adducs4len = 50;
+
+ do
+ {
+@@ -380,8 +381,10 @@ stringprep (char *in,
+
+ free (ucs4);
+ ucs4 = stringprep_utf8_to_ucs4 (in, -1, &ucs4len);
+- if (ucs4 == NULL)
+- return STRINGPREP_ICONV_ERROR;
++ if (ucs4 == NULL) {
++ return STRINGPREP_ICONV_ERROR;
++ }
++ assert(ucs4len != SIZE_MAX);
+ maxucs4len = ucs4len + adducs4len;
+ newp = realloc (ucs4, maxucs4len * sizeof (uint32_t));
+ if (!newp)
diff --git a/3rdParty/LibIDN/SConscript b/3rdParty/LibIDN/SConscript
index cfe189b..e3ed839 100644
--- a/3rdParty/LibIDN/SConscript
+++ b/3rdParty/LibIDN/SConscript
@@ -19,6 +19,8 @@ if env.get("LIBIDN_BUNDLED", False) :
if env["PLATFORM"] == "win32" :
env["LIBIDN_FLAGS"]["CPPPATH"] += [Dir("stubs/win32")]
+ if float(env["MSVC_VERSION"]) < 14:
+ env["LIBIDN_FLAGS"]["CPPPATH"] += [Dir("stubs/win32/stdbool")]
if env["MSVC_VERSION"][:3] == "9.0" :
env["LIBIDN_FLAGS"]["CPPPATH"] += [Dir("stubs/win32/VC2008")]
@@ -52,6 +54,8 @@ if env.get("LIBIDN_BUNDLED", False) :
myenv.Append(CPPPATH = ["src", "stubs", "src/gl"])
if myenv["PLATFORM"] == "win32" :
myenv.Append(CPPPATH = "stubs/win32")
+ if float(env["MSVC_VERSION"]) < 14:
+ myenv.Append(CPPPATH = "stubs/win32/stdbool")
if myenv["MSVC_VERSION"][:3] == "9.0" :
myenv.Append(CPPPATH = "stubs/win32/VC2008")
diff --git a/3rdParty/LibIDN/src/stringprep.c b/3rdParty/LibIDN/src/stringprep.c
index 8ff28e6..19bf0d9 100644..100755
--- a/3rdParty/LibIDN/src/stringprep.c
+++ b/3rdParty/LibIDN/src/stringprep.c
@@ -33,6 +33,7 @@
#include <stdlib.h>
#include <string.h>
+#include <assert.h>
#include "stringprep.h"
@@ -372,7 +373,7 @@ stringprep (char *in,
int rc;
char *utf8 = NULL;
uint32_t *ucs4 = NULL;
- size_t ucs4len, maxucs4len, adducs4len = 50;
+ size_t ucs4len = SIZE_MAX, maxucs4len = SIZE_MAX, adducs4len = 50;
do
{
@@ -380,8 +381,10 @@ stringprep (char *in,
free (ucs4);
ucs4 = stringprep_utf8_to_ucs4 (in, -1, &ucs4len);
- if (ucs4 == NULL)
- return STRINGPREP_ICONV_ERROR;
+ if (ucs4 == NULL) {
+ return STRINGPREP_ICONV_ERROR;
+ }
+ assert(ucs4len != SIZE_MAX);
maxucs4len = ucs4len + adducs4len;
newp = realloc (ucs4, maxucs4len * sizeof (uint32_t));
if (!newp)
diff --git a/3rdParty/LibIDN/stubs/win32/stdbool.h b/3rdParty/LibIDN/stubs/win32/stdbool/stdbool.h
index c789c92..c789c92 100644
--- a/3rdParty/LibIDN/stubs/win32/stdbool.h
+++ b/3rdParty/LibIDN/stubs/win32/stdbool/stdbool.h