gnucash-on-windows master: Multiple changes pushed

John Ralls jralls at code.gnucash.org
Sun Oct 26 19:08:14 EDT 2014


Updated	 via  https://github.com/Gnucash/gnucash-on-windows/commit/36ba1083 (commit)
	 via  https://github.com/Gnucash/gnucash-on-windows/commit/88e47e5a (commit)
	from  https://github.com/Gnucash/gnucash-on-windows/commit/91804439 (commit)



commit 36ba1083dce3977e0113e01823dd550fdbb908b2
Author: John Ralls <jralls at ceridwen.us>
Date:   Sun Oct 26 15:58:53 2014 -0700

    Update WebKitGtk to a new one built with the current MinGW toolchain.
    
    Provide new patch, URLs, dependencies, etc.

diff --git a/0001-Fix-various-issues-when-compiling-natively-on-MinGW.patch b/0001-Fix-various-issues-when-compiling-natively-on-MinGW.patch
new file mode 100644
index 0000000..8dfad03
--- /dev/null
+++ b/0001-Fix-various-issues-when-compiling-natively-on-MinGW.patch
@@ -0,0 +1,474 @@
+From bf808730aad08b1052db9d2b91fdf79713886db4 Mon Sep 17 00:00:00 2001
+From: John Ralls <jralls at ceridwen.us>
+Date: Sun, 26 Oct 2014 15:39:21 -0700
+Subject: [PATCH] Fix various issues when compiling natively on MinGW.
+
+* On Windows, utf8.h and UTF8.h are the same, so #include <utf8.h> gets
+UTF8.h. Rename the latter to WTF-UTF8.h
+* Like Solaris, Windows needs to include either sys/time.h or time.h.
+* The ICU I18N library is called libicuin instead of libicu18n.
+* DumpRenderTree refused to link until the LDADD and LDFLAGS parameters
+were removed from the makefile. Don't understand why, it just happened
+to work when I was trying to get an error message.
+---
+ Source/JavaScriptCore/API/JSClassRef.cpp           |  2 +-
+ Source/JavaScriptCore/API/JSStringRef.cpp          |  2 +-
+ .../runtime/JSGlobalObjectFunctions.cpp            |  2 +-
+ Source/JavaScriptCore/runtime/UString.cpp          |  2 +-
+ Source/JavaScriptCore/tools/CodeProfiling.cpp      |  2 +-
+ Source/JavaScriptCore/wtf/text/AtomicString.cpp    |  2 +-
+ Source/JavaScriptCore/wtf/text/WTFString.cpp       |  2 +-
+ Source/JavaScriptCore/wtf/unicode/UTF8.cpp         |  2 +-
+ Source/JavaScriptCore/wtf/unicode/UTF8.h           | 84 ----------------------
+ Source/JavaScriptCore/wtf/unicode/WTF-UTF8.h       | 84 ++++++++++++++++++++++
+ .../wtf/unicode/glib/UnicodeGLib.cpp               |  2 +-
+ Source/WebCore/loader/icon/IconRecord.h            |  2 +-
+ Source/WebCore/page/Page.h                         |  2 +-
+ .../platform/network/ResourceResponseBase.h        |  2 +-
+ Source/WebCore/platform/text/String.cpp            |  2 +-
+ Source/WebCore/xml/XSLTProcessorLibxslt.cpp        |  2 +-
+ Source/WebKit2/Shared/WebString.h                  |  2 +-
+ Tools/GNUmakefile.am                               | 34 ++++-----
+ configure.ac                                       |  4 +-
+ 19 files changed, 118 insertions(+), 118 deletions(-)
+ delete mode 100644 Source/JavaScriptCore/wtf/unicode/UTF8.h
+ create mode 100644 Source/JavaScriptCore/wtf/unicode/WTF-UTF8.h
+
+diff --git a/Source/JavaScriptCore/API/JSClassRef.cpp b/Source/JavaScriptCore/API/JSClassRef.cpp
+index 298c734..d375a9d 100644
+--- a/Source/JavaScriptCore/API/JSClassRef.cpp
++++ b/Source/JavaScriptCore/API/JSClassRef.cpp
+@@ -34,7 +34,7 @@
+ #include <runtime/ObjectPrototype.h>
+ #include <runtime/Identifier.h>
+ #include <wtf/text/StringHash.h>
+-#include <wtf/unicode/UTF8.h>
++#include <wtf/unicode/WTF-UTF8.h>
+ 
+ using namespace std;
+ using namespace JSC;
+diff --git a/Source/JavaScriptCore/API/JSStringRef.cpp b/Source/JavaScriptCore/API/JSStringRef.cpp
+index ea31da6..1acb197 100644
+--- a/Source/JavaScriptCore/API/JSStringRef.cpp
++++ b/Source/JavaScriptCore/API/JSStringRef.cpp
+@@ -28,7 +28,7 @@
+ 
+ #include "InitializeThreading.h"
+ #include "OpaqueJSString.h"
+-#include <wtf/unicode/UTF8.h>
++#include <wtf/unicode/WTF-UTF8.h>
+ 
+ using namespace JSC;
+ using namespace WTF::Unicode;
+diff --git a/Source/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp b/Source/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp
+index 204144c..ade2997 100644
+--- a/Source/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp
++++ b/Source/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp
+@@ -42,7 +42,7 @@
+ #include <wtf/Assertions.h>
+ #include <wtf/MathExtras.h>
+ #include <wtf/StringExtras.h>
+-#include <wtf/unicode/UTF8.h>
++#include <wtf/unicode/WTF-UTF8.h>
+ 
+ using namespace WTF;
+ using namespace Unicode;
+diff --git a/Source/JavaScriptCore/runtime/UString.cpp b/Source/JavaScriptCore/runtime/UString.cpp
+index 5b1e9a0..52e697e 100644
+--- a/Source/JavaScriptCore/runtime/UString.cpp
++++ b/Source/JavaScriptCore/runtime/UString.cpp
+@@ -39,7 +39,7 @@
+ #include <wtf/StringExtras.h>
+ #include <wtf/Vector.h>
+ #include <wtf/dtoa.h>
+-#include <wtf/unicode/UTF8.h>
++#include <wtf/unicode/WTF-UTF8.h>
+ 
+ #if HAVE(STRINGS_H)
+ #include <strings.h>
+diff --git a/Source/JavaScriptCore/tools/CodeProfiling.cpp b/Source/JavaScriptCore/tools/CodeProfiling.cpp
+index f116038..1017caf 100644
+--- a/Source/JavaScriptCore/tools/CodeProfiling.cpp
++++ b/Source/JavaScriptCore/tools/CodeProfiling.cpp
+@@ -33,7 +33,7 @@
+ #include <signal.h>
+ #endif
+ 
+-#if OS(LINUX)
++#if OS(LINUX) || defined(__MINGW32__)
+ #include <sys/time.h>
+ #endif
+ 
+diff --git a/Source/JavaScriptCore/wtf/text/AtomicString.cpp b/Source/JavaScriptCore/wtf/text/AtomicString.cpp
+index d775e7b..f2ef1ab 100644
+--- a/Source/JavaScriptCore/wtf/text/AtomicString.cpp
++++ b/Source/JavaScriptCore/wtf/text/AtomicString.cpp
+@@ -28,7 +28,7 @@
+ #include <wtf/HashSet.h>
+ #include <wtf/Threading.h>
+ #include <wtf/WTFThreadData.h>
+-#include <wtf/unicode/UTF8.h>
++#include <wtf/unicode/WTF-UTF8.h>
+ 
+ namespace WTF {
+ 
+diff --git a/Source/JavaScriptCore/wtf/text/WTFString.cpp b/Source/JavaScriptCore/wtf/text/WTFString.cpp
+index 04c970a..2c1eba5 100644
+--- a/Source/JavaScriptCore/wtf/text/WTFString.cpp
++++ b/Source/JavaScriptCore/wtf/text/WTFString.cpp
+@@ -30,7 +30,7 @@
+ #include <wtf/StringExtras.h>
+ #include <wtf/Vector.h>
+ #include <wtf/dtoa.h>
+-#include <wtf/unicode/UTF8.h>
++#include <wtf/unicode/WTF-UTF8.h>
+ #include <wtf/unicode/Unicode.h>
+ 
+ using namespace std;
+diff --git a/Source/JavaScriptCore/wtf/unicode/UTF8.cpp b/Source/JavaScriptCore/wtf/unicode/UTF8.cpp
+index 8ea5c69..e0366da 100644
+--- a/Source/JavaScriptCore/wtf/unicode/UTF8.cpp
++++ b/Source/JavaScriptCore/wtf/unicode/UTF8.cpp
+@@ -25,7 +25,7 @@
+  */
+ 
+ #include "config.h"
+-#include "UTF8.h"
++#include "WTF-UTF8.h"
+ 
+ #include "ASCIICType.h"
+ #include <wtf/StringHasher.h>
+diff --git a/Source/JavaScriptCore/wtf/unicode/UTF8.h b/Source/JavaScriptCore/wtf/unicode/UTF8.h
+deleted file mode 100644
+index bc2497b..0000000
+--- a/Source/JavaScriptCore/wtf/unicode/UTF8.h
++++ /dev/null
+@@ -1,84 +0,0 @@
+-/*
+- * Copyright (C) 2007 Apple Inc.  All rights reserved.
+- *
+- * Redistribution and use in source and binary forms, with or without
+- * modification, are permitted provided that the following conditions
+- * are met:
+- * 1. Redistributions of source code must retain the above copyright
+- *    notice, this list of conditions and the following disclaimer.
+- * 2. Redistributions in binary form must reproduce the above copyright
+- *    notice, this list of conditions and the following disclaimer in the
+- *    documentation and/or other materials provided with the distribution.
+- *
+- * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+- */
+-
+-#ifndef WTF_UTF8_h
+-#define WTF_UTF8_h
+-
+-#include "Unicode.h"
+-
+-namespace WTF {
+-namespace Unicode {
+-
+-    // Given a first byte, gives the length of the UTF-8 sequence it begins.
+-    // Returns 0 for bytes that are not legal starts of UTF-8 sequences.
+-    // Only allows sequences of up to 4 bytes, since that works for all Unicode characters (U-00000000 to U-0010FFFF).
+-    int UTF8SequenceLength(char);
+-
+-    // Takes a null-terminated C-style string with a UTF-8 sequence in it and converts it to a character.
+-    // Only allows Unicode characters (U-00000000 to U-0010FFFF).
+-    // Returns -1 if the sequence is not valid (including presence of extra bytes).
+-    int decodeUTF8Sequence(const char*);
+-
+-    typedef enum {
+-            conversionOK,       // conversion successful
+-            sourceExhausted,    // partial character in source, but hit end
+-            targetExhausted,    // insuff. room in target for conversion
+-            sourceIllegal       // source sequence is illegal/malformed
+-    } ConversionResult;
+-
+-    // These conversion functions take a "strict" argument. When this
+-    // flag is set to strict, both irregular sequences and isolated surrogates
+-    // will cause an error.  When the flag is set to lenient, both irregular
+-    // sequences and isolated surrogates are converted.
+-    // 
+-    // Whether the flag is strict or lenient, all illegal sequences will cause
+-    // an error return. This includes sequences such as: <F4 90 80 80>, <C0 80>,
+-    // or <A0> in UTF-8, and values above 0x10FFFF in UTF-32. Conformant code
+-    // must check for illegal sequences.
+-    // 
+-    // When the flag is set to lenient, characters over 0x10FFFF are converted
+-    // to the replacement character; otherwise (when the flag is set to strict)
+-    // they constitute an error.
+-
+-    WTF_EXPORT_PRIVATE ConversionResult convertUTF8ToUTF16(
+-                    const char** sourceStart, const char* sourceEnd, 
+-                    UChar** targetStart, UChar* targetEnd, bool strict = true);
+-
+-    ConversionResult convertLatin1ToUTF8(
+-                    const LChar** sourceStart, const LChar* sourceEnd, 
+-                    char** targetStart, char* targetEnd);
+-
+-    WTF_EXPORT_PRIVATE ConversionResult convertUTF16ToUTF8(
+-                    const UChar** sourceStart, const UChar* sourceEnd, 
+-                    char** targetStart, char* targetEnd, bool strict = true);
+-
+-    unsigned calculateStringHashAndLengthFromUTF8(const char* data, const char* dataEnd, unsigned& dataLength, unsigned& utf16Length);
+-
+-    bool equalUTF16WithUTF8(const UChar* a, const UChar* aEnd, const char* b, const char* bEnd);
+-
+-} // namespace Unicode
+-} // namespace WTF
+-
+-#endif // WTF_UTF8_h
+diff --git a/Source/JavaScriptCore/wtf/unicode/WTF-UTF8.h b/Source/JavaScriptCore/wtf/unicode/WTF-UTF8.h
+new file mode 100644
+index 0000000..bc2497b
+--- /dev/null
++++ b/Source/JavaScriptCore/wtf/unicode/WTF-UTF8.h
+@@ -0,0 +1,84 @@
++/*
++ * Copyright (C) 2007 Apple Inc.  All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ * 1. Redistributions of source code must retain the above copyright
++ *    notice, this list of conditions and the following disclaimer.
++ * 2. Redistributions in binary form must reproduce the above copyright
++ *    notice, this list of conditions and the following disclaimer in the
++ *    documentation and/or other materials provided with the distribution.
++ *
++ * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
++ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
++ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
++ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
++ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
++ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
++ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
++ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
++ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
++ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
++ */
++
++#ifndef WTF_UTF8_h
++#define WTF_UTF8_h
++
++#include "Unicode.h"
++
++namespace WTF {
++namespace Unicode {
++
++    // Given a first byte, gives the length of the UTF-8 sequence it begins.
++    // Returns 0 for bytes that are not legal starts of UTF-8 sequences.
++    // Only allows sequences of up to 4 bytes, since that works for all Unicode characters (U-00000000 to U-0010FFFF).
++    int UTF8SequenceLength(char);
++
++    // Takes a null-terminated C-style string with a UTF-8 sequence in it and converts it to a character.
++    // Only allows Unicode characters (U-00000000 to U-0010FFFF).
++    // Returns -1 if the sequence is not valid (including presence of extra bytes).
++    int decodeUTF8Sequence(const char*);
++
++    typedef enum {
++            conversionOK,       // conversion successful
++            sourceExhausted,    // partial character in source, but hit end
++            targetExhausted,    // insuff. room in target for conversion
++            sourceIllegal       // source sequence is illegal/malformed
++    } ConversionResult;
++
++    // These conversion functions take a "strict" argument. When this
++    // flag is set to strict, both irregular sequences and isolated surrogates
++    // will cause an error.  When the flag is set to lenient, both irregular
++    // sequences and isolated surrogates are converted.
++    // 
++    // Whether the flag is strict or lenient, all illegal sequences will cause
++    // an error return. This includes sequences such as: <F4 90 80 80>, <C0 80>,
++    // or <A0> in UTF-8, and values above 0x10FFFF in UTF-32. Conformant code
++    // must check for illegal sequences.
++    // 
++    // When the flag is set to lenient, characters over 0x10FFFF are converted
++    // to the replacement character; otherwise (when the flag is set to strict)
++    // they constitute an error.
++
++    WTF_EXPORT_PRIVATE ConversionResult convertUTF8ToUTF16(
++                    const char** sourceStart, const char* sourceEnd, 
++                    UChar** targetStart, UChar* targetEnd, bool strict = true);
++
++    ConversionResult convertLatin1ToUTF8(
++                    const LChar** sourceStart, const LChar* sourceEnd, 
++                    char** targetStart, char* targetEnd);
++
++    WTF_EXPORT_PRIVATE ConversionResult convertUTF16ToUTF8(
++                    const UChar** sourceStart, const UChar* sourceEnd, 
++                    char** targetStart, char* targetEnd, bool strict = true);
++
++    unsigned calculateStringHashAndLengthFromUTF8(const char* data, const char* dataEnd, unsigned& dataLength, unsigned& utf16Length);
++
++    bool equalUTF16WithUTF8(const UChar* a, const UChar* aEnd, const char* b, const char* bEnd);
++
++} // namespace Unicode
++} // namespace WTF
++
++#endif // WTF_UTF8_h
+diff --git a/Source/JavaScriptCore/wtf/unicode/glib/UnicodeGLib.cpp b/Source/JavaScriptCore/wtf/unicode/glib/UnicodeGLib.cpp
+index a01c3ee..a99cefb 100644
+--- a/Source/JavaScriptCore/wtf/unicode/glib/UnicodeGLib.cpp
++++ b/Source/JavaScriptCore/wtf/unicode/glib/UnicodeGLib.cpp
+@@ -24,7 +24,7 @@
+ #include "UnicodeGLib.h"
+ 
+ #include <wtf/Vector.h>
+-#include <wtf/unicode/UTF8.h>
++#include <wtf/unicode/WTF-UTF8.h>
+ 
+ #define UTF8_IS_SURROGATE(character) (character >= 0x10000 && character <= 0x10FFFF)
+ 
+diff --git a/Source/WebCore/loader/icon/IconRecord.h b/Source/WebCore/loader/icon/IconRecord.h
+index 50ef7f7..a4d7c20 100644
+--- a/Source/WebCore/loader/icon/IconRecord.h
++++ b/Source/WebCore/loader/icon/IconRecord.h
+@@ -38,7 +38,7 @@
+ #include <wtf/OwnPtr.h>
+ #include <wtf/text/StringHash.h>
+ 
+-#if OS(SOLARIS)
++#if OS(SOLARIS) || defined (__MINGW32__)
+ #include <sys/types.h> // For time_t structure.
+ #endif
+ 
+diff --git a/Source/WebCore/page/Page.h b/Source/WebCore/page/Page.h
+index 090b42c..eba7ca1 100644
+--- a/Source/WebCore/page/Page.h
++++ b/Source/WebCore/page/Page.h
+@@ -34,7 +34,7 @@
+ #include <wtf/HashSet.h>
+ #include <wtf/Noncopyable.h>
+ 
+-#if OS(SOLARIS)
++#if OS(SOLARIS) || defined (__MINGW32__)
+ #include <sys/time.h> // For time_t structure.
+ #endif
+ 
+diff --git a/Source/WebCore/platform/network/ResourceResponseBase.h b/Source/WebCore/platform/network/ResourceResponseBase.h
+index 3c61666..5e76d17 100644
+--- a/Source/WebCore/platform/network/ResourceResponseBase.h
++++ b/Source/WebCore/platform/network/ResourceResponseBase.h
+@@ -35,7 +35,7 @@
+ #include <wtf/PassOwnPtr.h>
+ #include <wtf/RefPtr.h>
+ 
+-#if OS(SOLARIS)
++#if OS(SOLARIS) || defined (__MINGW32__)
+ #include <sys/time.h> // For time_t structure.
+ #endif
+ 
+diff --git a/Source/WebCore/platform/text/String.cpp b/Source/WebCore/platform/text/String.cpp
+index f2f8d2e..78905ec 100644
+--- a/Source/WebCore/platform/text/String.cpp
++++ b/Source/WebCore/platform/text/String.cpp
+@@ -24,7 +24,7 @@
+ 
+ #include "SharedBuffer.h"
+ #include "TextBreakIterator.h"
+-#include <wtf/unicode/UTF8.h>
++#include <wtf/unicode/WTF-UTF8.h>
+ #include <wtf/unicode/Unicode.h>
+ 
+ using namespace WTF;
+diff --git a/Source/WebCore/xml/XSLTProcessorLibxslt.cpp b/Source/WebCore/xml/XSLTProcessorLibxslt.cpp
+index 076a852..fe5787a 100644
+--- a/Source/WebCore/xml/XSLTProcessorLibxslt.cpp
++++ b/Source/WebCore/xml/XSLTProcessorLibxslt.cpp
+@@ -50,7 +50,7 @@
+ #include <wtf/Vector.h>
+ #include <wtf/text/CString.h>
+ #include <wtf/text/StringBuffer.h>
+-#include <wtf/unicode/UTF8.h>
++#include <wtf/unicode/WTF-UTF8.h>
+ 
+ #if PLATFORM(MAC)
+ #include "SoftLinking.h"
+diff --git a/Source/WebKit2/Shared/WebString.h b/Source/WebKit2/Shared/WebString.h
+index 18b3fc8..0f04d70 100644
+--- a/Source/WebKit2/Shared/WebString.h
++++ b/Source/WebKit2/Shared/WebString.h
+@@ -30,7 +30,7 @@
+ #include <JavaScriptCore/JSStringRef.h>
+ #include <wtf/PassRefPtr.h>
+ #include <wtf/text/WTFString.h>
+-#include <wtf/unicode/UTF8.h>
++#include <wtf/unicode/WTF-UTF8.h>
+ 
+ namespace WebKit {
+ 
+diff --git a/Tools/GNUmakefile.am b/Tools/GNUmakefile.am
+index fe7a1ce..8b56ee0 100644
+--- a/Tools/GNUmakefile.am
++++ b/Tools/GNUmakefile.am
+@@ -156,23 +156,23 @@ Programs_DumpRenderTree_CFLAGS = \
+ 	$(GTK_CFLAGS) \
+ 	$(LIBSOUP_CFLAGS)
+ 
+-Programs_DumpRenderTree_LDADD = \
+-	libjavascriptcoregtk- at WEBKITGTK_API_MAJOR_VERSION@. at WEBKITGTK_API_MINOR_VERSION@.la \
+-	libwebkitgtk- at WEBKITGTK_API_MAJOR_VERSION@. at WEBKITGTK_API_MINOR_VERSION@.la \
+-	libWebCoreInternals.la \
+-	$(GLOBALDEPS_LIBS) \
+-	$(CAIRO_LIBS) \
+-	$(GTK_LIBS) \
+-	$(GLIB_LIBS) \
+-	$(LIBSOUP_LIBS) \
+-	$(FREETYPE_LIBS) \
+-	$(WINMM_LIBS) \
+-	$(XRENDER_LIBS) \
+-	$(XT_LIBS)
+-
+-Programs_DumpRenderTree_LDFLAGS = \
+-	-no-fast-install \
+-	-no-install
++#Programs_DumpRenderTree_LDADD = \
++#	libjavascriptcoregtk- at WEBKITGTK_API_MAJOR_VERSION@. at WEBKITGTK_API_MINOR_VERSION@.la \
++#	libwebkitgtk- at WEBKITGTK_API_MAJOR_VERSION@. at WEBKITGTK_API_MINOR_VERSION@.la \
++#	libWebCoreInternals.la \
++#	$(GLOBALDEPS_LIBS) \
++#	$(CAIRO_LIBS) \
++#	$(GTK_LIBS) \
++#	$(GLIB_LIBS) \
++#	$(LIBSOUP_LIBS) \
++#	$(FREETYPE_LIBS) \
++#	$(WINMM_LIBS) \
++#	$(XRENDER_LIBS) \
++#	$(XT_LIBS)
++
++#Programs_DumpRenderTree_LDFLAGS = \
++#	-no-fast-install \
++#	-no-install
+ 
+ # clean target
+ CLEANFILES += \
+diff --git a/configure.ac b/configure.ac
+index 126ca85..99beb38 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -419,8 +419,8 @@ if test "$with_unicode_backend" = "icu"; then
+             UNICODE_LIBS="-licucore"
+             ;;
+         *-*-mingw*)
+-            UNICODE_CFLAGS=""
+-            UNICODE_LIBS="-licui18n -licuuc"
++            UNICODE_CFLAGS="-I/c/gcdev/webkit/include"
++            UNICODE_LIBS="-licuin -licuuc"
+             ;;
+         *)
+             AC_PATH_PROG(icu_config, icu-config, no)
+-- 
+1.9.4.msysgit.0
+
diff --git a/defaults.sh b/defaults.sh
index 098b65e..a52165b 100644
--- a/defaults.sh
+++ b/defaults.sh
@@ -205,8 +205,8 @@ set_default GUILE_PATCH `pwd`/guile-1.8.patch
 set_default OPENSSL_URL "http://www.openssl.org/source/openssl-0.9.8j.tar.gz"
 set_default OPENSSL_DIR $GLOBAL_DIR\\openssl
 
-GNUTLS_VERSION="2.10.1"
-set_default GNUTLS_URL "http://josefsson.org/gnutls4win/gnutls-${GNUTLS_VERSION}.zip"
+GNUTLS_VERSION="3.2.19"
+set_default GNUTLS_URL "ftp://ftp.gnutls.org/gcrypt/gnutls/w32/gnutls-${GNUTLS_VERSION}-w32.zip"
 set_default GNUTLS_DIR $GLOBAL_DIR\\gnutls
 
 set_default MINGW_UTILS_URL "$SF_MIRROR/mingw/mingw-utils-0.3.tar.gz"
@@ -295,29 +295,22 @@ set_default HH_URL "http://download.microsoft.com/download/0/a/9/0a939ef6-e31c-4
 set_default HH_DIR $GLOBAL_DIR\\hh
 
 set_default BUILD_WEBKIT_FROM_SOURCE no
-set_default WEBKIT_VERSION "1.2.7"
-set_default WEBKIT_URL "$SF_MIRROR/gnucash/webkit-${WEBKIT_VERSION}-win32.zip"
+set_default WEBKIT_VERSION "1.8.3"
+set_default WEBKIT_URL "$SF_MIRROR/gnucash/webkit-${WEBKIT_VERSION}-minGW.tgz"
+set_default WEBKIT_DEV_URL "$SF_MIRROR/gnucash/webkit-${WEBKIT_VERSION}-dev-minGW.tgz"
 set_default WEBKIT_DIR $GLOBAL_DIR\\webkit
-set_default WEBKIT_SRC_URL "http://www.webkitgtk.org/webkit-1.2.7.tar.gz"
-set_default WEBKIT_PATCH `pwd`/webkit-1.2.7-time.patch
-set_default WEBKIT_PATCH2 `pwd`/webkit-1.2.7-vasprintf.patch
-set_default WEBKIT_CONFIGURE_PATCH `pwd`/webkit-1.2.7-configure.patch
-set_default WEBKIT_DATADIR_PATCH `pwd`/webkit-1.2.7-datadir.patch
-set_default WEBKIT_GCCPATH_PATCH `pwd`/webkit-1.2.7-gccpath.patch
-set_default WEBKIT_MAKEFILE_PATCH `pwd`/webkit-1.2.7-makefile.patch
-set_default WEBKIT_MINGW32_PATCH `pwd`/webkit-1.2.7-mingw32.patch
-set_default WEBKIT_NOSVG_PATCH `pwd`/webkit-1.2.7-nosvg.patch
-set_default WEBKIT_WEBKITENUMTYPES_CPP `pwd`/webkitenumtypes.cpp
-set_default WEBKIT_WEBKITENUMTYPES_H `pwd`/webkitenumtypes.h
+#NB: The Fedora project maintains a source version that has been patched for building in a Fedora-MinGW cross-compiler. This isn't quite good enough to build in MinGW itself, but it's a lot closer and less work than starting with a tarball direct from the WebKitGtk project.
+set_default WEBKIT_SRC_URL "https://pkgs.fedoraproject.org/repo/pkgs/mingw-webkitgtk/webkit-1.8.3.tar.xz/dcbf9d5e2e6391f857c29a57528b32a6/webkit-1.8.3.tar.xz"
+set_default WEBKIT_MINGW_PATCH=`pwd`/0001-Fix-various-issues-when-compiling-natively-on-MinGW.patch
 set_default ENCHANT_VERSION "1.5.0"
 set_default ENCHANT_URL "$GNOME_WIN32_URL/dependencies/enchant_${ENCHANT_VERSION}-2_win32.zip"
 set_default ENCHANT_DEV_URL "$GNOME_WIN32_URL/dependencies/enchant-dev_${ENCHANT_VERSION}-2_win32.zip"
 set_default ENCHANT_DIR $GLOBAL_DIR\\enchant
-set_default LIBSOUP_VERSION "2.28.2"
-set_default LIBSOUP_URL "$GNOME_WIN32_URL/libsoup/2.26/libsoup-${LIBSOUP_VERSION}-1_win32.zip"
-set_default LIBSOUP_DEV_URL "$GNOME_WIN32_URL/libsoup/2.26/libsoup-dev-${LIBSOUP_VERSION}-1_win32.zip"
+set_default LIBSOUP_VERSION "2.34.3"
+set_default LIBSOUP_URL "$GNOME_WIN32_URL/libsoup/2.34/libsoup-${LIBSOUP_VERSION}-1_win32.zip"
+set_default LIBSOUP_DEV_URL "$GNOME_WIN32_URL/libsoup/2.34/libsoup-dev-${LIBSOUP_VERSION}-1_win32.zip"
 set_default LIBSOUP_DIR $GLOBAL_DIR\\libsoup
-set_default LIBSOUP_SRC_URL "$GNOME_MIRROR/sources/libsoup/2.28/libsoup-${LIBSOUP_VERSION}.tar.bz2"
+set_default LIBSOUP_SRC_URL "$GNOME_MIRROR/sources/libsoup/2.34/libsoup-${LIBSOUP_VERSION}.tar.bz2"
 set_default ICU4C_URL "http://download.icu-project.org/files/icu4c/4.4.1/icu4c-4_4_1-Win32-msvc9.zip"
 set_default ICU4C_SRC_URL "http://download.icu-project.org/files/icu4c/4.4.1/icu4c-4_4_1-src.tgz"
 set_default ICU4C_DIR $GLOBAL_DIR\\icu-mingw32
diff --git a/install-impl.sh b/install-impl.sh
index 00bfbb3..3699109 100644
--- a/install-impl.sh
+++ b/install-impl.sh
@@ -1044,6 +1044,11 @@ function inst_regex() {
     fi
 }
 
+#To build webkit from source you need an extra dependency, gperf. You
+#can most easily get it from
+#http://gnuwin32.sourceforge.net/packages.html; install it in
+#c:\Programs\GnuWin32.
+#You also need python and ICU.
 function inst_webkit() {
     setup WebKit
     _WEBKIT_UDIR=`unix_path ${WEBKIT_DIR}`
@@ -1062,22 +1067,17 @@ function inst_webkit() {
                 add_to_env ${_ACTIVE_PERL_BASE_DIR}/bin PATH
                 export PERL5LIB=${_ACTIVE_PERL_BASE_DIR}/lib
 
-                patch -p0 -u < $WEBKIT_CONFIGURE_PATCH
-                CPPFLAGS="${GNOME_CPPFLAGS} ${SQLITE3_CFLAGS}" \
-                LDFLAGS="${GNOME_LDFLAGS} ${SQLITE3_LDFLAGS} -lsqlite3" \
-                PERL="${_ACTIVE_PERL_BASE_DIR}/bin/perl" \
+                patch -p1 -u < $WEBKIT_MINGW_PATCH
+                autoreconf -fis -ISource/autotools -I$GNOME_DIR/share/aclocal
                 ./configure \
                     --prefix=${_WEBKIT_UDIR} \
                     --with-target=win32 \
                     --with-unicode-backend=glib \
                     --enable-web-sockets \
-                    --enable-3D-transforms \
-                    --disable-video
-                patch -p0 -u < $WEBKIT_DATADIR_PATCH
-                patch -p0 -u < $WEBKIT_GCCPATH_PATCH
-                patch -p0 -u < $WEBKIT_MAKEFILE_PATCH
-                patch -p0 -u < $WEBKIT_MINGW32_PATCH
-                patch -p0 -u < $WEBKIT_NOSVG_PATCH
+                    --disable-video \
+                CPPFLAGS="${GNOME_CPPFLAGS} ${SQLITE3_CFLAGS}" \
+                LDFLAGS="${GNOME_LDFLAGS} ${SQLITE3_LDFLAGS} -lsqlite3" \
+                PERL="${_ACTIVE_PERL_BASE_DIR}/bin/perl"
                 cp $WEBKIT_WEBKITENUMTYPES_CPP DerivedSources
                 cp $WEBKIT_WEBKITENUMTYPES_H Webkit/gtk/webkit
                 make
@@ -1086,6 +1086,7 @@ function inst_webkit() {
             qpopd
         else
             wget_unpacked $WEBKIT_URL $DOWNLOAD_DIR $WEBKIT_DIR
+            wget_unpacked $WEBKIT_DEV_URL $DOWNLOAD_DIR $WEBKIT_DIR
         fi
         quiet ${PKG_CONFIG} --exists webkit-1.0 || die "webkit not installed correctly"
         rm -rf ${TMP_UDIR}/webkit-*
diff --git a/webkit-1.2.7-configure.patch b/webkit-1.2.7-configure.patch
deleted file mode 100755
index ad7b55a..0000000
--- a/webkit-1.2.7-configure.patch
+++ /dev/null
@@ -1,23 +0,0 @@
---- configure	Tue Oct 05 06:02:37 2010
-+++ configure	Tue Jan 11 07:28:51 2011
-@@ -1077,6 +1077,7 @@
- enable_icon_database
- enable_datalist
- enable_ruby
-+enable_sandbox
- enable_video
- enable_xhtmlmp
- enable_xpath
-@@ -19020,9 +19021,9 @@
- # check whether to enable HTML5 sandbox iframe support
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable HTML5 sandboxed iframe support" >&5
- $as_echo_n "checking whether to enable HTML5 sandboxed iframe support... " >&6; }
--# Check whether --enable-ruby was given.
--if test "${enable_ruby+set}" = set; then :
--  enableval=$enable_ruby;
-+# Check whether --enable-sandbox was given.
-+if test "${enable_sandbox+set}" = set; then :
-+  enableval=$enable_sandbox;
- else
-   enable_sandbox="yes"
- fi
diff --git a/webkit-1.2.7-datadir.patch b/webkit-1.2.7-datadir.patch
deleted file mode 100755
index 0a49cf0..0000000
--- a/webkit-1.2.7-datadir.patch
+++ /dev/null
@@ -1,143 +0,0 @@
---- WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp	Fri Sep 10 20:20:33 2010
-+++ WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp	Tue Jan 11 12:47:14 2011
-@@ -71,6 +71,30 @@
- #include <glib/gi18n-lib.h>
- #include <stdio.h>
- 
-+#ifdef _WIN32
-+/* search for data relative to where we are installed */
-+#include <shlobj.h>
-+#include <assert.h>
-+
-+static HMODULE GetThisDllHandle()
-+{
-+  MEMORY_BASIC_INFORMATION info;
-+  size_t len = VirtualQueryEx(GetCurrentProcess(), (void*)GetThisDllHandle, &info, sizeof(info));
-+  assert(len == sizeof(info));
-+  return len ? (HMODULE)info.AllocationBase : NULL;
-+}
-+
-+const gchar *
-+get_webkit_datadir(void)
-+{
-+    gchar *retval;
-+    retval = g_build_filename (g_win32_get_package_installation_directory_of_module (GetThisDllHandle()), "/share", NULL);
-+    return retval;
-+}
-+#undef DATA_DIR
-+#define DATA_DIR get_webkit_datadir ()
-+#endif
-+
- using namespace WebCore;
- 
- namespace WebKit {
-@@ -989,7 +1013,13 @@
- 
-     String content;
-     gchar* fileContent = 0;
-+#ifdef _WIN32
-+    gchar* errorPath = g_build_filename (DATA_DIR, "/webkit-1.0/resources/error.html", NULL);
-+    gchar* errorURI = g_filename_to_uri(errorPath, NULL, NULL);
-+    g_free(errorPath);
-+#else
-     gchar* errorURI = g_filename_to_uri(DATA_DIR"/webkit-1.0/resources/error.html", NULL, NULL);
-+#endif
-     GFile* errorFile = g_file_new_for_uri(errorURI);
-     g_free(errorURI);
-     
---- WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp	Fri Sep 10 20:20:33 2010
-+++ WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp	Mon Jan 17 07:42:35 2011
-@@ -27,6 +27,31 @@
- #include "NotImplemented.h"
- #include "PlatformString.h"
- 
-+#ifdef _WIN32
-+/* search for data relative to where we are installed */
-+#  include <shlobj.h>
-+#  include <assert.h>
-+
-+static HMODULE GetThisDllHandle()
-+{
-+  MEMORY_BASIC_INFORMATION info;
-+  size_t len = VirtualQueryEx(GetCurrentProcess(), (void*)GetThisDllHandle, &info, sizeof(info));
-+  assert(len == sizeof(info));
-+  return len ? (HMODULE)info.AllocationBase : NULL;
-+}
-+
-+const gchar *
-+get_webkit_path(void)
-+{
-+    gchar *retval;
-+    retval = g_build_filename (g_win32_get_package_installation_directory_of_module (GetThisDllHandle()), "/share", NULL);
-+    return retval;
-+}
-+#undef DATA_DIR
-+#define DATA_DIR get_webkit_path ()
-+#endif
-+
-+
- using namespace WebCore;
- 
- namespace WebKit {
-@@ -67,21 +92,30 @@
-     webkit_web_inspector_set_web_view(webInspector, inspectorWebView);
- 
-     GOwnPtr<gchar> inspectorURI;
--
-+#ifdef _WIN32
-+    gchar* inspectorPath = g_build_filename (DATA_DIR, "/webkit-1.0/webinspector/inspector.html", NULL);
-+#endif
-     // Make the Web Inspector work when running tests
-     if (g_file_test("WebCore/inspector/front-end/inspector.html", G_FILE_TEST_EXISTS)) {
-         GOwnPtr<gchar> currentDirectory(g_get_current_dir());
-         GOwnPtr<gchar> fullPath(g_strdup_printf("%s/WebCore/inspector/front-end/inspector.html", currentDirectory.get()));
-         inspectorURI.set(g_filename_to_uri(fullPath.get(), NULL, NULL));
-     } else
-+#ifdef _WIN32
-+        inspectorURI.set(g_filename_to_uri(inspectorPath, NULL, NULL));
-+#else
-         inspectorURI.set(g_filename_to_uri(DATA_DIR"/webkit-1.0/webinspector/inspector.html", NULL, NULL));
--
-+#endif
-     webkit_web_view_load_uri(inspectorWebView, inspectorURI.get());
- 
-     gtk_widget_show(GTK_WIDGET(inspectorWebView));
- 
-     Page* inspectorPage = core(inspectorWebView);
-     inspectorPage->inspectorController()->setInspectorFrontendClient(new InspectorFrontendClient(m_inspectedWebView, inspectorWebView, webInspector, inspectorPage));
-+
-+#ifdef _WIN32
-+    g_free(inspectorPath);
-+#endif
- }
- 
- void InspectorClient::highlight(Node* node)
-@@ -145,6 +179,10 @@
- String InspectorFrontendClient::localizedStringsURL()
- {
-     GOwnPtr<gchar> URL;
-+    
-+#ifdef _WIN32
-+    gchar* localizedPath = g_build_filename (DATA_DIR, "/webkit-1.0/webinspector/localizedStrings.js", NULL);
-+#endif
- 
-     // Make the Web Inspector work when running tests
-     if (g_file_test("WebCore/English.lproj/localizedStrings.js", G_FILE_TEST_EXISTS)) {
-@@ -152,10 +190,16 @@
-         GOwnPtr<gchar> fullPath(g_strdup_printf("%s/WebCore/English.lproj/localizedStrings.js", currentDirectory.get()));
-         URL.set(g_filename_to_uri(fullPath.get(), NULL, NULL));
-     } else
-+#ifdef _WIN32
-+        URL.set(g_filename_to_uri(localizedPath, NULL, NULL));
-+#else
-         URL.set(g_filename_to_uri(DATA_DIR"/webkit-1.0/webinspector/localizedStrings.js", NULL, NULL));
--
-+#endif
-     // FIXME: support l10n of localizedStrings.js
-     return String::fromUTF8(URL.get());
-+#ifdef _WIN32
-+    g_free(localizedPath);
-+#endif
- }
- 
- String InspectorFrontendClient::hiddenPanels()
diff --git a/webkit-1.2.7-gccpath.patch b/webkit-1.2.7-gccpath.patch
deleted file mode 100755
index 89d8498..0000000
--- a/webkit-1.2.7-gccpath.patch
+++ /dev/null
@@ -1,33 +0,0 @@
---- WebCore/bindings/scripts/IDLParser.pm	Thu Jan 15 16:14:12 1970
-+++ WebCore/bindings/scripts/IDLParser.pm	Thu Jan 15 16:14:12 1970
-@@ -69,7 +69,7 @@
-         if (($Config::Config{'osname'}) =~ /solaris/i) {
-             $gccLocation = "/usr/sfw/bin/gcc";
-         } else {
--            $gccLocation = "/usr/bin/gcc";
-+            $gccLocation = "gcc";
-         }
-         $preprocessor = $gccLocation . " -E -P -x c++";
-     }
---- WebCore/css/make-css-file-arrays.pl	Thu Jan 15 16:14:12 1970
-+++ WebCore/css/make-css-file-arrays.pl	Thu Jan 15 16:14:12 1970
-@@ -33,7 +33,7 @@
-     if (($Config::Config{'osname'}) =~ /solaris/i) {
-         $gccLocation = "/usr/sfw/bin/gcc";
-     } else {
--        $gccLocation = "/usr/bin/gcc";
-+        $gccLocation = "gcc";
-     }
-     $preprocessor = $gccLocation . " -E -P -x c++";
- }
---- WebCore/dom/make_names.pl	Thu Jan 15 16:14:12 1970
-+++ WebCore/dom/make_names.pl	Thu Jan 15 16:14:12 1970
-@@ -52,7 +52,7 @@
- if (($Config::Config{'osname'}) =~ /solaris/i) {
-     $gccLocation = "/usr/sfw/bin/gcc";
- } else {
--    $gccLocation = "/usr/bin/gcc";
-+    $gccLocation = "gcc";
- }
- my $preprocessor = $gccLocation . " -E -P -x c++";
- 
diff --git a/webkit-1.2.7-makefile.patch b/webkit-1.2.7-makefile.patch
deleted file mode 100755
index bbc9bd4..0000000
--- a/webkit-1.2.7-makefile.patch
+++ /dev/null
@@ -1,81 +0,0 @@
---- GNUmakefile	Mon Jan 17 09:32:30 2011
-+++ GNUmakefile	Mon Jan 17 09:44:19 2011
-@@ -6411,3 +6411,4 @@
- STRIP = strip
--SYMBOL_VISIBILITY = -fvisibility=hidden
--SYMBOL_VISIBILITY_INLINES = -fvisibility-inlines-hidden
-+SYMBOL_VISIBILITY = 
-+SYMBOL_VISIBILITY_INLINES = 
-+PTHREAD_LIBS = -lpthread
-@@ -8967,7 +8967,7 @@
- # It breaks the build on other platforms, so we use it conditionally
- no_undefined = -no-undefined
- #version_script = -Wl,--version-script,$(srcdir)/autotools/symbols.filter
--version_script = -export-symbols-regex "^(webkit_|JS).*"
-+version_script = -export-symbols-regex "^(webkit_|k?JS).*"
- 
- # Shared libraries
- lib_LTLIBRARIES = \
-@@ -8987,7 +8987,7 @@
- libJavaScriptCore_la_LIBADD = \
- 	$(UNICODE_LIBS) \
- 	$(GLIB_LIBS) \
--	-lpthread
-+	$(PTHREAD_LIBS)
- 
- libJavaScriptCore_la_CXXFLAGS = \
- 	$(global_cxxflags) \
-@@ -9042,7 +9042,6 @@
- 	$(no_undefined)
- 
- libwebkit_1_0_la_LIBADD = \
--	-lpthread \
- 	libJavaScriptCore.la \
- 	libWebCoreJS.la \
- 	$(webcore_ldflags) \
-@@ -9064,7 +9063,8 @@
- 	$(PNG_LIBS) \
- 	$(SQLITE3_LIBS) \
- 	$(UNICODE_LIBS) \
--	$(XT_LIBS)
-+	$(PTHREAD_LIBS) \
-+	$(XT_LIBS) -lwinmm -lshlwapi -lole32
- 
- pkgconfigdir = $(libdir)/pkgconfig
- pkgconfig_DATA = WebKit/gtk/webkit-1.0.pc
-@@ -9104,7 +9104,7 @@
- Programs_minidom_LDADD = \
- 	 libJavaScriptCore.la \
- 	 -lm \
--	 -lstdc++
-+	 -lstdc++ -lwinmm
- 
- Programs_minidom_LDFLAGS = \
- 	-no-install \
-@@ -9127,7 +9127,7 @@
- 	$(UNICODE_CFLAGS)
- 
- Programs_jsc_LDADD = \
--	libJavaScriptCore.la
-+	libJavaScriptCore.la -lwinmm
- 
- WebCore := $(srcdir)/WebCore
- 
-@@ -9263,7 +9263,7 @@
- Programs_GtkLauncher_LDADD = \
- 	libwebkit-1.0.la \
- 	$(GTK_LIBS) \
--	$(GLIB_LIBS)
-+	$(GLIB_LIBS) -lwinmm
- 
- Programs_GtkLauncher_LDFLAGS = \
- 	-no-fast-install \
-@@ -9326,7 +9326,7 @@
- 	$(GTK_LIBS) \
- 	$(GLIB_LIBS) \
- 	$(LIBSOUP_LIBS) \
--	$(FREETYPE_LIBS)
-+	$(FREETYPE_LIBS) -lwinmm
- 
- Programs_DumpRenderTree_LDFLAGS = \
- 	-no-fast-install \
diff --git a/webkit-1.2.7-mingw32.patch b/webkit-1.2.7-mingw32.patch
deleted file mode 100755
index e7278fc..0000000
--- a/webkit-1.2.7-mingw32.patch
+++ /dev/null
@@ -1,592 +0,0 @@
---- JavaScriptCore/jit/ExecutableAllocator.h	2010-05-07 16:09:08.000000000 +0200
-+++ JavaScriptCore/jit/ExecutableAllocator.h	2010-05-17 22:33:16.000000000 +0200
-@@ -285,7 +285,7 @@
- inline ExecutablePool::ExecutablePool(size_t n)
- {
-     size_t allocSize = roundUpAllocationSize(n, JIT_ALLOCATOR_PAGE_SIZE);
--    Allocation mem = systemAlloc(allocSize);
-+    const Allocation mem = systemAlloc(allocSize);
-     m_pools.append(mem);
-     m_freePtr = mem.pages;
-     if (!m_freePtr)
---- JavaScriptCore/runtime/Collector.cpp	(revision 63307)
-+++ JavaScriptCore/runtime/Collector.cpp	(working copy)
-@@ -91,6 +91,13 @@
- 
- #define COLLECT_ON_EVERY_ALLOCATION 0
- 
-+#if COMPILER(MINGW64)
-+extern "C" {
-+void * __mingw_aligned_malloc (size_t, size_t);
-+void __mingw_aligned_free (void *);
-+}
-+#endif
-+
- using std::max;
- 
- namespace JSC {
-@@ -201,7 +208,7 @@
- #elif OS(WINCE)
-     void* address = VirtualAlloc(NULL, BLOCK_SIZE, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE);
- #elif OS(WINDOWS)
--#if COMPILER(MINGW) && !COMPILER(MINGW64)
-+#if COMPILER(MINGW)
-     void* address = __mingw_aligned_malloc(BLOCK_SIZE, BLOCK_SIZE);
- #else
-     void* address = _aligned_malloc(BLOCK_SIZE, BLOCK_SIZE);
-@@ -292,7 +299,7 @@
- #elif OS(WINCE)
-     VirtualFree(block, 0, MEM_RELEASE);
- #elif OS(WINDOWS)
--#if COMPILER(MINGW) && !COMPILER(MINGW64)
-+#if COMPILER(MINGW)
-     __mingw_aligned_free(block);
- #else
-     _aligned_free(block);
---- JavaScriptCore/wtf/TCSpinLock.h	2010-03-19 16:20:53.000000000 +0100
-+++ JavaScriptCore/wtf/TCSpinLock.h	2010-05-17 22:33:16.000000000 +0200
-@@ -37,8 +37,6 @@
- 
- #include <time.h>       /* For nanosleep() */
- 
--#include <sched.h>      /* For sched_yield() */
--
- #if HAVE(STDINT_H)
- #include <stdint.h>
- #elif HAVE(INTTYPES_H)
-@@ -134,7 +132,7 @@
- #define SPINLOCK_INITIALIZER { 0 }
- 
- static void TCMalloc_SlowLock(volatile unsigned int* lockword) {
--  sched_yield();        // Yield immediately since fast path failed
-+  Sleep(0);        // Yield immediately since fast path failed
-   while (true) {
-     int r;
- #if COMPILER(GCC)
---- JavaScriptCore/wtf/unicode/glib/UnicodeGLib.cpp	2010-03-19 16:20:53.000000000 +0100
-+++ JavaScriptCore/wtf/unicode/glib/UnicodeGLib.cpp	2010-05-17 22:33:16.000000000 +0200
-@@ -49,7 +49,7 @@
-     GOwnPtr<GError> gerror;
- 
-     GOwnPtr<char> utf8src;
--    utf8src.set(g_utf16_to_utf8(src, srcLength, 0, 0, &gerror.outPtr()));
-+    utf8src.set(g_utf16_to_utf8(reinterpret_cast<const gunichar2*>(src), srcLength, 0, 0, &gerror.outPtr()));
-     if (gerror) {
-         *error = true;
-         return -1;
-@@ -60,7 +60,7 @@
- 
-     long utf16resultLength = -1;
-     GOwnPtr<UChar> utf16result;
--    utf16result.set(g_utf8_to_utf16(utf8result.get(), -1, 0, &utf16resultLength, &gerror.outPtr()));
-+    utf16result.set(reinterpret_cast<UChar*>(g_utf8_to_utf16(utf8result.get(), -1, 0, &utf16resultLength, &gerror.outPtr())));
-     if (gerror) {
-         *error = true;
-         return -1;
-@@ -81,7 +81,7 @@
-     GOwnPtr<GError> gerror;
- 
-     GOwnPtr<char> utf8src;
--    utf8src.set(g_utf16_to_utf8(src, srcLength, 0, 0, &gerror.outPtr()));
-+    utf8src.set(g_utf16_to_utf8(reinterpret_cast<const gunichar2*>(src), srcLength, 0, 0, &gerror.outPtr()));
-     if (gerror) {
-         *error = true;
-         return -1;
-@@ -92,7 +92,7 @@
- 
-     long utf16resultLength = -1;
-     GOwnPtr<UChar> utf16result;
--    utf16result.set(g_utf8_to_utf16(utf8result.get(), -1, 0, &utf16resultLength, &gerror.outPtr()));
-+    utf16result.set(reinterpret_cast<UChar*>(g_utf8_to_utf16(utf8result.get(), -1, 0, &utf16resultLength, &gerror.outPtr())));
-     if (gerror) {
-         *error = true;
-         return -1;
-@@ -113,7 +113,7 @@
-     GOwnPtr<GError> gerror;
- 
-     GOwnPtr<char> utf8src;
--    utf8src.set(g_utf16_to_utf8(src, srcLength, 0, 0, &gerror.outPtr()));
-+    utf8src.set(g_utf16_to_utf8(reinterpret_cast<const gunichar2*>(src), srcLength, 0, 0, &gerror.outPtr()));
-     if (gerror) {
-         *error = true;
-         return -1;
-@@ -124,7 +124,7 @@
- 
-     long utf16resultLength = -1;
-     GOwnPtr<UChar> utf16result;
--    utf16result.set(g_utf8_to_utf16(utf8result.get(), -1, 0, &utf16resultLength, &gerror.outPtr()));
-+    utf16result.set(reinterpret_cast<UChar*>(g_utf8_to_utf16(utf8result.get(), -1, 0, &utf16resultLength, &gerror.outPtr())));
-     if (gerror) {
-         *error = true;
-         return -1;
-@@ -189,8 +189,8 @@
-     GOwnPtr<char> utf8a;
-     GOwnPtr<char> utf8b;
- 
--    utf8a.set(g_utf16_to_utf8(a, len, 0, 0, 0));
--    utf8b.set(g_utf16_to_utf8(b, len, 0, 0, 0));
-+    utf8a.set(g_utf16_to_utf8(reinterpret_cast<const gunichar2*>(a), len, 0, 0, 0));
-+    utf8b.set(g_utf16_to_utf8(reinterpret_cast<const gunichar2*>(b), len, 0, 0, 0));
- 
-     GOwnPtr<char> foldedA;
-     GOwnPtr<char> foldedB;
---- JavaScriptCore/wtf/unicode/glib/UnicodeGLib.h	2010-03-19 16:20:53.000000000 +0100
-+++ JavaScriptCore/wtf/unicode/glib/UnicodeGLib.h	2010-05-17 22:33:16.000000000 +0200
-@@ -34,7 +34,12 @@
- #include <stdlib.h>
- #include <string.h>
- 
--typedef uint16_t UChar;
-+#if !defined(WIN32) && !defined(_WIN32) && !defined(__WINSCW__) \
-+    && !(defined(__CC_ARM) || defined(__ARMCC__)) /* RVCT */
-+    typedef unsigned short UChar;
-+#else
-+    typedef wchar_t UChar;
-+#endif
- typedef int32_t UChar32;
- 
- namespace WTF {
---- WebCore/bindings/js/ScriptObject.cpp	2010-05-07 16:09:09.000000000 +0200
-+++ WebCore/bindings/js/ScriptObject.cpp	2010-05-17 22:33:16.000000000 +0200
-@@ -136,6 +136,14 @@
-     return handleException(m_scriptState);
- }
- 
-+bool ScriptObject::set(const char* name, unsigned long long value)
-+{
-+    JSLock lock(SilenceAssertionsOnly);
-+    PutPropertySlot slot;
-+    jsObject()->put(m_scriptState, Identifier(m_scriptState, name), jsNumber(m_scriptState, value), slot);
-+    return handleException(m_scriptState);
-+}
-+
- bool ScriptObject::set(const char* name, bool value)
- {
-     JSLock lock(SilenceAssertionsOnly);
---- WebCore/bindings/js/ScriptObject.h	2010-03-19 16:20:54.000000000 +0100
-+++ WebCore/bindings/js/ScriptObject.h	2010-05-17 22:33:16.000000000 +0200
-@@ -59,6 +59,7 @@
-         bool set(const char* name, unsigned);
-         bool set(const char* name, unsigned long);
-         bool set(const char* name, bool);
-+        bool set(const char* name, unsigned long long);
- 
-         static ScriptObject createNew(ScriptState*);
-     
---- WebCore/dom/XMLTokenizerLibxml2.cpp	2010-05-07 16:09:09.000000000 +0200
-+++ WebCore/dom/XMLTokenizerLibxml2.cpp	2010-05-17 22:33:16.000000000 +0200
-@@ -908,7 +908,7 @@
-     if (m_parserStopped)
-         return;
- 
--#if COMPILER(MSVC) || COMPILER(RVCT)
-+#if OS(WINDOWS) || COMPILER(RVCT)
-     char m[1024];
-     vsnprintf(m, sizeof(m) - 1, message, args);
- #else
-@@ -922,7 +922,7 @@
-     else
-         handleError(type, m, lineNumber(), columnNumber());
- 
--#if !COMPILER(MSVC) && !COMPILER(RVCT)
-+#if !OS(WINDOWS) && !COMPILER(RVCT)
-     free(m);
- #endif
- }
---- WebCore/platform/FileSystem.h	2010-05-07 16:09:09.000000000 +0200
-+++ WebCore/platform/FileSystem.h	2010-05-17 22:33:16.000000000 +0200
-@@ -64,7 +64,7 @@
- class CString;
- 
- // PlatformModule
--#if OS(WINDOWS)
-+#if OS(WINDOWS) && !PLATFORM(GTK)
- typedef HMODULE PlatformModule;
- #elif PLATFORM(QT)
- #if defined(Q_WS_MAC)
-@@ -107,7 +107,7 @@
- #if PLATFORM(QT)
- typedef QFile* PlatformFileHandle;
- const PlatformFileHandle invalidPlatformFileHandle = 0;
--#elif OS(WINDOWS)
-+#elif OS(WINDOWS) && !PLATFORM(GTK)
- typedef HANDLE PlatformFileHandle;
- // FIXME: -1 is INVALID_HANDLE_VALUE, defined in <winbase.h>. Chromium tries to
- // avoid using Windows headers in headers.  We'd rather move this into the .cpp.
-@@ -142,7 +142,7 @@
- // Methods for dealing with loadable modules
- bool unloadModule(PlatformModule);
- 
--#if PLATFORM(WIN)
-+#if PLATFORM(WIN) && !PLATFORM(GTK)
- String localUserSpecificStorageDirectory();
- String roamingUserSpecificStorageDirectory();
- 
---- WebCore/platform/gtk/GeolocationServiceGtk.cpp	2010-05-07 16:09:09.000000000 +0200
-+++ WebCore/platform/gtk/GeolocationServiceGtk.cpp	2010-05-17 22:33:16.000000000 +0200
-@@ -18,6 +18,11 @@
-  */
- 
- #include "config.h"
-+
-+#ifdef interface
-+#undef interface
-+#endif
-+
- #include "GeolocationServiceGtk.h"
- 
- #include "CString.h"
---- WebCore/platform/gtk/GeolocationServiceGtk.h	2010-03-19 16:20:54.000000000 +0100
-+++ WebCore/platform/gtk/GeolocationServiceGtk.h	2010-05-17 22:33:16.000000000 +0200
-@@ -25,6 +25,10 @@
- #include "PositionError.h"
- #include "RefPtr.h"
- 
-+#ifdef interface
-+#undef interface
-+#endif
-+
- #include <geoclue/geoclue-master.h>
- #include <geoclue/geoclue-position.h>
- 
---- WebCore/platform/KURL.cpp	2010-05-07 16:09:09.000000000 +0200
-+++ WebCore/platform/KURL.cpp	2010-05-17 22:33:16.000000000 +0200
-@@ -1425,7 +1425,7 @@
- #elif USE(GLIB_UNICODE)
-     GOwnPtr<gchar> utf8Hostname;
-     GOwnPtr<GError> utf8Err;
--    utf8Hostname.set(g_utf16_to_utf8(str, strLen, 0, 0, &utf8Err.outPtr()));
-+    utf8Hostname.set(g_utf16_to_utf8(reinterpret_cast<const gunichar2*>(str), strLen, 0, 0, &utf8Err.outPtr()));
-     if (utf8Err)
-         return;
- 
---- WebCore/platform/network/soup/ResourceHandleSoup.cpp	(revision 60658)
-+++ WebCore/platform/network/soup/ResourceHandleSoup.cpp	(working copy)
-@@ -856,7 +856,11 @@
-         return;
-     }
- 
-+#if OS(WINDOWS)
-+    response.setMimeType(g_content_type_get_mime_type(g_file_info_get_content_type(info)));
-+#else
-     response.setMimeType(g_file_info_get_content_type(info));
-+#endif
-     response.setExpectedContentLength(g_file_info_get_size(info));
- 
-     GTimeVal tv;
---- WebCore/platform/text/gtk/TextBreakIteratorGtk.cpp	2010-03-19 16:20:54.000000000 +0100
-+++ WebCore/platform/text/gtk/TextBreakIteratorGtk.cpp	2010-05-17 22:33:16.000000000 +0200
-@@ -59,7 +59,7 @@
- 
-     long utf8len;
-     GOwnPtr<char> utf8;
--    utf8.set(g_utf16_to_utf8(string, length, 0, &utf8len, 0));
-+    utf8.set(g_utf16_to_utf8(reinterpret_cast<const gunichar2*>(string), length, 0, &utf8len, 0));
- 
-     // FIXME: assumes no surrogate pairs
- 
---- WebCore/platform/text/TextEncoding.cpp	2010-05-07 16:09:09.000000000 +0200
-+++ WebCore/platform/text/TextEncoding.cpp	2010-05-17 22:33:16.000000000 +0200
-@@ -119,14 +119,14 @@
-     return newTextCodec(*this)->encode(reinterpret_cast<const UChar *>(str.utf16()), str.length(), handling);
- #elif USE(GLIB_UNICODE)
-     GOwnPtr<char> UTF8Source;
--    UTF8Source.set(g_utf16_to_utf8(characters, length, 0, 0, 0));
-+    UTF8Source.set(g_utf16_to_utf8(reinterpret_cast<const gunichar2*>(characters), length, 0, 0, 0));
- 
-     GOwnPtr<char> UTF8Normalized;
-     UTF8Normalized.set(g_utf8_normalize(UTF8Source.get(), -1, G_NORMALIZE_NFC));
- 
-     long UTF16Length;
-     GOwnPtr<UChar> UTF16Normalized;
--    UTF16Normalized.set(g_utf8_to_utf16(UTF8Normalized.get(), -1, 0, &UTF16Length, 0));
-+    UTF16Normalized.set(reinterpret_cast<UChar*>(g_utf8_to_utf16(UTF8Normalized.get(), -1, 0, &UTF16Length, 0)));
- 
-     return newTextCodec(*this)->encode(UTF16Normalized.get(), UTF16Length, handling);
- #elif OS(WINCE)
---- WebCore/plugins/gtk/PluginViewGtk.cpp	2010-05-07 16:09:09.000000000 +0200
-+++ WebCore/plugins/gtk/PluginViewGtk.cpp	2010-05-17 22:33:16.000000000 +0200
-@@ -45,6 +45,7 @@
- #include "Image.h"
- #include "KeyboardEvent.h"
- #include "MouseEvent.h"
-+#include "NotImplemented.h"
- #include "Page.h"
- #include "PlatformKeyboardEvent.h"
- #include "PlatformMouseEvent.h"
-@@ -71,7 +72,7 @@
- #include <cairo/cairo-xlib.h>
- #include <gdk/gdkx.h>
- #elif defined(GDK_WINDOWING_WIN32)
--#include "PluginMessageThrottlerWin.h"
-+#include "win/PluginMessageThrottlerWin.h"
- #include <gdk/gdkwin32.h>
- #endif
- 
-@@ -706,6 +707,7 @@
-         gtk_widget_queue_draw(m_parentFrame->view()->hostWindow()->platformPageClient());
- }
- 
-+#ifndef GDK_WINDOWING_WIN32
- static Display* getPluginDisplay()
- {
-     // The plugin toolkit might have a different X connection open.  Since we're
-@@ -719,6 +721,7 @@
-     return 0;
- #endif
- }
-+#endif
- 
- #if defined(XP_UNIX)
- static void getVisualAndColormap(int depth, Visual** visual, Colormap* colormap)
-@@ -788,15 +791,16 @@
-         PluginView::setCurrentPluginView(this);
-         JSC::JSLock::DropAllLocks dropAllLocks(JSC::SilenceAssertionsOnly);
-         setCallingPlugin(true);
-+#if defined(XP_UNIX)
-         m_plugin->pluginFuncs()->getvalue(m_instance, NPPVpluginNeedsXEmbed, &m_needsXEmbed);
-+#endif
-         setCallingPlugin(false);
-         PluginView::setCurrentPluginView(0);
-     }
- 
-     if (m_isWindowed) {
--#if defined(XP_UNIX)
-         GtkWidget* pageClient = m_parentFrame->view()->hostWindow()->platformPageClient();
--
-+#if defined(XP_UNIX)
-         if (m_needsXEmbed) {
-             // If our parent is not anchored the startup process will
-             // fail miserably for XEmbed plugins a bit later on when
-@@ -817,7 +821,9 @@
- #endif
-     } else {
-         setPlatformWidget(0);
-+#if defined(XP_UNIX)
-         m_pluginDisplay = getPluginDisplay();
-+#endif
-     }
- 
-     show();
---- WebCore/plugins/PluginView.cpp	2010-05-07 16:09:09.000000000 +0200
-+++ WebCore/plugins/PluginView.cpp	2010-05-17 22:33:16.000000000 +0200
-@@ -68,7 +68,7 @@
- #include <wtf/ASCIICType.h>
- 
- #if OS(WINDOWS) && ENABLE(NETSCAPE_PLUGIN_API)
--#include "PluginMessageThrottlerWin.h"
-+#include "win/PluginMessageThrottlerWin.h"
- #endif
- 
- using JSC::ExecState;
-@@ -333,7 +333,7 @@
-     JSC::JSLock::DropAllLocks dropAllLocks(JSC::SilenceAssertionsOnly);
- 
- #if ENABLE(NETSCAPE_PLUGIN_API)
--#ifdef XP_WIN
-+#if defined(XP_WIN) && !PLATFORM(GTK)
-     // Unsubclass the window
-     if (m_isWindowed) {
- #if OS(WINCE)
---- WebCore/plugins/PluginView.h	2010-05-07 16:09:09.000000000 +0200
-+++ WebCore/plugins/PluginView.h	2010-05-17 22:33:16.000000000 +0200
-@@ -313,7 +313,7 @@
-         bool m_haveInitialized;
-         bool m_isWaitingToStart;
- 
--#if defined(XP_UNIX)
-+#if defined(XP_UNIX) || PLATFORM(GTK)
-         bool m_needsXEmbed;
- #endif
- 
-@@ -341,7 +341,7 @@
- 
- private:
- 
--#if defined(XP_UNIX) || OS(SYMBIAN)
-+#if defined(XP_UNIX) || OS(SYMBIAN) || PLATFORM(GTK)
-         void setNPWindowIfNeeded();
- #elif defined(XP_MACOSX)
-         NP_CGContext m_npCgContext;
---- WebCore/plugins/win/PluginDatabaseWin.cpp	2010-03-19 16:20:54.000000000 +0100
-+++ WebCore/plugins/win/PluginDatabaseWin.cpp	2010-05-17 22:33:16.000000000 +0200
-@@ -34,7 +34,7 @@
- #include <windows.h>
- #include <shlwapi.h>
- 
--#if COMPILER(MINGW)
-+#if COMPILER(MINGW) && !COMPILER(MINGW64)
- #define _countof(x) (sizeof(x)/sizeof(x[0]))
- #endif
- 
-@@ -104,7 +104,7 @@
-         DWORD pathStrSize = sizeof(pathStr);
-         DWORD type;
- 
--        result = SHGetValue(key, name, TEXT("Path"), &type, (LPBYTE)pathStr, &pathStrSize);
-+        result = SHGetValueW(key, name, L"Path", &type, (LPBYTE)pathStr, &pathStrSize);
-         if (result != ERROR_SUCCESS || type != REG_SZ)
-             continue;
- 
-@@ -212,7 +212,7 @@
-     HKEY key;
-     LONG result;
-     
--    result = RegOpenKeyEx(HKEY_LOCAL_MACHINE, TEXT("Software\\Mozilla"), 0, KEY_READ, &key);
-+    result = RegOpenKeyExW(HKEY_LOCAL_MACHINE, L"Software\\Mozilla", 0, KEY_READ, &key);
-     if (result == ERROR_SUCCESS) {
-         WCHAR name[128];
-         FILETIME lastModified;
-@@ -229,7 +229,7 @@
-             HKEY extensionsKey;
- 
-             // Try opening the key
--            result = RegOpenKeyEx(key, extensionsPath.charactersWithNullTermination(), 0, KEY_READ, &extensionsKey);
-+            result = RegOpenKeyExW(key, extensionsPath.charactersWithNullTermination(), 0, KEY_READ, &extensionsKey);
- 
-             if (result == ERROR_SUCCESS) {
-                 // Now get the plugins directory
-@@ -237,7 +237,7 @@
-                 DWORD pluginsDirectorySize = sizeof(pluginsDirectoryStr);
-                 DWORD type;
- 
--                result = RegQueryValueEx(extensionsKey, TEXT("Plugins"), 0, &type, (LPBYTE)&pluginsDirectoryStr, &pluginsDirectorySize);
-+                result = RegQueryValueExW(extensionsKey, L"Plugins", 0, &type, (LPBYTE)&pluginsDirectoryStr, &pluginsDirectorySize);
- 
-                 if (result == ERROR_SUCCESS && type == REG_SZ)
-                     directories.append(String(pluginsDirectoryStr, pluginsDirectorySize / sizeof(WCHAR) - 1));
-@@ -255,7 +255,7 @@
- #if !OS(WINCE)
-     // The new WMP Firefox plugin is installed in \PFiles\Plugins if it can't find any Firefox installs
-     WCHAR pluginDirectoryStr[_MAX_PATH + 1];
--    DWORD pluginDirectorySize = ::ExpandEnvironmentStringsW(TEXT("%SYSTEMDRIVE%\\PFiles\\Plugins"), pluginDirectoryStr, _countof(pluginDirectoryStr));
-+    DWORD pluginDirectorySize = ::ExpandEnvironmentStringsW(L"%SYSTEMDRIVE%\\PFiles\\Plugins", pluginDirectoryStr, _countof(pluginDirectoryStr));
- 
-     if (pluginDirectorySize > 0 && pluginDirectorySize <= _countof(pluginDirectoryStr))
-         directories.append(String(pluginDirectoryStr, pluginDirectorySize - 1));
-@@ -265,7 +265,7 @@
-     WCHAR installationDirectoryStr[_MAX_PATH];
-     DWORD installationDirectorySize = sizeof(installationDirectoryStr);
- 
--    HRESULT result = SHGetValue(HKEY_LOCAL_MACHINE, TEXT("Software\\Microsoft\\MediaPlayer"), TEXT("Installation Directory"), &type, (LPBYTE)&installationDirectoryStr, &installationDirectorySize);
-+    HRESULT result = SHGetValueW(HKEY_LOCAL_MACHINE, L"Software\\Microsoft\\MediaPlayer", L"Installation Directory", &type, (LPBYTE)&installationDirectoryStr, &installationDirectorySize);
- 
-     if (result == ERROR_SUCCESS && type == REG_SZ)
-         directories.append(String(installationDirectoryStr, installationDirectorySize / sizeof(WCHAR) - 1));
-@@ -277,7 +277,7 @@
-     WCHAR installationDirectoryStr[_MAX_PATH];
-     DWORD installationDirectorySize = sizeof(installationDirectoryStr);
- 
--    HRESULT result = SHGetValue(HKEY_LOCAL_MACHINE, TEXT("Software\\Apple Computer, Inc.\\QuickTime"), TEXT("InstallDir"), &type, (LPBYTE)&installationDirectoryStr, &installationDirectorySize);
-+    HRESULT result = SHGetValueW(HKEY_LOCAL_MACHINE, L"Software\\Apple Computer, Inc.\\QuickTime", L"InstallDir", &type, (LPBYTE)&installationDirectoryStr, &installationDirectorySize);
- 
-     if (result == ERROR_SUCCESS && type == REG_SZ) {
-         String pluginDir = String(installationDirectoryStr, installationDirectorySize / sizeof(WCHAR) - 1) + "\\plugins";
-@@ -288,7 +288,7 @@
- static inline void addAdobeAcrobatPluginDirectory(Vector<String>& directories)
- {
-     HKEY key;
--    HRESULT result = RegOpenKeyEx(HKEY_LOCAL_MACHINE, TEXT("Software\\Adobe\\Acrobat Reader"), 0, KEY_READ, &key);
-+    HRESULT result = RegOpenKeyExW(HKEY_LOCAL_MACHINE, L"Software\\Adobe\\Acrobat Reader", 0, KEY_READ, &key);
-     if (result != ERROR_SUCCESS)
-         return;
- 
-@@ -319,7 +319,7 @@
-         DWORD acrobatInstallPathSize = sizeof(acrobatInstallPathStr);
- 
-         String acrobatPluginKeyPath = "Software\\Adobe\\Acrobat Reader\\" + latestAcrobatVersionString + "\\InstallPath";
--        result = SHGetValue(HKEY_LOCAL_MACHINE, acrobatPluginKeyPath.charactersWithNullTermination(), 0, &type, (LPBYTE)acrobatInstallPathStr, &acrobatInstallPathSize);
-+        result = SHGetValueW(HKEY_LOCAL_MACHINE, acrobatPluginKeyPath.charactersWithNullTermination(), 0, &type, (LPBYTE)acrobatInstallPathStr, &acrobatInstallPathSize);
- 
-         if (result == ERROR_SUCCESS) {
-             String acrobatPluginDirectory = String(acrobatInstallPathStr, acrobatInstallPathSize / sizeof(WCHAR) - 1) + "\\browser";
-@@ -339,12 +339,12 @@
-     if (!cachedPluginDirectory) {
-         cachedPluginDirectory = true;
- 
--        int moduleFileNameLen = GetModuleFileName(0, moduleFileNameStr, _MAX_PATH);
-+        int moduleFileNameLen = GetModuleFileNameW(0, moduleFileNameStr, _MAX_PATH);
- 
-         if (!moduleFileNameLen || moduleFileNameLen == _MAX_PATH)
-             goto exit;
- 
--        if (!PathRemoveFileSpec(moduleFileNameStr))
-+        if (!PathRemoveFileSpecW(moduleFileNameStr))
-             goto exit;
- 
-         pluginsDirectory = String(moduleFileNameStr) + "\\Plugins";
-@@ -358,15 +358,15 @@
- #if !OS(WINCE)
-     WCHAR systemDirectoryStr[MAX_PATH];
- 
--    if (GetSystemDirectory(systemDirectoryStr, _countof(systemDirectoryStr)) == 0)
-+    if (GetSystemDirectoryW(systemDirectoryStr, _countof(systemDirectoryStr)) == 0)
-         return;
- 
-     WCHAR macromediaDirectoryStr[MAX_PATH];
- 
--    PathCombine(macromediaDirectoryStr, systemDirectoryStr, TEXT("macromed\\Flash"));
-+    PathCombineW(macromediaDirectoryStr, systemDirectoryStr, L"macromed\\Flash");
-     directories.append(macromediaDirectoryStr);
- 
--    PathCombine(macromediaDirectoryStr, systemDirectoryStr, TEXT("macromed\\Shockwave 10"));
-+    PathCombineW(macromediaDirectoryStr, systemDirectoryStr, L"macromed\\Shockwave 10");
-     directories.append(macromediaDirectoryStr);
- #endif
- }
---- WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp	2010-05-07 16:09:09.000000000 +0200
-+++ WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp	2010-05-17 22:33:16.000000000 +0200
-@@ -660,7 +660,7 @@
-     if (!dicts)
-         return;
- 
--    gchar* ctext = g_utf16_to_utf8(const_cast<gunichar2*>(text), length, 0, 0, 0);
-+    gchar* ctext = g_utf16_to_utf8(const_cast<gunichar2*>(reinterpret_cast<const gunichar2*>(text)), length, 0, 0, 0);
-     int utflen = g_utf8_strlen(ctext, -1);
- 
-     PangoLanguage* language = pango_language_get_default();
---- WebCore/platform/Arena.h	2010-05-18 18:02:56.000000000 +0200
-+++ WebCore/platform/Arena.h	2010-05-18 18:03:33.000000000 +0200
-@@ -44,7 +44,7 @@
- 
- namespace WebCore {
- 
--typedef unsigned long uword;
-+typedef uintptr_t uword;
- 
- struct Arena {
-     Arena* next;        // next arena
---- WebCore/platform/text/TextStream.cpp	2010-05-07 16:09:09.000000000 +0200
-+++ WebCore/platform/text/TextStream.cpp	2010-05-18 23:12:39.000000000 +0200
-@@ -90,7 +90,7 @@
-     return *this;
- }
- 
--TextStream& TextStream::operator<<(void* p)
-+TextStream& TextStream::operator<<(const void* p)
- {
-     char buffer[printBufferSize];
-     snprintf(buffer, sizeof(buffer) - 1, "%p", p);
-@@ -108,7 +108,7 @@
-     return String::adopt(m_text);
- }
- 
--#if OS(WINDOWS) && PLATFORM(X86_64) && COMPILER(MSVC)
-+#if OS(WINDOWS) && CPU(X86_64)
- TextStream& TextStream::operator<<(__int64 i)
- {
-     char buffer[printBufferSize];
---- WebCore/platform/text/TextStream.h	2010-05-07 16:09:09.000000000 +0200
-+++ WebCore/platform/text/TextStream.h	2010-05-18 23:12:39.000000000 +0200
-@@ -43,9 +43,9 @@
-     TextStream& operator<<(float);
-     TextStream& operator<<(double);
-     TextStream& operator<<(const char*);
--    TextStream& operator<<(void*);
-+    TextStream& operator<<(const void*);
-     TextStream& operator<<(const String&);
--#if OS(WINDOWS) && PLATFORM(X86_64) && COMPILER(MSVC)
-+#if OS(WINDOWS) && CPU(X86_64)
-     TextStream& operator<<(unsigned __int64);
-     TextStream& operator<<(__int64);
- #endif
diff --git a/webkit-1.2.7-nosvg.patch b/webkit-1.2.7-nosvg.patch
deleted file mode 100755
index 8e4bee0..0000000
--- a/webkit-1.2.7-nosvg.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- WebCore/bindings/js/JSNodeCustom.cpp.ori	Sun Jan 23 11:38:08 2011
-+++ WebCore/bindings/js/JSNodeCustom.cpp	Sun Jan 23 11:37:57 2011
-@@ -34,6 +34,7 @@
- #include "DocumentType.h"
- #include "Entity.h"
- #include "EntityReference.h"
-+#include "ExceptionCode.h"
- #include "HTMLElement.h"
- #include "JSAttr.h"
- #include "JSCDATASection.h"
diff --git a/webkit-1.2.7-time.patch b/webkit-1.2.7-time.patch
deleted file mode 100644
index 68c6b44..0000000
--- a/webkit-1.2.7-time.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -ur -x '*.lo' -x '*.o' webkit-1.1.90-orig/WebCore/platform/network/ResourceResponseBase.h webkit-1.1.90/WebCore/platform/network/ResourceResponseBase.h
---- webkit-1.1.90-orig/WebCore/platform/network/ResourceResponseBase.h	2010-02-22 17:36:04.000000000 +0100
-+++ webkit-1.1.90/WebCore/platform/network/ResourceResponseBase.h	2011-03-12 22:11:06.720211214 +0100
-@@ -31,6 +31,7 @@
- #include "KURL.h"
- 
- #include <wtf/PassOwnPtr.h>
-+#include <ctime>
- 
- namespace WebCore {
- 
-diff -ur webkit-1.2.7-orig/WebCore/page/Page.h webkit-1.2.7/WebCore/page/Page.h
---- webkit-1.2.7-orig/WebCore/page/Page.h	2010-09-10 15:20:33.000000000 +0200
-+++ webkit-1.2.7/WebCore/page/Page.h	2011-03-12 23:25:35.670211006 +0100
-@@ -26,6 +26,7 @@
- #include <wtf/Forward.h>
- #include <wtf/HashSet.h>
- #include <wtf/Noncopyable.h>
-+#include <ctime>
- 
- #if PLATFORM(MAC)
- #include "SchedulePair.h"
diff --git a/webkit-1.2.7-vasprintf.patch b/webkit-1.2.7-vasprintf.patch
deleted file mode 100644
index f739658..0000000
--- a/webkit-1.2.7-vasprintf.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -ur webkit-1.2.7-orig/WebCore/dom/XMLTokenizerLibxml2.cpp webkit-1.2.7/WebCore/dom/XMLTokenizerLibxml2.cpp
---- webkit-1.2.7-orig/WebCore/dom/XMLTokenizerLibxml2.cpp	2010-09-10 15:20:33.000000000 +0200
-+++ webkit-1.2.7/WebCore/dom/XMLTokenizerLibxml2.cpp	2011-03-12 23:13:39.521370554 +0100
-@@ -23,6 +23,9 @@
-  * Boston, MA 02110-1301, USA.
-  */
- 
-+#define _GNU_SOURCE
-+#include <cstdio>
-+
- #include "config.h"
- #include "XMLTokenizer.h"
- 
-@@ -908,7 +911,7 @@
-     if (m_parserStopped)
-         return;
- 
--#if COMPILER(MSVC) || COMPILER(RVCT)
-+#if 1
-     char m[1024];
-     vsnprintf(m, sizeof(m) - 1, message, args);
- #else

commit 88e47e5a204e337a7489346879231b4252285d52
Author: John Ralls <jralls at ceridwen.us>
Date:   Sun Oct 26 16:00:21 2014 -0700

    Register some environment variables.
    
    These variables weren't added to the register list when they were added
    to install-impl.sh.

diff --git a/install.sh b/install.sh
index 8a1d3fa..97e0cfe 100644
--- a/install.sh
+++ b/install.sh
@@ -28,6 +28,7 @@ qpushd "$GC_WIN_DIR"
 
 # variables
 register_env_var ACLOCAL_FLAGS " "
+register_env_var ENCHANT_LDFLAGS " "
 register_env_var GNOME_CPPFLAGS " "
 register_env_var GNOME_LDFLAGS " "
 register_env_var GNUTLS_CPPFLAGS " "
@@ -40,6 +41,7 @@ register_env_var HH_LDFLAGS " "
 register_env_var INTLTOOL_PERL " "
 register_env_var LIBDBI_CPPFLAGS " "
 register_env_var LIBDBI_LDFLAGS " "
+register_env_var LIBXSLT_LDFLAGS " "
 register_env_var KTOBLZCHECK_CPPFLAGS " "
 register_env_var KTOBLZCHECK_LDFLAGS " "
 register_env_var PATH ":"
@@ -52,7 +54,7 @@ register_env_var READLINE_LDFLAGS " "
 register_env_var REGEX_CPPFLAGS " "
 register_env_var REGEX_LDFLAGS " "
 register_env_var SQLITE3_CFLAGS " "
-register_env_var SQLITE3_LIBS " "
+register_env_var SQLITE3_LDFLAGS " "
 
 # steps
 # There is no reason to ever need to comment these out!



Summary of changes:
 ...s-issues-when-compiling-natively-on-MinGW.patch | 474 +++++++++++++++++
 defaults.sh                                        |  31 +-
 install-impl.sh                                    |  23 +-
 install.sh                                         |   4 +-
 webkit-1.2.7-configure.patch                       |  23 -
 webkit-1.2.7-datadir.patch                         | 143 -----
 webkit-1.2.7-gccpath.patch                         |  33 --
 webkit-1.2.7-makefile.patch                        |  81 ---
 webkit-1.2.7-mingw32.patch                         | 592 ---------------------
 webkit-1.2.7-nosvg.patch                           |  10 -
 webkit-1.2.7-time.patch                            |  22 -
 webkit-1.2.7-vasprintf.patch                       |  22 -
 12 files changed, 501 insertions(+), 957 deletions(-)
 create mode 100644 0001-Fix-various-issues-when-compiling-natively-on-MinGW.patch
 delete mode 100755 webkit-1.2.7-configure.patch
 delete mode 100755 webkit-1.2.7-datadir.patch
 delete mode 100755 webkit-1.2.7-gccpath.patch
 delete mode 100755 webkit-1.2.7-makefile.patch
 delete mode 100755 webkit-1.2.7-mingw32.patch
 delete mode 100755 webkit-1.2.7-nosvg.patch
 delete mode 100644 webkit-1.2.7-time.patch
 delete mode 100644 webkit-1.2.7-vasprintf.patch



More information about the gnucash-changes mailing list