Skip to content

Instantly share code, notes, and snippets.

@vitallium
Created December 4, 2012 06:46
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vitallium/4201323 to your computer and use it in GitHub Desktop.
Save vitallium/4201323 to your computer and use it in GitHub Desktop.
[PhantomJS] Patch for compiling using VS2012
diff --git a/src/qt/mkspecs/win32-msvc2010/qmake.conf b/src/qt/mkspecs/win32-msvc2010/qmake.conf
index 036c522..ea2ddb0 100644
--- a/src/qt/mkspecs/win32-msvc2010/qmake.conf
+++ b/src/qt/mkspecs/win32-msvc2010/qmake.conf
@@ -9,7 +9,7 @@ TEMPLATE = app
CONFIG += qt warn_on release incremental flat link_prl precompile_header autogen_precompile_source copy_dir_files debug_and_release debug_and_release_target embed_manifest_dll embed_manifest_exe
QT += core gui
DEFINES += UNICODE WIN32 QT_LARGEFILE_SUPPORT
-QMAKE_COMPILER_DEFINES += _MSC_VER=1600 WIN32
+QMAKE_COMPILER_DEFINES += _MSC_VER=1700 WIN32
QMAKE_CC = cl
QMAKE_LEX = flex
diff --git a/src/qt/preconfig.cmd b/src/qt/preconfig.cmd
index 1fbc111..dbaeafe 100644
--- a/src/qt/preconfig.cmd
+++ b/src/qt/preconfig.cmd
@@ -8,6 +8,9 @@ set QT_CFG=%QT_CFG% -confirm-license
set QT_CFG=%QT_CFG% -release
set QT_CFG=%QT_CFG% -static
+rem force platform value to MSVC2010
+set QT_CFG=%QT_CFG% -platform win32-msvc2010
+
set QT_CFG=%QT_CFG% -no-exceptions
set QT_CFG=%QT_CFG% -no-stl
set QT_CFG=%QT_CFG% -no-xmlpatterns
diff --git a/src/qt/src/3rdparty/webkit/Source/JavaScriptCore/wtf/HashSet.h b/src/qt/src/3rdparty/webkit/Source/JavaScriptCore/wtf/HashSet.h
index 82245f3..3f0a1e8 100644
--- a/src/qt/src/3rdparty/webkit/Source/JavaScriptCore/wtf/HashSet.h
+++ b/src/qt/src/3rdparty/webkit/Source/JavaScriptCore/wtf/HashSet.h
@@ -177,7 +177,9 @@ namespace WTF {
template<typename T, typename U, typename V>
inline pair<typename HashSet<T, U, V>::iterator, bool> HashSet<T, U, V>::add(const ValueType& value)
{
- return m_impl.add(value);
+ typedef typename HashSet<T, U, V>::iterator iter_type;
+ auto& temp = m_impl.add(value);
+ return make_pair((iter_type)temp.first, temp.second);
}
template<typename Value, typename HashFunctions, typename Traits>
@@ -186,7 +188,9 @@ namespace WTF {
HashSet<Value, HashFunctions, Traits>::add(const T& value)
{
typedef HashSetTranslatorAdapter<ValueType, ValueTraits, T, HashTranslator> Adapter;
- return m_impl.template addPassingHashCode<T, T, Adapter>(value, value);
+ typedef typename HashSet<Value, HashFunctions, Traits>::iterator iter_type;
+ auto& temp = m_impl.template addPassingHashCode<T, T, Adapter>(value, value);
+ return make_pair((iter_type)temp.first, temp.second);
}
template<typename T, typename U, typename V>
@JamesMGreene
Copy link

Is there a programmatic way to apply this patch? I'm not very familiar with patching yet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment