changeset 1015:7997c04d4bef

upgrade package qt to 4.7.0-beta1 (by Mark Brand)
author Volker Grabsch <vog@notjusthosting.com>
date Mon, 31 May 2010 11:04:18 +0000
parents fb76a8ab40f1
children 15d5e7b2d408
files src/qt-1-win32.patch src/qt.mk
diffstat 2 files changed, 776 insertions(+), 639 deletions(-) [+]
line wrap: on
line diff
--- a/src/qt-1-win32.patch	Mon May 31 09:21:44 2010 +0200
+++ b/src/qt-1-win32.patch	Mon May 31 11:04:18 2010 +0000
@@ -1,11 +1,13 @@
 This file is part of mingw-cross-env.
 See doc/index.html for further information.
 
-diff --git a/config.tests/unix/compile.test b/config.tests/unix/compile.test
-index 67a4636..fa54560 100755
---- a/config.tests/unix/compile.test
-+++ b/config.tests/unix/compile.test
-@@ -66,7 +66,7 @@ cd "$OUTDIR/$TEST"
+This patch has been taken from:
+http://qt.gitorious.org/qt/qt/merge_requests/654
+
+diff -Naur a/config.tests/unix/compile.test b/config.tests/unix/compile.test
+--- a/config.tests/unix/compile.test	2010-05-04 02:43:26.000000000 +0200
++++ b/config.tests/unix/compile.test	2010-05-27 21:38:19.426555345 +0200
+@@ -66,7 +66,7 @@
  
  test -r Makefile && $MAKE distclean >/dev/null 2>&1
  
@@ -14,7 +16,7 @@
  
  if [ "$VERBOSE" = "yes" ]; then
      $MAKE
-@@ -74,7 +74,7 @@ else
+@@ -74,7 +74,7 @@
      $MAKE >/dev/null 2>&1
  fi
  
@@ -23,10 +25,9 @@
  
  # done
  if [ "$SUCCESS" != "yes" ]; then
-diff --git a/config.tests/unix/getaddrinfo/getaddrinfotest.cpp b/config.tests/unix/getaddrinfo/getaddrinfotest.cpp
-index a00bf15..cb562fe 100644
---- a/config.tests/unix/getaddrinfo/getaddrinfotest.cpp
-+++ b/config.tests/unix/getaddrinfo/getaddrinfotest.cpp
+diff -Naur a/config.tests/unix/getaddrinfo/getaddrinfotest.cpp b/config.tests/unix/getaddrinfo/getaddrinfotest.cpp
+--- a/config.tests/unix/getaddrinfo/getaddrinfotest.cpp	2010-05-04 02:43:26.000000000 +0200
++++ b/config.tests/unix/getaddrinfo/getaddrinfotest.cpp	2010-05-27 21:38:19.426555345 +0200
 @@ -42,9 +42,16 @@
  /* Sample program for configure to test for getaddrinfo on the unix
       platform. we check for all structures and functions required. */
@@ -44,20 +45,18 @@
  
  int main()
  {
-diff --git a/config.tests/unix/iconv/iconv.pro b/config.tests/unix/iconv/iconv.pro
-index 8cdc776..898a017 100644
---- a/config.tests/unix/iconv/iconv.pro
-+++ b/config.tests/unix/iconv/iconv.pro
+diff -Naur a/config.tests/unix/iconv/iconv.pro b/config.tests/unix/iconv/iconv.pro
+--- a/config.tests/unix/iconv/iconv.pro	2010-05-04 02:43:26.000000000 +0200
++++ b/config.tests/unix/iconv/iconv.pro	2010-05-27 21:38:21.538554930 +0200
 @@ -1,3 +1,3 @@
  SOURCES = iconv.cpp
  CONFIG -= qt dylib app_bundle
 -mac:LIBS += -liconv
-+mac|win32-g++:LIBS += -liconv
-diff --git a/config.tests/unix/ipv6/ipv6test.cpp b/config.tests/unix/ipv6/ipv6test.cpp
-index 3dc30c3..5783a85 100644
---- a/config.tests/unix/ipv6/ipv6test.cpp
-+++ b/config.tests/unix/ipv6/ipv6test.cpp
-@@ -46,9 +46,14 @@ platforms. We check for the required IPv6 data structures. */
++mac|win32-g++*:LIBS += -liconv
+diff -Naur a/config.tests/unix/ipv6/ipv6test.cpp b/config.tests/unix/ipv6/ipv6test.cpp
+--- a/config.tests/unix/ipv6/ipv6test.cpp	2010-05-04 02:43:26.000000000 +0200
++++ b/config.tests/unix/ipv6/ipv6test.cpp	2010-05-27 21:38:21.874554938 +0200
+@@ -46,9 +46,14 @@
  #define _HPUX_SOURCE
  #endif
  
@@ -72,24 +71,9 @@
  
  int main()
  {
-diff --git a/config.tests/unix/largefile/largefiletest.cpp b/config.tests/unix/largefile/largefiletest.cpp
-index a5d7313..3a8924c 100644
---- a/config.tests/unix/largefile/largefiletest.cpp
-+++ b/config.tests/unix/largefile/largefiletest.cpp
-@@ -51,6 +51,9 @@ platforms.
- #include <sys/stat.h>
- #include <assert.h>
- #include <stdio.h>
-+#ifdef __MINGW32__
-+#define ftello ftello64
-+#endif
- 
- int main( int, char **argv )
- {
-diff --git a/config.tests/unix/odbc/odbc.cpp b/config.tests/unix/odbc/odbc.cpp
-index 7092c58..f28712e 100644
---- a/config.tests/unix/odbc/odbc.cpp
-+++ b/config.tests/unix/odbc/odbc.cpp
+diff -Naur a/config.tests/unix/odbc/odbc.cpp b/config.tests/unix/odbc/odbc.cpp
+--- a/config.tests/unix/odbc/odbc.cpp	2010-05-04 02:43:26.000000000 +0200
++++ b/config.tests/unix/odbc/odbc.cpp	2010-05-27 21:38:22.007563215 +0200
 @@ -38,7 +38,9 @@
  ** $QT_END_LICENSE$
  **
@@ -101,37 +85,415 @@
  #include <sql.h>
  #include <sqlext.h>
  
-diff --git a/config.tests/unix/odbc/odbc.pro b/config.tests/unix/odbc/odbc.pro
-index c588ede..740582a 100644
---- a/config.tests/unix/odbc/odbc.pro
-+++ b/config.tests/unix/odbc/odbc.pro
+diff -Naur a/config.tests/unix/odbc/odbc.pro b/config.tests/unix/odbc/odbc.pro
+--- a/config.tests/unix/odbc/odbc.pro	2010-05-04 02:43:26.000000000 +0200
++++ b/config.tests/unix/odbc/odbc.pro	2010-05-27 21:38:22.214837283 +0200
 @@ -1,4 +1,5 @@
  SOURCES = odbc.cpp
  CONFIG -= qt dylib
  mac:CONFIG -= app_bundle
 -LIBS += -lodbc
-+win32-g++:LIBS += -lodbc32
++win32-g++*:LIBS += -lodbc32
 +else:LIBS += -lodbc
-diff --git a/config.tests/unix/rtti/rtti.cpp b/config.tests/unix/rtti/rtti.cpp
-new file mode 100644
-index 0000000..e78103c
---- /dev/null
-+++ b/config.tests/unix/rtti/rtti.cpp
-@@ -0,0 +1,45 @@
+diff -Naur a/config.tests/x11/opengl/opengl.pro b/config.tests/x11/opengl/opengl.pro
+--- a/config.tests/x11/opengl/opengl.pro	2010-05-04 02:43:26.000000000 +0200
++++ b/config.tests/x11/opengl/opengl.pro	2010-05-27 21:38:22.214837283 +0200
+@@ -7,4 +7,5 @@
+ }
+ 
+ CONFIG -= qt
+-LIBS += -lGL -lGLU
++win32-g++*:LIBS += -lopengl32
++else:LIBS += -lGL -lGLU
+diff -Naur a/configure b/configure
+--- a/configure	2010-05-04 02:43:19.000000000 +0200
++++ b/configure	2010-05-27 21:38:22.255542166 +0200
+@@ -607,7 +607,7 @@
+ rm -f "$outpath/config.tests/.qmake.cache"
+ cp "$QMAKE_VARS_FILE" "$outpath/config.tests/.qmake.cache"
+ 
+-QMakeVar add styles "cde mac motif plastique cleanlooks windows"
++QMakeVar add styles "cde mac motif plastique cleanlooks windows windowsxp windowsvista"
+ QMakeVar add decorations "default windows styled"
+ QMakeVar add mouse-drivers "pc"
+ if [ "$UNAME_SYSTEM" = "Linux" ] ; then
+@@ -781,6 +781,7 @@
+ l_FLAGS=
+ QCONFIG_FLAGS=
+ XPLATFORM=              # This seems to be the QMAKESPEC, like "linux-g++"
++XPLATFORM_MINGW=no      # Whether target platform is MinGW (win32-g++*)
+ PLATFORM=$QMAKESPEC
+ QT_CROSS_COMPILE=no
+ OPT_CONFIRM_LICENSE=no
+@@ -1324,7 +1325,9 @@
+         fi
+ 	;;
+     arch)
+-        if [ "$PLATFORM_MAC" = "yes" ]; then
++        # if this is a Mac then "windows" probably means
++        # we are cross-compiling for MinGW
++        if [ "$PLATFORM_MAC" = "yes" ] && [ "$VAL" != "windows" ]; then
+             CFG_MAC_ARCHS="$CFG_MAC_ARCHS $VAL"
+         else
+             CFG_ARCH=$VAL
+@@ -1442,6 +1445,7 @@
+         ;;
+     xplatform)
+         XPLATFORM="$VAL"
++        case `basename "$XPLATFORM"` in win32-g++*) XPLATFORM_MINGW=yes;; esac
+         ;;
+     debug-and-release)
+         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
+@@ -2584,6 +2588,8 @@
+         #PLATFORM=solaris-g++
+         PLATFORM=solaris-cc
+         #PLATFORM=solaris-cc64
++        # But, since it's known to work, default to  g++ to target win32-g++
++        [ "$XPLATFORM_MINGW" = "yes" ] && PLATFORM="solaris-g++"
+         PLATFORM_NOTES="
+             - Also available for Solaris: solaris-g++ solaris-cc-64
+         "
+@@ -2653,6 +2659,9 @@
+ fi
+ 
+ [ -z "$XPLATFORM" ] && XPLATFORM="$PLATFORM"
++
++case `basename "$XPLATFORM"` in win32-g++*) XPLATFORM_MINGW=yes;; esac
++
+ if [ -d "$PLATFORM" ]; then
+   QMAKESPEC="$PLATFORM"
+ else
+@@ -2914,6 +2923,8 @@
+         CFG_ARCH="$CFG_EMBEDDED"
+         ;;
+     esac
++elif [ "$XPLATFORM_MINGW" = "yes" ]; then
++    [ -z "$CFG_ARCH" ] && CFG_ARCH="windows"
+ elif [ "$PLATFORM_MAC" = "yes" ] || [ -z "$CFG_ARCH" ]; then
+     CFG_ARCH=$CFG_HOST_ARCH
+ fi
+@@ -4841,6 +4852,7 @@
+                 if "$WHICH" pg_config >/dev/null 2>&1; then
+                     QT_CFLAGS_PSQL=`pg_config --includedir 2>/dev/null`
+                     QT_LFLAGS_PSQL=`pg_config --libdir 2>/dev/null`
++                    QT_LFLAGS_PSQL="$QT_LFLAGS_PSQL $PSQL_LIBS"
+                 fi
+                 [ -z "$QT_CFLAGS_PSQL" ] || QT_CFLAGS_PSQL="-I$QT_CFLAGS_PSQL"
+                 [ -z "$QT_LFLAGS_PSQL" ] || QT_LFLAGS_PSQL="-L$QT_LFLAGS_PSQL"
+@@ -4865,7 +4877,7 @@
+         ;;
+         odbc)
+             if [ "$CFG_SQL_odbc" != "no" ]; then
+-                if [ "$PLATFORM_MAC" != "yes" ] && "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/odbc "ODBC" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
++                if [ "$PLATFORM_MAC" != "yes" ] || [ "$XPLATFORM_MINGW" = "yes" ] && "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/odbc "ODBC" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
+                     if [ "$CFG_SQL_odbc" = "auto" ]; then
+                         CFG_SQL_odbc=plugin
+                     fi
+@@ -5202,7 +5214,10 @@
+ 
+     # Auto-detect GStreamer support (needed for both Phonon & QtMultimedia)
+     if [ "$CFG_PHONON" != "no" -o "$CFG_MEDIASERVICES" != "no" ]; then
+-        if [ "$CFG_GLIB" = "yes" -a "$CFG_GSTREAMER" != "no" ]; then
++        if [ "$XPLATFORM_MINGW" = "yes" ]; then
++            echo "Will build Phonon for win32-g++"
++            CFG_PHONON=yes
++        elif [ "$CFG_GLIB" = "yes" -a "$CFG_GSTREAMER" != "no" ]; then
+             if [ -n "$PKG_CONFIG" ]; then
+                 QT_CFLAGS_GSTREAMER=`$PKG_CONFIG --cflags gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
+                 QT_LIBS_GSTREAMER=`$PKG_CONFIG --libs gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
+@@ -5320,8 +5335,9 @@
+     fi
+ 
+     # Check we actually have X11 :-)
+-    "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xlib "XLib" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
+-    if [ $? != "0" ]; then
++    if [ "$XPLATFORM_MINGW" = "yes" ]; then
++        echo "Skipping XLib test for win32-g++"
++    elif ! "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xlib "XLib" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
+         echo "Basic XLib functionality test failed!"
+         echo " You might need to modify the include and library search paths by editing"
+         echo " QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in ${XQMAKESPEC}."
+@@ -5510,6 +5526,8 @@
+     fi
+ 
+     # auto-detect FontConfig support
++    # not used on win32 even if present
++    [ "$XPLATFORM_MINGW" = "yes" ] && CFG_FONTCONFIG=no
+     if [ "$CFG_FONTCONFIG" != "no" ]; then
+     if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists fontconfig --exists freetype2 2>/dev/null; then
+         QT_CFLAGS_FONTCONFIG=`$PKG_CONFIG --cflags fontconfig --cflags freetype2 2>/dev/null`
+@@ -5835,6 +5853,8 @@
+ # freetype support
+ [ "x$CFG_EMBEDDED" != "xno" ] && CFG_LIBFREETYPE="$CFG_QWS_FREETYPE"
+ [ "x$PLATFORM_MAC" = "xyes" ] && CFG_LIBFREETYPE=no
++# not used on win32 even if present
++[ "$XPLATFORM_MINGW" = "yes" ] && CFG_LIBFREETYPE=no
+ if [ "$CFG_LIBFREETYPE" = "auto" ]; then
+     if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/freetype "FreeType" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
+         CFG_LIBFREETYPE=system
+@@ -5844,7 +5864,9 @@
+ fi
+ 
+ if [ "$CFG_ENDIAN" = "auto" ]; then
+-    if [ "$PLATFORM_MAC" = "yes" ]; then
++    if [ "$XPLATFORM_MINGW" = "yes" ]; then
++        CFG_ENDIAN="Q_LITTLE_ENDIAN"
++    elif [ "$PLATFORM_MAC" = "yes" ]; then
+ 	true #leave as auto
+     elif [ "$XPLATFORM" = "symbian-sbsv2" ]; then
+         CFG_ENDIAN="Q_LITTLE_ENDIAN"
+@@ -6170,6 +6192,11 @@
+     fi
+ fi
+ 
++if [ "$CFG_LARGEFILE" != "yes" ] && [ "$XPLATFORM_MINGW" = "yes" ]; then
++    echo "Warning: largefile support cannot be disabled for win32."
++    CFG_LARGEFILE="yes"
++fi
++
+ #-------------------------------------------------------------------------------
+ # ask for all that hasn't been auto-detected or specified in the arguments
+ #-------------------------------------------------------------------------------
+@@ -6272,6 +6299,9 @@
+     fi
+ fi
+ 
++# but disable Cocoa if cross-building for mingw
++[ "$XPLATFORM_MINGW" = "yes" ] && CFG_MAC_COCOA="no"
++
+ # set the global Mac deployment target. This is overridden on an arch-by-arch basis
+ # in some cases, see code further down
+ case "$PLATFORM,$CFG_MAC_COCOA" in
+@@ -6410,7 +6440,7 @@
+ QMakeVar set MOC_DIR ".moc/$QMAKE_OUTDIR"
+ QMakeVar set RCC_DIR ".rcc/$QMAKE_OUTDIR"
+ QMakeVar set UI_DIR ".uic/$QMAKE_OUTDIR"
+-if [ "$CFG_LARGEFILE" = "yes" ]; then
++if [ "$CFG_LARGEFILE" = "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
+     QMAKE_CONFIG="$QMAKE_CONFIG largefile"
+ fi
+ if [ "$CFG_STL" = "no" ]; then
+@@ -6526,7 +6556,7 @@
+ fi
+ 
+ 
+-if [ "x$PLATFORM_MAC" = "xyes" ] && [ "$XPLATFORM" != "win32-g++" ]; then
++if [ "x$PLATFORM_MAC" = "xyes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
+     #On Mac we implicitly link against libz, so we
+     #never use the 3rdparty stuff.
+     [ "$CFG_ZLIB" = "yes" ] && CFG_ZLIB="system"
+@@ -6665,6 +6695,12 @@
+     QTCONFIG_CONFIG="$QTCONFIG_CONFIG exceptions"
+ fi
+ 
++if [ "$XPLATFORM_MINGW" = "yes" ]; then
++    # mkspecs/features/win32/default_pre.prf sets "no-rtti".
++    # Follow default behavior of configure.exe by overriding with "rtti".
++    QTCONFIG_CONFIG="$QTCONFIG_CONFIG rtti"
++fi
++
+ if [ "$CFG_ALSA" = "yes" ]; then
+     QT_CONFIG="$QT_CONFIG alsa"
+ fi
+@@ -7263,7 +7299,7 @@
+ echo '/* Compile time features */' >>"$outpath/src/corelib/global/qconfig.h.new"
+ [ '!' -z "$LicenseKeyExt" ] && echo "#define QT_PRODUCT_LICENSEKEY \"$LicenseKeyExt\"" >>"$outpath/src/corelib/global/qconfig.h.new"
+ 
+-if [ "$CFG_LARGEFILE" = "yes" ]; then
++if [ "$CFG_LARGEFILE" = "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
+     echo "#define QT_LARGEFILE_SUPPORT 64" >>"$outpath/src/corelib/global/qconfig.h.new"
+ fi
+ 
+@@ -7600,7 +7636,7 @@
+ EOF
+ 
+ # Ensure we can link to uninistalled libraries
+-if linkerSupportsFlag -rpath-link "$outpath/lib"; then
++if [ "$XPLATFORM_MINGW" != "yes" ] && linkerSupportsFlag -rpath-link "$outpath/lib"; then
+     echo "QMAKE_LFLAGS    += -Wl,-rpath-link,\$\$QT_BUILD_TREE/lib" >> "$CACHEFILE.tmp"
+ fi
+ 
+@@ -8137,7 +8173,9 @@
+         [ "$IN_ROOT" = "no" ] && continue
+ 
+         case $a in
+-        *winmain/winmain.pro) continue ;;
++        *winmain/winmain.pro)
++            [ "$XPLATFORM_MINGW" = "yes" ] || continue
++            SPEC=$XQMAKESPEC ;;
+         *s60main/s60main.pro) continue ;;
+         *examples/activeqt/*) continue ;;
+         */qmake/qmake.pro) continue ;;
+diff -Naur a/doc/doc.pri b/doc/doc.pri
+--- a/doc/doc.pri	2010-05-04 02:43:14.000000000 +0200
++++ b/doc/doc.pri	2010-05-27 21:38:22.258562193 +0200
+@@ -5,9 +5,9 @@
+ DOCS_GENERATION_DEFINES =
+ GENERATOR = $$QT_BUILD_TREE/bin/qhelpgenerator
+ 
+-win32:!win32-g++ {
++win32:!win32-g++* {
+     unixstyle = false
+-} else :win32-g++:isEmpty(QMAKE_SH) {
++} else :win32-g++*:isEmpty(QMAKE_SH) {
+     unixstyle = false
+ } else {
+     unixstyle = true
+@@ -36,7 +36,7 @@
+                     $$GENERATOR doc-build/html-qt_zh_CN/qt.qhp -o doc/qch/qt_zh_CN.qch \
+                )
+ 
+-win32-g++:isEmpty(QMAKE_SH) {
++win32-g++*:isEmpty(QMAKE_SH) {
+ 	QT_DOCUMENTATION = $$replace(QT_DOCUMENTATION, "/", "\\\\")
+ 	QT_ZH_CN_DOCUMENTATION = $$replace(QT_ZH_CN_DOCUMENTATION, "/", "\\\\")
+ }
+diff -Naur a/examples/activeqt/activeqt.pro b/examples/activeqt/activeqt.pro
+--- a/examples/activeqt/activeqt.pro	2010-05-04 02:43:18.000000000 +0200
++++ b/examples/activeqt/activeqt.pro	2010-05-27 21:38:22.258562193 +0200
+@@ -11,7 +11,7 @@
+ 
+ # For now only the contain examples with mingw, for the others you need
+ # an IDL compiler
+-win32-g++|wince*:SUBDIRS = webbrowser
++win32-g++*|wince*:SUBDIRS = webbrowser
+ 
+ # install
+ target.path = $$[QT_INSTALL_EXAMPLES]/activeqt
+diff -Naur a/mkspecs/win32-g++-cross/qmake.conf b/mkspecs/win32-g++-cross/qmake.conf
+--- a/mkspecs/win32-g++-cross/qmake.conf	1970-01-01 01:00:00.000000000 +0100
++++ b/mkspecs/win32-g++-cross/qmake.conf	2010-05-27 21:38:22.258562193 +0200
+@@ -0,0 +1,112 @@
++#
++# qmake configuration for win32-g++-cross
++#
++# Written for MinGW cross building on Unix
++#
++
++MAKEFILE_GENERATOR	= MINGW
++TEMPLATE		= app
++CONFIG			+= qt warn_on release link_prl copy_dir_files debug_and_release debug_and_release_target precompile_header
++QT			+= core gui
++DEFINES			+= UNICODE QT_LARGEFILE_SUPPORT
++QMAKE_COMPILER_DEFINES  += __GNUC__ WIN32
++
++QMAKE_EXT_OBJ           = .o
++QMAKE_EXT_RES           = _res.o
++
++QMAKE_CC		= i686-pc-mingw32-gcc
++QMAKE_LEX		= flex
++QMAKE_LEXFLAGS		=
++QMAKE_YACC		= byacc
++QMAKE_YACCFLAGS		= -d
++QMAKE_CFLAGS		= -pipe -isystem /usr/i686-pc-mingw32/include
++QMAKE_CFLAGS_DEPS	= -M
++QMAKE_CFLAGS_WARN_ON	= -Wall
++QMAKE_CFLAGS_WARN_OFF	= -w
++QMAKE_CFLAGS_RELEASE	= -O2
++QMAKE_CFLAGS_DEBUG	= -g
++QMAKE_CFLAGS_YACC	= -Wno-unused -Wno-parentheses
++
++QMAKE_CXX		= i686-pc-mingw32-g++
++QMAKE_CXXFLAGS		= $$QMAKE_CFLAGS
++QMAKE_CXXFLAGS_DEPS	= $$QMAKE_CFLAGS_DEPS
++QMAKE_CXXFLAGS_WARN_ON	= $$QMAKE_CFLAGS_WARN_ON
++QMAKE_CXXFLAGS_WARN_OFF	= $$QMAKE_CFLAGS_WARN_OFF
++QMAKE_CXXFLAGS_RELEASE	= $$QMAKE_CFLAGS_RELEASE
++QMAKE_CXXFLAGS_DEBUG	= $$QMAKE_CFLAGS_DEBUG
++QMAKE_CXXFLAGS_YACC	= $$QMAKE_CFLAGS_YACC
++QMAKE_CXXFLAGS_THREAD	= $$QMAKE_CFLAGS_THREAD
++QMAKE_CXXFLAGS_RTTI_ON	= -frtti
++QMAKE_CXXFLAGS_RTTI_OFF	= -fno-rtti
++QMAKE_CXXFLAGS_EXCEPTIONS_ON = -fexceptions -mthreads
++QMAKE_CXXFLAGS_EXCEPTIONS_OFF = -fno-exceptions
++
++QMAKE_INCDIR		=
++QMAKE_INCDIR_QT		= $$[QT_INSTALL_HEADERS]
++QMAKE_LIBDIR_QT		= $$[QT_INSTALL_LIBS]
++
++QMAKE_RUN_CC		= $(CC) -c $(CFLAGS) $(INCPATH) -o $obj $src
++QMAKE_RUN_CC_IMP	= $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<
++QMAKE_RUN_CXX		= $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $obj $src
++QMAKE_RUN_CXX_IMP	= $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
++
++QMAKE_LINK		= i686-pc-mingw32-g++
++QMAKE_LINK_C		= i686-pc-mingw32-gcc
++QMAKE_LFLAGS		= -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc
++QMAKE_LFLAGS_EXCEPTIONS_ON = -mthreads -Wl
++QMAKE_LFLAGS_EXCEPTIONS_OFF =
++QMAKE_LFLAGS_RELEASE	= -Wl,-s
++QMAKE_LFLAGS_DEBUG	=
++QMAKE_LFLAGS_CONSOLE	= -Wl,-subsystem,console
++QMAKE_LFLAGS_WINDOWS	= -Wl,-subsystem,windows
++QMAKE_LFLAGS_DLL        = -shared
++QMAKE_LINK_OBJECT_MAX	= 10
++QMAKE_LINK_OBJECT_SCRIPT= object_script
++
++
++QMAKE_LIBS		=
++QMAKE_LIBS_CORE         = -lkernel32 -luser32 -lshell32 -luuid -lole32 -ladvapi32 -lws2_32
++QMAKE_LIBS_GUI          = -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lws2_32 -lole32 -luuid -luser32 -ladvapi32
++QMAKE_LIBS_NETWORK      = -lws2_32
++QMAKE_LIBS_OPENGL       = -lopengl32 -lglu32 -lgdi32 -luser32
++QMAKE_LIBS_COMPAT       = -ladvapi32 -lshell32 -lcomdlg32 -luser32 -lgdi32 -lws2_32
++QMAKE_LIBS_QT_ENTRY     = -lmingw32 -lqtmain
++
++QMAKE_SH		= bash
++
++!isEmpty(QMAKE_SH) {
++    MINGW_IN_SHELL      = 1
++	QMAKE_DIR_SEP		= /
++	QMAKE_COPY		= cp
++	QMAKE_COPY_DIR		= cp -r
++	QMAKE_MOVE		= mv
++	QMAKE_DEL_FILE		= rm -f
++	QMAKE_MKDIR		= mkdir -p
++	QMAKE_DEL_DIR		= rmdir
++	QMAKE_SYMBOLIC_LINK	= ln -s
++    QMAKE_CHK_DIR_EXISTS = test -d
++} else {
++	QMAKE_COPY		= copy /y
++	QMAKE_COPY_DIR		= xcopy /s /q /y /i
++	QMAKE_MOVE		= move
++	QMAKE_DEL_FILE		= del
++	QMAKE_MKDIR		= mkdir
++	QMAKE_DEL_DIR		= rmdir
++    QMAKE_CHK_DIR_EXISTS	= if not exist
++}
++
++#QMAKE_IDC		= i686-pc-mingw32-idc
++QMAKE_MOC		= i686-pc-mingw32-moc
++QMAKE_RCC		= i686-pc-mingw32-rcc
++QMAKE_UIC		= i686-pc-mingw32-uic
++
++#QMAKE_IDL		= midl
++QMAKE_AR		= i686-pc-mingw32-ar
++QMAKE_LIB		= i686-pc-mingw32-ar -ru
++QMAKE_RC		= i686-pc-mingw32-windres
++QMAKE_ZIP		= zip -r -9
++
++QMAKE_STRIP		= i686-pc-mingw32-strip
++QMAKE_STRIPFLAGS_LIB 	+= --strip-unneeded
++PKG_CONFIG		= i686-pc-mingw32-pkg-config
++load(qt_config)
+diff -Naur a/mkspecs/win32-g++-cross/qplatformdefs.h b/mkspecs/win32-g++-cross/qplatformdefs.h
+--- a/mkspecs/win32-g++-cross/qplatformdefs.h	1970-01-01 01:00:00.000000000 +0100
++++ b/mkspecs/win32-g++-cross/qplatformdefs.h	2010-05-27 21:38:22.258562193 +0200
+@@ -0,0 +1,42 @@
 +/****************************************************************************
 +**
 +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
 +** All rights reserved.
 +** Contact: Nokia Corporation (qt-info@nokia.com)
 +**
-+** This file is part of the config.tests of the Qt Toolkit.
++** This file is part of the qmake spec of the Qt Toolkit.
 +**
 +** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial Usage
-+** Licensees holding valid Qt Commercial licenses may use this file in
-+** accordance with the Qt Commercial License Agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and Nokia.
++** No Commercial Usage
++** This file contains pre-release code and may not be distributed.
++** You may use this file in accordance with the terms and conditions
++** contained in the Technology Preview License Agreement accompanying
++** this package.
 +**
 +** GNU Lesser General Public License Usage
 +** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -145,398 +507,216 @@
 +** rights.  These rights are described in the Nokia Qt LGPL Exception
 +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 +**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 3.0 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL included in the
-+** packaging of this file.  Please review the following information to
-+** ensure the GNU General Public License version 3.0 requirements will be
-+** met: http://www.gnu.org/copyleft/gpl.html.
-+**
 +** If you have questions regarding the use of this file, please contact
 +** Nokia at qt-info@nokia.com.
++**
++**
++**
++**
++**
++**
++**
++**
 +** $QT_END_LICENSE$
 +**
 +****************************************************************************/
 +
-+int main(int, char**)
-+{
-+    return 0;
-+}
-diff --git a/config.tests/unix/rtti/rtti.pro b/config.tests/unix/rtti/rtti.pro
-new file mode 100644
-index 0000000..d0aae30
---- /dev/null
-+++ b/config.tests/unix/rtti/rtti.pro
-@@ -0,0 +1,3 @@
-+SOURCES = rtti.cpp
-+CONFIG -= x11 qt
-+mac:CONFIG -= app_bundle
-diff --git a/config.tests/x11/opengl/opengl.pro b/config.tests/x11/opengl/opengl.pro
-index 432bd8d..94faf15 100644
---- a/config.tests/x11/opengl/opengl.pro
-+++ b/config.tests/x11/opengl/opengl.pro
-@@ -7,4 +7,5 @@ for(p, QMAKE_LIBDIR_OPENGL) {
++#include "../win32-g++/qplatformdefs.h"
+diff -Naur a/qmake/generators/metamakefile.cpp b/qmake/generators/metamakefile.cpp
+--- a/qmake/generators/metamakefile.cpp	2010-05-04 02:43:18.000000000 +0200
++++ b/qmake/generators/metamakefile.cpp	2010-05-27 21:38:22.258562193 +0200
+@@ -501,9 +501,18 @@
+         *host_mode = Option::HOST_UNIX_MODE;
+         *target_mode = Option::TARG_UNIX_MODE;
+ #endif
+-    } else if (gen == "MSVC.NET" || gen == "MINGW" || gen == "BMAKE") {
++    } else if (gen == "MSVC.NET" || gen == "BMAKE") {
+         *host_mode = Option::HOST_WIN_MODE;
+         *target_mode = Option::TARG_WIN_MODE;
++    } else if (gen == "MINGW") {
++#if defined(Q_OS_MAC)
++        *host_mode = Option::HOST_MACX_MODE;
++#elif defined(Q_OS_UNIX)
++        *host_mode = Option::HOST_UNIX_MODE;
++#else
++        *host_mode = Option::HOST_WIN_MODE;
++#endif
++        *target_mode = Option::TARG_WIN_MODE;
+     } else if (gen == "PROJECTBUILDER" || gen == "XCODE") {
+         *host_mode = Option::HOST_MACX_MODE;
+         *target_mode = Option::TARG_MACX_MODE;
+diff -Naur a/qmake/generators/win32/mingw_make.cpp b/qmake/generators/win32/mingw_make.cpp
+--- a/qmake/generators/win32/mingw_make.cpp	2010-05-04 02:43:18.000000000 +0200
++++ b/qmake/generators/win32/mingw_make.cpp	2010-05-27 21:38:22.258562193 +0200
+@@ -371,7 +371,12 @@
+ 	    ar_script_file += "." + var("BUILD_NAME");
+ 	}
+ 	createArObjectScriptFile(ar_script_file, var("DEST_TARGET"), project->values("OBJECTS"));
+-        objectsLinkLine = "ar -M < " + ar_script_file;
++        QString ar_cmd = "ar";
++        if (!var("QMAKE_AR").isEmpty()) {
++            //Use the specified ar command, but strip off options
++            ar_cmd = var("QMAKE_AR").section(" ", 0, 0);
++        }
++        objectsLinkLine = ar_cmd + " -M < " + ar_script_file;
+     } else {
+         QString ld_script_file = var("QMAKE_LINK_OBJECT_SCRIPT") + "." + var("TARGET");
+ 	if (!var("BUILD_NAME").isEmpty()) {
+diff -Naur a/src/3rdparty/javascriptcore/WebKit.pri b/src/3rdparty/javascriptcore/WebKit.pri
+--- a/src/3rdparty/javascriptcore/WebKit.pri	2010-05-04 02:43:22.000000000 +0200
++++ b/src/3rdparty/javascriptcore/WebKit.pri	2010-05-27 21:38:22.274561960 +0200
+@@ -36,7 +36,7 @@
+             win32-*|wince* {
+                 CONFIG(debug, debug|release):build_pass: QTWEBKITLIBNAME = $${QTWEBKITLIBNAME}d
+                 QTWEBKITLIBNAME = $${QTWEBKITLIBNAME}$${QT_MAJOR_VERSION}
+-                win32-g++: LIBS += -l$$QTWEBKITLIBNAME
++                win32-g++*: LIBS += -l$$QTWEBKITLIBNAME
+                 else: LIBS += $${QTWEBKITLIBNAME}.lib
+             } else {
+                 LIBS += -lQtWebKit
+diff -Naur a/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro b/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro
+--- a/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro	2010-05-04 02:43:19.000000000 +0200
++++ b/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro	2010-05-27 21:38:22.290562843 +0200
+@@ -38,7 +38,7 @@
+ }
+ 
+ # Pick up 3rdparty libraries from INCLUDE/LIB just like with MSVC
+-win32-g++ {
++win32-g++* {
+     TMPPATH            = $$quote($$(INCLUDE))
+     QMAKE_INCDIR_POST += $$split(TMPPATH,";")
+     TMPPATH            = $$quote($$(LIB))
+diff -Naur a/src/3rdparty/webkit/WebCore/WebCore.pro b/src/3rdparty/webkit/WebCore/WebCore.pro
+--- a/src/3rdparty/webkit/WebCore/WebCore.pro	2010-05-04 02:43:21.000000000 +0200
++++ b/src/3rdparty/webkit/WebCore/WebCore.pro	2010-05-27 21:38:22.294554998 +0200
+@@ -100,7 +100,7 @@
  }
  
- CONFIG -= qt
--LIBS += -lGL -lGLU
-+win32-g++:LIBS += -lopengl32
-+else:LIBS += -lGL -lGLU
-diff --git a/configure b/configure
-index ed5891f..646cb73 100755
---- a/configure
-+++ b/configure
-@@ -178,6 +178,7 @@ UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
- # window system detection
- #-------------------------------------------------------------------------------
- 
-+# XPLATFROM win32-g++ is treated as a subcase of PLATFORM_X11 for convenience
- PLATFORM_X11=no
- PLATFORM_MAC=no
- PLATFORM_QWS=no
-@@ -605,7 +606,7 @@ mkdir -p "$outpath/config.tests"
- rm -f "$outpath/config.tests/.qmake.cache"
- cp "$QMAKE_VARS_FILE" "$outpath/config.tests/.qmake.cache"
- 
--QMakeVar add styles "cde mac motif plastique cleanlooks windows"
-+QMakeVar add styles "cde mac motif plastique cleanlooks windows windowsxp windowsvista"
- QMakeVar add decorations "default windows styled"
- QMakeVar add mouse-drivers "pc"
- if [ "$UNAME_SYSTEM" = "Linux" ] ; then
-@@ -733,6 +734,7 @@ CFG_MMX=auto
- CFG_3DNOW=auto
- CFG_SSE=auto
- CFG_SSE2=auto
-+CFG_RTTI=auto
- CFG_REDUCE_RELOCATIONS=no
- CFG_IPV6=auto
- CFG_NAS=no
-@@ -1304,7 +1306,9 @@ while [ "$#" -gt 0 ]; do
-         fi
- 	;;
-     arch)
--        if [ "$PLATFORM_MAC" = "yes" ]; then
-+        # if this is a Mac then "windows" probably means
-+        # we are cross-compiling for MinGW
-+        if [ "$PLATFORM_MAC" = "yes" ] && [ "$VAL" != "windows" ]; then
-             CFG_MAC_ARCHS="$CFG_MAC_ARCHS $VAL"
-         else
-             CFG_ARCH=$VAL
-@@ -1602,6 +1606,13 @@ while [ "$#" -gt 0 ]; do
-             UNKNOWN_OPT=yes
-         fi
-         ;;
-+    rtti)
-+        if [ "$VAL" = "no" ]; then
-+            CFG_RTTI="$VAL"
-+        else
-+            UNKNOWN_OPT=yes
-+        fi
-+        ;;
-     iwmmxt)
- 	CFG_IWMMXT="yes"
- 	;;
-@@ -2827,6 +2838,9 @@ elif [ "$PLATFORM_MAC" = "yes" ] || [ -z "$CFG_ARCH" ]; then
-     CFG_ARCH=$CFG_HOST_ARCH
- fi
- 
-+# but windows is windows
-+[ "$XPLATFORM" = "win32-g++" ] && CFG_ARCH="windows"
-+
- if [ -d "$relpath/src/corelib/arch/$CFG_ARCH" ]; then
-     if [ "$OPT_VERBOSE" = "yes" ]; then
-         echo "    '$CFG_ARCH' is supported"
-@@ -3482,6 +3496,7 @@ cat << EOF
-     -no-3dnow .......... Do not compile with use of 3DNOW instructions.
-     -no-sse ............ Do not compile with use of SSE instructions.
-     -no-sse2 ........... Do not compile with use of SSE2 instructions.
-+    -no-rtti ........... Do not compile with RTTI.
- 
-     -qtnamespace <name>  Wraps all Qt library code in 'namespace <name> {...}'.
-     -qtlibinfix <infix>  Renames all libQt*.so to libQt*<infix>.so.
-@@ -4508,6 +4523,17 @@ if [ "${CFG_SSE2}" = "auto" ]; then
-     fi
- fi
- 
-+# detect rtti support
-+if [ "${CFG_RTTI}" = "auto" ]; then
-+    if [ "$XPLATFORM" != "win32-g++" ]; then
-+        CFG_RTTI=no
-+    elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/rtti "rtti" $L_FLAGS $I_FLAGS $l_FLAGS "-frtti"; then
-+        CFG_RTTI=yes
-+    else
-+        CFG_RTTI=no
-+    fi
-+fi
-+
- # check iWMMXt support
- if [ "$CFG_IWMMXT" = "yes" ]; then
-     "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/iwmmxt "iwmmxt" $L_FLAGS $I_FLAGS $l_FLAGS "-mcpu=iwmmxt"
-@@ -4683,6 +4709,7 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do
-                 if "$WHICH" pg_config >/dev/null 2>&1; then
-                     QT_CFLAGS_PSQL=`pg_config --includedir 2>/dev/null`
-                     QT_LFLAGS_PSQL=`pg_config --libdir 2>/dev/null`
-+                    QT_LFLAGS_PSQL="$QT_LFLAGS_PSQL $PSQL_LIBS"
-                 fi
-                 [ -z "$QT_CFLAGS_PSQL" ] || QT_CFLAGS_PSQL="-I$QT_CFLAGS_PSQL"
-                 [ -z "$QT_LFLAGS_PSQL" ] || QT_LFLAGS_PSQL="-L$QT_LFLAGS_PSQL"
-@@ -4707,7 +4734,7 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do
-         ;;
-         odbc)
-             if [ "$CFG_SQL_odbc" != "no" ]; then
--                if [ "$PLATFORM_MAC" != "yes" ] && "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/odbc "ODBC" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
-+                if [ "$PLATFORM_MAC" != "yes" ] || [ "$XPLATFORM" = "win32-g++" ] && "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/odbc "ODBC" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
-                     if [ "$CFG_SQL_odbc" = "auto" ]; then
-                         CFG_SQL_odbc=plugin
-                     fi
-@@ -5002,7 +5029,10 @@ if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" ]; then
-     fi
- 
-     if [ "$CFG_PHONON" != "no" ]; then
--        if [ "$CFG_PHONON_BACKEND" != "no" ]; then
-+        if [ "$XPLATFORM" = "win32-g++" ]; then
-+            echo "Will build Phonon for win32-g++"
-+            CFG_PHONON=yes
-+        elif [ "$CFG_PHONON_BACKEND" != "no" ]; then
-             if [ "$CFG_GLIB" = "yes" -a "$CFG_GSTREAMER" != "no" ]; then
-                 if [ -n "$PKG_CONFIG" ]; then
-                     QT_CFLAGS_GSTREAMER=`$PKG_CONFIG --cflags gstreamer-0.10 gstreamer-plugins-base-0.10 2>/dev/null`
-@@ -5060,8 +5090,9 @@ if [ "$PLATFORM_X11" = "yes" ]; then
-     fi
- 
-     # Check we actually have X11 :-)
--    "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xlib "XLib" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
--    if [ $? != "0" ]; then
-+    if [ "$XPLATFORM" = "win32-g++" ]; then
-+        echo "Skipping XLib test for win32-g++"
-+    elif ! "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xlib "XLib" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
-         echo "Basic XLib functionality test failed!"
-         echo " You might need to modify the include and library search paths by editing"
-         echo " QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in ${XQMAKESPEC}."
-@@ -6141,6 +6172,7 @@ fi
- [ "$CFG_3DNOW" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG 3dnow"
- [ "$CFG_SSE" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse"
- [ "$CFG_SSE2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse2"
-+[ "$CFG_RTTI" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG rtti"
- [ "$CFG_IWMMXT" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG iwmmxt"
- [ "$CFG_NEON" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG neon"
- [ "$PLATFORM_MAC" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG $CFG_MAC_ARCHS"
-@@ -6222,7 +6254,7 @@ else
-     QT_CONFIG="$QT_CONFIG freetype"
- fi
- 
--if [ "x$PLATFORM_MAC" = "xyes" ]; then
-+if [ "x$PLATFORM_MAC" = "xyes" ] && [ "$XPLATFORM" != "win32-g++" ]; then
-     #On Mac we implicitly link against libz, so we
-     #never use the 3rdparty stuff.
-     [ "$CFG_ZLIB" = "yes" ] && CFG_ZLIB="system"
-@@ -7161,7 +7193,7 @@ fi
- 
- cat >>"$QTCONFIG.tmp" <<EOF
- #configuration
--CONFIG += $QTCONFIG_CONFIG
-+CONFIG += $QMAKE_CONFIG $QTCONFIG_CONFIG
- QT_ARCH = $CFG_ARCH
- QT_EDITION = $Edition
- QT_CONFIG += $QT_CONFIG
-@@ -7434,7 +7466,7 @@ fi
- echo "Declarative module .. $CFG_DECLARATIVE"
- echo "STL support ......... $CFG_STL"
- echo "PCH support ......... $CFG_PRECOMPILE"
--echo "MMX/3DNOW/SSE/SSE2..  ${CFG_MMX}/${CFG_3DNOW}/${CFG_SSE}/${CFG_SSE2}"
-+echo "MMX/3DNOW/SSE/SSE2/RTTI..  ${CFG_MMX}/${CFG_3DNOW}/${CFG_SSE}/${CFG_SSE2}/${CFG_RTTI}"
- if [ "$CFG_ARCH" = "arm" ] || [ "$CFG_ARCH" = "armv6" ]; then
-     echo "iWMMXt support ...... ${CFG_IWMMXT}"
-     echo "NEON support ........ ${CFG_NEON}"
-@@ -7752,7 +7784,11 @@ for file in .projects .projects.3; do
-         [ "$IN_ROOT" = "no" ] && continue
- 
-         case $a in
--        *winmain/winmain.pro) continue ;;
-+        *winmain/winmain.pro)
-+            case "$XPLATFORM" in
-+            win32*) SPEC=$XQMAKESPEC ;;
-+            *) continue ;;
-+            esac ;;
-         *s60main/s60main.pro) continue ;;
-         *examples/activeqt/*) continue ;;
-         */qmake/qmake.pro) continue ;;
-diff --git a/mkspecs/win32-g++/qmake.conf b/mkspecs/win32-g++/qmake.conf
-index b282f69..b537bc7 100644
---- a/mkspecs/win32-g++/qmake.conf
-+++ b/mkspecs/win32-g++/qmake.conf
-@@ -3,23 +3,31 @@
- #
- # Written for MinGW
- #
-+load(qt_config)
- 
- MAKEFILE_GENERATOR	= MINGW
- TEMPLATE		= app
- CONFIG			+= qt warn_on release link_prl copy_dir_files debug_and_release debug_and_release_target precompile_header
-+CONFIG			+= windows win32
-+CONFIG			-= freetype
-+QT_CONFIG		-= freetype
- QT			+= core gui
- DEFINES			+= UNICODE QT_LARGEFILE_SUPPORT
-+DEFINES			-= QT_LARGEFILE_SUPPORT
-+DEFINES			+= QT_TABLET QT_SESSIONMANAGER QT_NO_DIRECT3D QT_NO_CODECS
- QMAKE_COMPILER_DEFINES  += __GNUC__ WIN32
- 
- QMAKE_EXT_OBJ           = .o
- QMAKE_EXT_RES           = _res.o
- 
--QMAKE_CC		= gcc
-+QMAKE_CC		= HOSTPLATFORMPREFIX-gcc
- QMAKE_LEX		= flex
- QMAKE_LEXFLAGS		=
- QMAKE_YACC		= byacc
- QMAKE_YACCFLAGS		= -d
- QMAKE_CFLAGS		=
-+QMAKE_CFLAGS		+= -isystem HOSTPLATFORMINCLUDE
-+QMAKE_CFLAGS		+= -pipe
- QMAKE_CFLAGS_DEPS	= -M
- QMAKE_CFLAGS_WARN_ON	= -Wall
- QMAKE_CFLAGS_WARN_OFF	= -w
-@@ -27,7 +35,7 @@ QMAKE_CFLAGS_RELEASE	= -O2
- QMAKE_CFLAGS_DEBUG	= -g
- QMAKE_CFLAGS_YACC	= -Wno-unused -Wno-parentheses
- 
--QMAKE_CXX		= g++
-+QMAKE_CXX		= HOSTPLATFORMPREFIX-g++
- QMAKE_CXXFLAGS		= $$QMAKE_CFLAGS
- QMAKE_CXXFLAGS_DEPS	= $$QMAKE_CFLAGS_DEPS
- QMAKE_CXXFLAGS_WARN_ON	= $$QMAKE_CFLAGS_WARN_ON
-@@ -42,6 +50,7 @@ QMAKE_CXXFLAGS_EXCEPTIONS_ON = -fexceptions -mthreads
- QMAKE_CXXFLAGS_EXCEPTIONS_OFF = -fno-exceptions
- 
- QMAKE_INCDIR		=
-+QMAKE_INCDIR		+= .
- QMAKE_INCDIR_QT		= $$[QT_INSTALL_HEADERS]
- QMAKE_LIBDIR_QT		= $$[QT_INSTALL_LIBS]
- 
-@@ -50,8 +59,8 @@ QMAKE_RUN_CC_IMP	= $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<
- QMAKE_RUN_CXX		= $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $obj $src
- QMAKE_RUN_CXX_IMP	= $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
- 
--QMAKE_LINK		= g++
--QMAKE_LINK_C		= gcc
-+QMAKE_LINK		= HOSTPLATFORMPREFIX-g++
-+QMAKE_LINK_C		= HOSTPLATFORMPREFIX-gcc
- QMAKE_LFLAGS		= -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc
- QMAKE_LFLAGS_EXCEPTIONS_ON = -mthreads -Wl
- QMAKE_LFLAGS_EXCEPTIONS_OFF =
-@@ -72,15 +81,18 @@ QMAKE_LIBS_OPENGL       = -lopengl32 -lglu32 -lgdi32 -luser32
- QMAKE_LIBS_COMPAT       = -ladvapi32 -lshell32 -lcomdlg32 -luser32 -lgdi32 -lws2_32
- QMAKE_LIBS_QT_ENTRY     = -lmingw32 -lqtmain
- 
-+QMAKE_SH				= bash
-+
- !isEmpty(QMAKE_SH) {
-     MINGW_IN_SHELL      = 1
- 	QMAKE_DIR_SEP		= /
- 	QMAKE_COPY		= cp
--	QMAKE_COPY_DIR		= xcopy /s /q /y /i
-+	QMAKE_COPY_DIR		= cp -r
- 	QMAKE_MOVE		= mv
--	QMAKE_DEL_FILE		= rm
--	QMAKE_MKDIR		= mkdir
-+	QMAKE_DEL_FILE		= rm -f
-+	QMAKE_MKDIR		= mkdir -p
- 	QMAKE_DEL_DIR		= rmdir
-+	QMAKE_SYMBOLIC_LINK	= ln -s
-     QMAKE_CHK_DIR_EXISTS = test -d
- } else {
- 	QMAKE_COPY		= copy /y
-@@ -92,15 +104,16 @@ QMAKE_LIBS_QT_ENTRY     = -lmingw32 -lqtmain
-     QMAKE_CHK_DIR_EXISTS	= if not exist
+ # Pick up 3rdparty libraries from INCLUDE/LIB just like with MSVC
+-win32-g++ {
++win32-g++* {
+     TMPPATH            = $$quote($$(INCLUDE))
+     QMAKE_INCDIR_POST += $$split(TMPPATH,";")
+     TMPPATH            = $$quote($$(LIB))
+@@ -2904,7 +2904,7 @@
+     CONFIG += no_debug_info
  }
  
--QMAKE_MOC		= $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}moc.exe
--QMAKE_UIC		= $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}uic.exe
--QMAKE_IDC		= $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}idc.exe
-+#QMAKE_IDC		= HOSTPLATFORMPREFIX-idc
-+QMAKE_MOC		= HOSTPLATFORMPREFIX-moc
-+QMAKE_RCC		= HOSTPLATFORMPREFIX-rcc
-+QMAKE_UIC		= HOSTPLATFORMPREFIX-uic
- 
--QMAKE_IDL		= midl
--QMAKE_LIB		= ar -ru
--QMAKE_RC		= windres
-+#QMAKE_IDL		= midl
-+QMAKE_LIB		= HOSTPLATFORMPREFIX-ar -ru
-+QMAKE_RC		= HOSTPLATFORMPREFIX-windres
- QMAKE_ZIP		= zip -r -9
+-!win32-g++:win32:contains(QMAKE_HOST.arch, x86_64):{
++!win32-g++*:win32:contains(QMAKE_HOST.arch, x86_64):{
+     asm_compiler.commands = ml64 /c
+     asm_compiler.commands +=  /Fo ${QMAKE_FILE_OUT} ${QMAKE_FILE_IN}
+     asm_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)}
+diff -Naur a/src/3rdparty/webkit/WebKit/qt/Api/DerivedSources.pro b/src/3rdparty/webkit/WebKit/qt/Api/DerivedSources.pro
+--- a/src/3rdparty/webkit/WebKit/qt/Api/DerivedSources.pro	2010-05-04 02:43:22.000000000 +0200
++++ b/src/3rdparty/webkit/WebKit/qt/Api/DerivedSources.pro	2010-05-27 21:38:22.302562912 +0200
+@@ -12,7 +12,7 @@
+ ESCAPE = ""
+ win32-msvc*|symbian {
+     ESCAPE = "^"
+-} else:win32-g++:isEmpty(QMAKE_SH) {
++} else:win32-g++*:isEmpty(QMAKE_SH) {
+     # MinGW's make will run makefile commands using sh, even if make
+     #  was run from the Windows shell, if it finds sh in the path.
+     ESCAPE = "^"
+diff -Naur a/src/3rdparty/webkit/WebKit.pri b/src/3rdparty/webkit/WebKit.pri
+--- a/src/3rdparty/webkit/WebKit.pri	2010-05-04 02:43:22.000000000 +0200
++++ b/src/3rdparty/webkit/WebKit.pri	2010-05-27 21:38:22.302562912 +0200
+@@ -24,7 +24,7 @@
+             win32-*|wince* {
+                 CONFIG(debug, debug|release):build_pass: QTWEBKITLIBNAME = $${QTWEBKITLIBNAME}d
+                 QTWEBKITLIBNAME = $${QTWEBKITLIBNAME}$${QT_MAJOR_VERSION}
+-                win32-g++: LIBS += -l$$QTWEBKITLIBNAME
++                win32-g++*: LIBS += -l$$QTWEBKITLIBNAME
+                 else: LIBS += $${QTWEBKITLIBNAME}.lib
+             } else {
+                 LIBS += -lQtWebKit
+diff -Naur a/src/activeqt/container/container.pro b/src/activeqt/container/container.pro
+--- a/src/activeqt/container/container.pro	2010-05-04 02:43:26.000000000 +0200
++++ b/src/activeqt/container/container.pro	2010-05-27 21:38:22.302562912 +0200
+@@ -19,7 +19,7 @@
  
--QMAKE_STRIP		= strip
-+QMAKE_STRIP		= HOSTPLATFORMPREFIX-strip
- QMAKE_STRIPFLAGS_LIB 	+= --strip-unneeded
--load(qt_config)
-+PKG_CONFIG		= HOSTPLATFORMPREFIX-pkg-config
-diff --git a/src/3rdparty/phonon/ds9/videorenderer_soft.cpp b/src/3rdparty/phonon/ds9/videorenderer_soft.cpp
-index f7d42cf..9c7993c 100644
---- a/src/3rdparty/phonon/ds9/videorenderer_soft.cpp
-+++ b/src/3rdparty/phonon/ds9/videorenderer_soft.cpp
-@@ -45,7 +45,7 @@ along with this library.  If not, see <http://www.gnu.org/licenses/>.
- #endif
+ LIBS    += -lole32 -loleaut32
+ !wince*:LIBS    += -luser32 -lgdi32 -ladvapi32
+-win32-g++:LIBS += -luuid
++win32-g++*:LIBS += -luuid
+ 
+ HEADERS =   ../control/qaxaggregated.h \
+             qaxbase.h \
+diff -Naur a/src/activeqt/control/control.pro b/src/activeqt/control/control.pro
+--- a/src/activeqt/control/control.pro	2010-05-04 02:43:26.000000000 +0200
++++ b/src/activeqt/control/control.pro	2010-05-27 21:38:22.302562912 +0200
+@@ -18,11 +18,11 @@
+ QTDIR_build:DESTDIR  = $$QT_BUILD_TREE\lib
  
- #ifndef QT_NO_OPENGL
--#include <gl/gl.h>
-+#include <GL/gl.h>
- #ifndef GL_FRAGMENT_PROGRAM_ARB
- #define GL_FRAGMENT_PROGRAM_ARB           0x8804
- #define GL_PROGRAM_FORMAT_ASCII_ARB       0x8875
-diff --git a/src/corelib/tools/tools.pri b/src/corelib/tools/tools.pri
-index 3406e41..e171584 100644
---- a/src/corelib/tools/tools.pri
-+++ b/src/corelib/tools/tools.pri
-@@ -96,8 +96,8 @@ contains(QT_CONFIG, zlib) {
+ DEFINES	+= QAX_SERVER
+-win32-g++:DEFINES += QT_NEEDS_QMAIN
++win32-g++*:DEFINES += QT_NEEDS_QMAIN
+ win32-borland:DEFINES += QT_NEEDS_QMAIN
+ 
+ LIBS    += -luser32 -lole32 -loleaut32 -lgdi32
+-win32-g++:LIBS += -luuid
++win32-g++*:LIBS += -luuid
+ 
+ HEADERS =   qaxaggregated.h \
+             qaxbindable.h \
+diff -Naur a/src/corelib/tools/tools.pri b/src/corelib/tools/tools.pri
+--- a/src/corelib/tools/tools.pri	2010-05-04 02:43:25.000000000 +0200
++++ b/src/corelib/tools/tools.pri	2010-05-27 21:38:22.314563610 +0200
+@@ -106,8 +106,8 @@
          ../3rdparty/zlib/uncompr.c \
          ../3rdparty/zlib/zutil.c
  } else:!contains(QT_CONFIG, no-zlib) {
 -   unix:LIBS_PRIVATE += -lz
 -#  win32:LIBS += libz.lib
-+    unix|win32-g++:LIBS_PRIVATE += -lz
-+    win32:!win32-g++:LIBS += zdll.lib
++    unix|win32-g++*:LIBS_PRIVATE += -lz
++    win32:!win32-g++*:LIBS += zdll.lib
  }
  
  DEFINES += HB_EXPORT=Q_CORE_EXPORT
-diff --git a/src/gui/image/image.pri b/src/gui/image/image.pri
-index b67be55..6642ae3 100644
---- a/src/gui/image/image.pri
-+++ b/src/gui/image/image.pri
-@@ -93,11 +93,11 @@ SOURCES += \
+diff -Naur a/src/gui/image/image.pri b/src/gui/image/image.pri
+--- a/src/gui/image/image.pri	2010-05-04 02:43:24.000000000 +0200
++++ b/src/gui/image/image.pri	2010-05-27 21:38:22.318555136 +0200
+@@ -93,12 +93,12 @@
      SOURCES += image/qpnghandler.cpp
  
      contains(QT_CONFIG, system-png) {
 -        unix:LIBS_PRIVATE  += -lpng
 -        win32:LIBS += libpng.lib
-+        unix|win32-g++:LIBS_PRIVATE += -lpng
-+        win32:!win32-g++:LIBS += libpng.lib
++        unix|win32-g++*:LIBS_PRIVATE += -lpng
++        win32:!win32-g++*:LIBS += libpng.lib
      } else {
+ 	DEFINES *= QT_USE_BUNDLED_LIBPNG
          !isEqual(QT_ARCH, i386):!isEqual(QT_ARCH, x86_64):DEFINES += PNG_NO_ASSEMBLER_CODE
 -        INCLUDEPATH  += ../3rdparty/libpng ../3rdparty/zlib
 +        INCLUDEPATH += ../3rdparty/libpng
          SOURCES += ../3rdparty/libpng/png.c \
            ../3rdparty/libpng/pngerror.c \
            ../3rdparty/libpng/pngget.c \
-@@ -115,6 +115,10 @@ SOURCES += \
-           ../3rdparty/libpng/pngwutil.c \
-           ../3rdparty/libpng/pnggccrd.c
+@@ -115,6 +115,10 @@
+           ../3rdparty/libpng/pngwtran.c \
+           ../3rdparty/libpng/pngwutil.c
      }
 +    contains(QT_CONFIG, system-zlib) {
-+        unix|win32-g++:LIBS_PRIVATE += -lz
-+        win32:!win32-g++:LIBS += zdll.lib
++        unix|win32-g++*:LIBS_PRIVATE += -lz
++        win32:!win32-g++*:LIBS += zdll.lib
 +    }
  } else {
      DEFINES *= QT_NO_IMAGEFORMAT_PNG
  }
-diff --git a/src/gui/painting/painting.pri b/src/gui/painting/painting.pri
-index a6cc9c7..95779a1 100644
---- a/src/gui/painting/painting.pri
-+++ b/src/gui/painting/painting.pri
-@@ -387,9 +387,9 @@ neon {
+diff -Naur a/src/gui/painting/painting.pri b/src/gui/painting/painting.pri
+--- a/src/gui/painting/painting.pri	2010-05-04 02:43:25.000000000 +0200
++++ b/src/gui/painting/painting.pri	2010-05-27 21:38:22.322562585 +0200
+@@ -232,7 +232,7 @@
+         IWMMXT_SOURCES += painting/qdrawhelper_iwmmxt.cpp
+     }
+ 
+-    win32-g++|!win32:!*-icc* {
++    win32-g++*|!win32:!*-icc* {
+         mmx {
+             mmx_compiler.commands = $$QMAKE_CXX -c -Winline
+ 
+@@ -401,9 +401,9 @@
  }
  
  contains(QT_CONFIG, zlib) {
@@ -545,15 +725,14 @@
  } else:!contains(QT_CONFIG, no-zlib) {
 -   unix:LIBS_PRIVATE += -lz
 -#  win32:LIBS += libz.lib
-+    unix|win32-g++:LIBS_PRIVATE += -lz
-+    win32:!win32-g++:LIBS += zdll.lib
++    unix|win32-g++*:LIBS_PRIVATE += -lz
++    win32:!win32-g++*:LIBS += zdll.lib
  }
  
-diff --git a/src/network/access/access.pri b/src/network/access/access.pri
-index aa36890..f009761 100644
---- a/src/network/access/access.pri
-+++ b/src/network/access/access.pri
-@@ -59,8 +59,8 @@ SOURCES += access/qftp.cpp \
+diff -Naur a/src/network/access/access.pri b/src/network/access/access.pri
+--- a/src/network/access/access.pri	2010-05-04 02:43:25.000000000 +0200
++++ b/src/network/access/access.pri	2010-05-27 21:38:22.322562585 +0200
+@@ -59,8 +59,8 @@
  
  #zlib support
  contains(QT_CONFIG, zlib) {
@@ -562,14 +741,13 @@
  } else:!contains(QT_CONFIG, no-zlib) {
 -   unix:LIBS_PRIVATE += -lz
 -#  win32:LIBS += libz.lib
-+    unix|win32-g++:LIBS_PRIVATE += -lz
-+    win32:!win32-g++:LIBS += zdll.lib
++    unix|win32-g++*:LIBS_PRIVATE += -lz
++    win32:!win32-g++*:LIBS += zdll.lib
  }
-diff --git a/src/network/ssl/ssl.pri b/src/network/ssl/ssl.pri
-index 72ea80f..cf31a5b 100644
---- a/src/network/ssl/ssl.pri
-+++ b/src/network/ssl/ssl.pri
-@@ -34,6 +34,7 @@ symbian {
+diff -Naur a/src/network/ssl/ssl.pri b/src/network/ssl/ssl.pri
+--- a/src/network/ssl/ssl.pri	2010-05-04 02:43:25.000000000 +0200
++++ b/src/network/ssl/ssl.pri	2010-05-27 21:38:22.322562585 +0200
+@@ -34,6 +34,7 @@
      # Include Qt's default CA bundle
      RESOURCES += network.qrc
  
@@ -578,43 +756,41 @@
 +    !contains(QT_CONFIG, system-zlib):OPENSSL_LIBS -= -lz
      LIBS_PRIVATE += $$OPENSSL_LIBS
  }
-diff --git a/src/plugins/imageformats/jpeg/jpeg.pro b/src/plugins/imageformats/jpeg/jpeg.pro
-index ebc79cc..30a19c6 100644
---- a/src/plugins/imageformats/jpeg/jpeg.pro
-+++ b/src/plugins/imageformats/jpeg/jpeg.pro
-@@ -20,8 +20,8 @@ symbian: {
+diff -Naur a/src/plugins/imageformats/jpeg/jpeg.pro b/src/plugins/imageformats/jpeg/jpeg.pro
+--- a/src/plugins/imageformats/jpeg/jpeg.pro	2010-05-04 02:43:25.000000000 +0200
++++ b/src/plugins/imageformats/jpeg/jpeg.pro	2010-05-27 21:38:22.322562585 +0200
+@@ -22,8 +22,8 @@
  }
  
  contains(QT_CONFIG, system-jpeg) {
 -        unix:LIBS += -ljpeg
 -        win32:LIBS += libjpeg.lib
-+        unix|win32-g++:LIBS += -ljpeg
-+        win32:!win32-g++:LIBS += libjpeg.lib
++        unix|win32-g++*:LIBS += -ljpeg
++        win32:!win32-g++*:LIBS += libjpeg.lib
  }
  !contains(QT_CONFIG, system-jpeg) {
  	INCLUDEPATH += ../../../3rdparty/libjpeg
-diff --git a/src/plugins/imageformats/mng/mng.pro b/src/plugins/imageformats/mng/mng.pro
-index de7dfa7..46c84c4 100644
---- a/src/plugins/imageformats/mng/mng.pro
-+++ b/src/plugins/imageformats/mng/mng.pro
-@@ -14,8 +14,8 @@ symbian: {
+diff -Naur a/src/plugins/imageformats/mng/mng.pro b/src/plugins/imageformats/mng/mng.pro
+--- a/src/plugins/imageformats/mng/mng.pro	2010-05-04 02:43:25.000000000 +0200
++++ b/src/plugins/imageformats/mng/mng.pro	2010-05-27 21:38:22.322562585 +0200
+@@ -14,8 +14,8 @@
  }
  
  contains(QT_CONFIG, system-mng) {
 -        unix:LIBS += -lmng
 -        win32:LIBS += libmng.lib
-+        unix|win32-g++:LIBS += -lmng
-+        win32:!win32-g++:LIBS += libmng.lib
++        unix|win32-g++*:LIBS += -lmng
++        win32:!win32-g++*:LIBS += libmng.lib
  }
  !contains(QT_CONFIG, system-mng) {
          DEFINES += MNG_BUILD_SO
-@@ -44,10 +44,11 @@ contains(QT_CONFIG, system-mng) {
+@@ -44,10 +44,11 @@
  }
  
  contains(QT_CONFIG, system-zlib) {
 -        LIBS += -lz
-+    unix|win32-g++:LIBS_PRIVATE += -lz
-+    win32:!win32-g++:LIBS += zdll.lib
++    unix|win32-g++*:LIBS_PRIVATE += -lz
++    win32:!win32-g++*:LIBS += zdll.lib
  }
  !contains(QT_CONFIG, system-zlib) {
 -        INCLUDEPATH +=  ../../../3rdparty/zlib
@@ -622,33 +798,32 @@
  }
  
  QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/imageformats
-diff --git a/src/plugins/imageformats/tiff/tiff.pro b/src/plugins/imageformats/tiff/tiff.pro
-index 312f99c..29d36f4 100644
---- a/src/plugins/imageformats/tiff/tiff.pro
-+++ b/src/plugins/imageformats/tiff/tiff.pro
-@@ -8,8 +8,13 @@ SOURCES += main.cpp \
+diff -Naur a/src/plugins/imageformats/tiff/tiff.pro b/src/plugins/imageformats/tiff/tiff.pro
+--- a/src/plugins/imageformats/tiff/tiff.pro	2010-05-04 02:43:25.000000000 +0200
++++ b/src/plugins/imageformats/tiff/tiff.pro	2010-05-27 21:38:22.322562585 +0200
+@@ -8,8 +8,13 @@
             qtiffhandler.cpp
  
  contains(QT_CONFIG, system-tiff) {
 -        unix:LIBS += -ltiff
 -        win32:LIBS += libtiff.lib
-+        unix|win32-g++:LIBS += -ltiff
-+        win32:!win32-g++:LIBS += libtiff.lib
++        unix|win32-g++*:LIBS += -ltiff
++        win32:!win32-g++*:LIBS += libtiff.lib
 +
 +        contains(QT_CONFIG, system-jpeg) {
-+                unix|win32-g++:LIBS += -ljpeg
-+                win32:!win32-g++:LIBS += libjpeg.lib
++                unix|win32-g++*:LIBS += -ljpeg
++                win32:!win32-g++*:LIBS += libjpeg.lib
 +        }
  }
  !contains(QT_CONFIG, system-tiff) {
  	INCLUDEPATH += ../../../3rdparty/libtiff/libtiff
-@@ -62,10 +67,11 @@ contains(QT_CONFIG, system-tiff) {
+@@ -64,10 +69,11 @@
  }
  
  contains(QT_CONFIG, system-zlib) {
 -        LIBS += -lz
-+    unix|win32-g++:LIBS_PRIVATE += -lz
-+    win32:!win32-g++:LIBS += zdll.lib
++    unix|win32-g++*:LIBS_PRIVATE += -lz
++    win32:!win32-g++*:LIBS += zdll.lib
  }
  !contains(QT_CONFIG, system-zlib) {
 -        INCLUDEPATH +=  ../../../3rdparty/zlib
@@ -656,37 +831,29 @@
  }
  
  QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/imageformats
-diff --git a/src/plugins/sqldrivers/psql/psql.pro b/src/plugins/sqldrivers/psql/psql.pro
-index 29fbada..0a38ee4 100644
---- a/src/plugins/sqldrivers/psql/psql.pro
-+++ b/src/plugins/sqldrivers/psql/psql.pro
-@@ -4,18 +4,15 @@ HEADERS		= ../../../sql/drivers/psql/qsql_psql.h
+diff -Naur a/src/plugins/sqldrivers/psql/psql.pro b/src/plugins/sqldrivers/psql/psql.pro
+--- a/src/plugins/sqldrivers/psql/psql.pro	2010-05-04 02:43:25.000000000 +0200
++++ b/src/plugins/sqldrivers/psql/psql.pro	2010-05-27 21:38:22.322562585 +0200
+@@ -4,7 +4,7 @@
  SOURCES		= main.cpp \
  		  ../../../sql/drivers/psql/qsql_psql.cpp
  
--unix: {
-+unix|win32-g++: {
+-unix|win32-g++: {
++unix|win32-g++*: {
      !isEmpty(QT_LFLAGS_PSQL) {
--        LIBS *= $$QT_LFLAGS_PSQL
-+        !contains(QT_CONFIG, system-zlib): QT_LFLAGS_PSQL -= -lz
-+        !static:LIBS *= $$QT_LFLAGS_PSQL
-         QMAKE_CXXFLAGS *= $$QT_CFLAGS_PSQL
-     }
+         !contains(QT_CONFIG, system-zlib): QT_LFLAGS_PSQL -= -lz
+         !static:LIBS *= $$QT_LFLAGS_PSQL
+@@ -13,6 +13,6 @@
      !contains(LIBS, .*pq.*):LIBS *= -lpq
  }
  
--win32:!contains(LIBS, .*pq.* ) {
--    !win32-g++:LIBS    *= -llibpq       
--    win32-g++:LIBS *= -lpq	
--    LIBS    *= -lws2_32 -ladvapi32
--}
-+win32:!win32-g++:!contains(LIBS, .*pq.* ) LIBS *= -llibpq -lws2_32 -ladvapi32
+-win32:!win32-g++:!contains(LIBS, .*pq.* ) LIBS *= -llibpq -lws2_32 -ladvapi32
++win32:!win32-g++*:!contains(LIBS, .*pq.* ) LIBS *= -llibpq -lws2_32 -ladvapi32
  
  include(../qsqldriverbase.pri)
-diff --git a/src/plugins/sqldrivers/tds/main.cpp b/src/plugins/sqldrivers/tds/main.cpp
-index eb654ef..0a17f17 100644
---- a/src/plugins/sqldrivers/tds/main.cpp
-+++ b/src/plugins/sqldrivers/tds/main.cpp
+diff -Naur a/src/plugins/sqldrivers/tds/main.cpp b/src/plugins/sqldrivers/tds/main.cpp
+--- a/src/plugins/sqldrivers/tds/main.cpp	2010-05-04 02:43:25.000000000 +0200
++++ b/src/plugins/sqldrivers/tds/main.cpp	2010-05-27 21:38:22.322562585 +0200
 @@ -47,6 +47,7 @@
  #define _WINSCARD_H_
  #include <windows.h>
@@ -695,26 +862,24 @@
  #include "../../../sql/drivers/tds/qsql_tds.h"
  
  QT_BEGIN_NAMESPACE
-diff --git a/src/plugins/sqldrivers/tds/tds.pro b/src/plugins/sqldrivers/tds/tds.pro
-index 08a166b..f66d5b7 100644
---- a/src/plugins/sqldrivers/tds/tds.pro
-+++ b/src/plugins/sqldrivers/tds/tds.pro
-@@ -6,8 +6,9 @@ SOURCES		= main.cpp \
+diff -Naur a/src/plugins/sqldrivers/tds/tds.pro b/src/plugins/sqldrivers/tds/tds.pro
+--- a/src/plugins/sqldrivers/tds/tds.pro	2010-05-04 02:43:25.000000000 +0200
++++ b/src/plugins/sqldrivers/tds/tds.pro	2010-05-27 21:38:22.322562585 +0200
+@@ -6,8 +6,9 @@
  		  ../../../sql/drivers/tds/qsql_tds.cpp
  
  unix:!contains( LIBS, .*sybdb.* ):LIBS 	*= -lsybdb
-+win32-g++:LIBS *=  -lsybdb -liconv -lws2_32
++win32-g++*:LIBS *=  -lsybdb -liconv -lws2_32
  
 -win32 {
-+win32:!win32-g++ {
++win32:!win32-g++* {
      !win32-borland:LIBS *= -lNTWDBLIB
      win32-borland:LIBS 	*= $(BCB)/lib/PSDK/NTWDBLIB.LIB
  }
-diff --git a/src/qbase.pri b/src/qbase.pri
-index 710a2b6..2c3e91c 100644
---- a/src/qbase.pri
-+++ b/src/qbase.pri
-@@ -85,7 +85,6 @@ win32-borland {
+diff -Naur a/src/qbase.pri b/src/qbase.pri
+--- a/src/qbase.pri	2010-05-04 02:43:26.000000000 +0200
++++ b/src/qbase.pri	2010-05-27 21:38:22.322562585 +0200
+@@ -85,7 +85,6 @@
  }
  
  win32 {
@@ -722,39 +887,41 @@
      INCLUDEPATH += tmp
      !static: DEFINES+=QT_MAKEDLL
  }
-diff --git a/src/sql/drivers/drivers.pri b/src/sql/drivers/drivers.pri
-index 184eca9..aac0267 100644
---- a/src/sql/drivers/drivers.pri
-+++ b/src/sql/drivers/drivers.pri
-@@ -6,19 +6,16 @@ contains(sql-drivers, psql) {
+diff -Naur a/src/sql/drivers/drivers.pri b/src/sql/drivers/drivers.pri
+--- a/src/sql/drivers/drivers.pri	2010-05-04 02:43:24.000000000 +0200
++++ b/src/sql/drivers/drivers.pri	2010-05-27 21:38:22.326563679 +0200
+@@ -6,7 +6,7 @@
      HEADERS +=      drivers/psql/qsql_psql.h
      SOURCES +=      drivers/psql/qsql_psql.cpp
  
--    unix {
--        !isEmpty(QT_LFLAGS_PSQL) {
--            LIBS *= $$QT_LFLAGS_PSQL
-+    unix|win32-g++ {
-+        !static:!isEmpty(QT_LFLAGS_PSQL) {
-+            !contains(QT_CONFIG, system-zlib): QT_LFLAGS_PSQL -= -lz
-+            !static:LIBS *= $$QT_LFLAGS_PSQL
-             QMAKE_CXXFLAGS *= $$QT_CFLAGS_PSQL
-         }
+-    unix|win32-g++ {
++    unix|win32-g++* {
+         !static:!isEmpty(QT_LFLAGS_PSQL) {
+             !contains(QT_CONFIG, system-zlib): QT_LFLAGS_PSQL -= -lz
+             !static:LIBS *= $$QT_LFLAGS_PSQL
+@@ -15,7 +15,7 @@
          !contains(LIBS, .*pq.*):LIBS *= -lpq
      }
  
--    win32 {
--	!win32-g++:!contains( LIBS, .*pq.* ):LIBS *= -llibpq
--    	win32-g++:!contains( LIBS, .*pq.* ):LIBS *= -lpq
--        LIBS *= -lws2_32 -ladvapi32
--    }
-+    win32:!win32-g++:!contains(LIBS, .*pq.* ) LIBS *= -llibpq -lws2_32 -ladvapi32
+-    win32:!win32-g++:!contains(LIBS, .*pq.* ) LIBS *= -llibpq -lws2_32 -ladvapi32
++    win32:!win32-g++*:!contains(LIBS, .*pq.* ) LIBS *= -llibpq -lws2_32 -ladvapi32
  }
  
  contains(sql-drivers, mysql) {
-diff --git a/src/sql/drivers/tds/qsql_tds.cpp b/src/sql/drivers/tds/qsql_tds.cpp
-index 422f866..16785ed 100644
---- a/src/sql/drivers/tds/qsql_tds.cpp
-+++ b/src/sql/drivers/tds/qsql_tds.cpp
+@@ -35,8 +35,8 @@
+     }
+ 
+     win32:!contains(LIBS, .*mysql.*):!contains(LIBS, .*mysqld.*) {
+-        !win32-g++:LIBS     *= -llibmysql    
+-	win32-g++:LIBS	    *= -lmysql
++        !win32-g++*:LIBS     *= -llibmysql    
++	win32-g++*:LIBS	    *= -lmysql
+     }    
+ }
+ 
+diff -Naur a/src/sql/drivers/tds/qsql_tds.cpp b/src/sql/drivers/tds/qsql_tds.cpp
+--- a/src/sql/drivers/tds/qsql_tds.cpp	2010-05-04 02:43:24.000000000 +0200
++++ b/src/sql/drivers/tds/qsql_tds.cpp	2010-05-27 21:38:22.326563679 +0200
 @@ -47,7 +47,8 @@
  #else
  #define Q_USE_SYBASE
@@ -765,10 +932,9 @@
  #include "qsql_tds.h"
  
  #include <qvariant.h>
-diff --git a/src/sql/drivers/tds/qsql_tds.h b/src/sql/drivers/tds/qsql_tds.h
-index cb318f3..a6354ce 100644
---- a/src/sql/drivers/tds/qsql_tds.h
-+++ b/src/sql/drivers/tds/qsql_tds.h
+diff -Naur a/src/sql/drivers/tds/qsql_tds.h b/src/sql/drivers/tds/qsql_tds.h
+--- a/src/sql/drivers/tds/qsql_tds.h	2010-05-04 02:43:24.000000000 +0200
++++ b/src/sql/drivers/tds/qsql_tds.h	2010-05-27 21:38:22.326563679 +0200
 @@ -48,7 +48,8 @@
  
  #ifdef Q_OS_WIN32
@@ -779,11 +945,10 @@
  #include <QtCore/qt_windows.h>
  #include <sqlfront.h>
  #include <sqldb.h>
-diff --git a/src/svg/svg.pro b/src/svg/svg.pro
-index d2a4227..0d3ef83 100644
---- a/src/svg/svg.pro
-+++ b/src/svg/svg.pro
-@@ -44,7 +44,8 @@ symbian:TARGET.UID3=0x2001B2E2
+diff -Naur a/src/svg/svg.pro b/src/svg/svg.pro
+--- a/src/svg/svg.pro	2010-05-04 02:43:25.000000000 +0200
++++ b/src/svg/svg.pro	2010-05-27 21:38:22.326563679 +0200
+@@ -44,7 +44,8 @@
  
  #zlib support
  contains(QT_CONFIG, zlib) {
@@ -791,44 +956,31 @@
 +    INCLUDEPATH += ../3rdparty/zlib
  } else:!contains(QT_CONFIG, no-zlib) {
 -   unix:LIBS_PRIVATE += -lz
-+    unix|win32-g++:LIBS_PRIVATE += -lz
-+    win32:!win32-g++:LIBS += zdll.lib
- }
-diff --git a/src/tools/bootstrap/bootstrap.pri b/src/tools/bootstrap/bootstrap.pri
-index b3ee948..18efe9d 100644
---- a/src/tools/bootstrap/bootstrap.pri
-+++ b/src/tools/bootstrap/bootstrap.pri
-@@ -52,8 +52,8 @@ hpux-acc*|hpuxi-acc* {
-     LIBS += -lbootstrap
++    unix|win32-g++*:LIBS_PRIVATE += -lz
++    win32:!win32-g++*:LIBS += zdll.lib
  }
- !contains(QT_CONFIG, zlib):!contains(QT_CONFIG, no-zlib) {
--   unix:LIBS += -lz
--#  win32:LIBS += libz.lib
-+    unix|win32-g++:LIBS_PRIVATE += -lz
-+    win32:!win32-g++:LIBS += zdll.lib
- }
- win32:LIBS += -luser32
- 
-diff --git a/src/tools/bootstrap/bootstrap.pro b/src/tools/bootstrap/bootstrap.pro
-index 0dbb90f..e6b43a6 100644
---- a/src/tools/bootstrap/bootstrap.pro
-+++ b/src/tools/bootstrap/bootstrap.pro
-@@ -109,6 +109,9 @@ contains(QT_CONFIG, zlib) {
+diff -Naur a/src/tools/bootstrap/bootstrap.pro b/src/tools/bootstrap/bootstrap.pro
+--- a/src/tools/bootstrap/bootstrap.pro	2010-05-04 02:43:25.000000000 +0200
++++ b/src/tools/bootstrap/bootstrap.pro	2010-05-27 21:38:22.326563679 +0200
+@@ -109,6 +109,9 @@
          ../3rdparty/zlib/trees.c \
          ../3rdparty/zlib/uncompr.c \
          ../3rdparty/zlib/zutil.c
 +} else:!contains(QT_CONFIG, no-zlib) {
-+    unix|win32-g++:LIBS_PRIVATE += -lz
-+    win32:!win32-g++:LIBS += zdll.lib
++    unix|win32-g++*:LIBS_PRIVATE += -lz
++    win32:!win32-g++*:LIBS += zdll.lib
  }
  
  lib.CONFIG = dummy_install
-diff --git a/src/winmain/winmain.pro b/src/winmain/winmain.pro
-index bc322b9..f1fec05 100644
---- a/src/winmain/winmain.pro
-+++ b/src/winmain/winmain.pro
-@@ -11,7 +11,7 @@ win32 {
- 	win32-g++:DEFINES += QT_NEEDS_QMAIN
+diff -Naur a/src/winmain/winmain.pro b/src/winmain/winmain.pro
+--- a/src/winmain/winmain.pro	2010-05-04 02:43:25.000000000 +0200
++++ b/src/winmain/winmain.pro	2010-05-27 21:38:22.326563679 +0200
+@@ -8,10 +8,10 @@
+ CONFIG	-= qt shared
+ 
+ win32 {
+-	win32-g++:DEFINES += QT_NEEDS_QMAIN
++	win32-g++*:DEFINES += QT_NEEDS_QMAIN
  	win32-borland:DEFINES += QT_NEEDS_QMAIN
  	SOURCES		= qtmain_win.cpp
 -	CONFIG		+= png zlib
@@ -836,24 +988,73 @@
  	CONFIG		-= jpeg
  	INCLUDEPATH	+= tmp $$QMAKE_INCDIR_QT/QtCore
  }
-diff --git a/tools/qvfb/qvfb.pro b/tools/qvfb/qvfb.pro
-index dde7e8d..556dbcb 100644
---- a/tools/qvfb/qvfb.pro
-+++ b/tools/qvfb/qvfb.pro
-@@ -42,12 +42,14 @@ contains(QT_CONFIG, opengl) {
+diff -Naur a/tools/activeqt/testcon/testcon.pro b/tools/activeqt/testcon/testcon.pro
+--- a/tools/activeqt/testcon/testcon.pro	2010-05-04 02:43:18.000000000 +0200
++++ b/tools/activeqt/testcon/testcon.pro	2010-05-27 21:38:22.330555204 +0200
+@@ -16,6 +16,6 @@
+ win32-borland {
+     QMAKE_POST_LINK = -midl $$QT_SOURCE_TREE/tools/activeqt/testcon/testcon.idl
+ } else {
+-    !win32-g++:QMAKE_POST_LINK = midl $$QT_SOURCE_TREE/tools/activeqt/testcon/testcon.idl && move testcon.tlb $(TARGETDIR)
++    !win32-g++*:QMAKE_POST_LINK = midl $$QT_SOURCE_TREE/tools/activeqt/testcon/testcon.idl && move testcon.tlb $(TARGETDIR)
+ 
+ }
+diff -Naur a/tools/assistant/lib/fulltextsearch/fulltextsearch.pro b/tools/assistant/lib/fulltextsearch/fulltextsearch.pro
+--- a/tools/assistant/lib/fulltextsearch/fulltextsearch.pro	2010-05-04 02:43:17.000000000 +0200
++++ b/tools/assistant/lib/fulltextsearch/fulltextsearch.pro	2010-05-27 21:38:22.330555204 +0200
+@@ -29,7 +29,7 @@
+ CONFIG(exceptions_off) {
+     CONFIG -= exceptions_off
+     CONFIG += exceptions
+-    !win32|win32-g++ {
++    !win32|win32-g++* {
+         QMAKE_CFLAGS -= -fno-exceptions
+         QMAKE_CXXFLAGS -= -fno-exceptions
+         QMAKE_LFLAGS -= -fno-exceptions
+diff -Naur a/tools/configure/configure.pro b/tools/configure/configure.pro
+--- a/tools/configure/configure.pro	2010-05-04 02:43:18.000000000 +0200
++++ b/tools/configure/configure.pro	2010-05-27 21:38:22.330555204 +0200
+@@ -8,7 +8,7 @@
+ 
+ win32 : LIBS += -lole32 -ladvapi32
+ win32-msvc.net | win32-msvc2* : QMAKE_CXXFLAGS += /EHsc
+-win32-g++ : LIBS += -luuid
++win32-g++* : LIBS += -luuid
+ 
+ win32-msvc* {
+     QMAKE_CFLAGS_RELEASE -= -MD
+diff -Naur a/tools/qdoc3/qdoc3.pro b/tools/qdoc3/qdoc3.pro
+--- a/tools/qdoc3/qdoc3.pro	2010-05-04 02:43:17.000000000 +0200
++++ b/tools/qdoc3/qdoc3.pro	2010-05-27 21:38:22.330555204 +0200
+@@ -115,9 +115,9 @@
+ 
+ ### Documentation for qdoc3 ###
+ 
+-win32:!win32-g++ {
++win32:!win32-g++* {
+     unixstyle = false
+-} else :win32-g++:isEmpty(QMAKE_SH) {
++} else :win32-g++*:isEmpty(QMAKE_SH) {
+     unixstyle = false
+ } else {
+     unixstyle = true
+diff -Naur a/tools/qvfb/qvfb.pro b/tools/qvfb/qvfb.pro
+--- a/tools/qvfb/qvfb.pro	2010-05-04 02:43:18.000000000 +0200
++++ b/tools/qvfb/qvfb.pro	2010-05-27 21:38:22.330555204 +0200
+@@ -42,12 +42,14 @@
  }
  
  contains(QT_CONFIG, system-png) {
 -	LIBS += -lpng
-+    unix|win32-g++:LIBS_PRIVATE += -lpng
-+    win32:!win32-g++:LIBS += libpng.lib
++    unix|win32-g++*:LIBS_PRIVATE += -lpng
++    win32:!win32-g++*:LIBS += libpng.lib
  } else {
  	INCLUDEPATH     += $$QT_SOURCE_TREE/src/3rdparty/libpng
  }
  contains(QT_CONFIG, system-zlib) {
 -	LIBS += -lz
-+    unix|win32-g++:LIBS_PRIVATE += -lz
-+    win32:!win32-g++:LIBS += zdll.lib
++    unix|win32-g++*:LIBS_PRIVATE += -lz
++    win32:!win32-g++*:LIBS += zdll.lib
  } else {
  	INCLUDEPATH     += $$QT_SOURCE_TREE/src/3rdparty/zlib
  }
--- a/src/qt.mk	Mon May 31 09:21:44 2010 +0200
+++ b/src/qt.mk	Mon May 31 11:04:18 2010 +0000
@@ -4,13 +4,13 @@
 # Qt
 PKG             := qt
 $(PKG)_IGNORE   :=
-$(PKG)_VERSION  := 4.6.2
-$(PKG)_CHECKSUM := 977c10b88a2230e96868edc78a9e3789c0fcbf70
+$(PKG)_VERSION  := 4.7.0-beta1
+$(PKG)_CHECKSUM := ccb3126e64ce0a0142970a8898625fe5e84c7361
 $(PKG)_SUBDIR   := $(PKG)-everywhere-opensource-src-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-everywhere-opensource-src-$($(PKG)_VERSION).tar.gz
 $(PKG)_WEBSITE  := http://qt.nokia.com/
 $(PKG)_URL      := http://get.qt.nokia.com/qt/source/$($(PKG)_FILE)
-$(PKG)_DEPS     := gcc libodbc++ postgresql freetds openssl libgcrypt zlib libpng jpeg libmng tiff sqlite libiconv
+$(PKG)_DEPS     := gcc libodbc++ postgresql freetds openssl libgcrypt zlib libpng jpeg libmng tiff giflib sqlite libiconv
 
 define $(PKG)_UPDATE
     wget -q -O- 'http://qt.gitorious.org/qt/qt/commits' | \
@@ -20,100 +20,35 @@
 endef
 
 define $(PKG)_BUILD
-
-    # Native, unpatched build of Qt for moc, rcc, uic and qmake
-    cd '$(1)' && $(call UNPACK_PKG_ARCHIVE,qt)
-    mv '$(1)/$(qt_SUBDIR)' '$(1).native'
-
-    $(SED) -i 's,PLATFORM_X11=yes,PLATFORM_X11=no,'           '$(1)'.native/configure
-    $(SED) -i 's,PLATFORM=solaris-cc$$,PLATFORM=solaris-g++,' '$(1)'.native/configure
-    cd '$(1)'.native && ./configure \
-        -opensource \
-        -confirm-license \
-        -prefix '$(PREFIX)/$(TARGET)' \
-        -prefix-install \
-        -fast \
-        -release \
-        -no-exceptions \
-        -nomake demos \
-        -nomake examples \
-        -nomake libs \
-        -nomake tools \
-        -nomake docs \
-        -nomake translations
-
-    $(MAKE) -C '$(1)'.native -j '$(JOBS)' sub-tools-bootstrap
-    $(MAKE) -C '$(1)'.native -j '$(JOBS)' sub-moc
-    $(MAKE) -C '$(1)'.native -j '$(JOBS)' sub-rcc
-    $(MAKE) -C '$(1)'.native -j '$(JOBS)' sub-uic
-
-    # rebuild qmake to use "-unix" as default and to use the correct "ar" command
-    $(SED) -i 's,\(Option::TARG_MODE Option::target_mode = Option::TARG_\)[A-Z_]*,\1UNIX_MODE,' '$(1)'.native/qmake/option.cpp
-    $(SED) -i 's,"ar -M,"$(TARGET)-ar -M,' '$(1)'.native/qmake/generators/win32/mingw_make.cpp
-    $(MAKE) -C '$(1)'.native/qmake -j '$(JOBS)'
-
-    # install the native tools manually
-    $(INSTALL) -m755 '$(1)'.native/bin/moc   '$(PREFIX)/bin/$(TARGET)-moc'
-    $(INSTALL) -m755 '$(1)'.native/bin/rcc   '$(PREFIX)/bin/$(TARGET)-rcc'
-    $(INSTALL) -m755 '$(1)'.native/bin/uic   '$(PREFIX)/bin/$(TARGET)-uic'
-    $(INSTALL) -m755 '$(1)'.native/bin/qmake '$(PREFIX)/bin/$(TARGET)-qmake'
-
-    # Trick the build system into using native tools
-    ln -s '$(1)'.native/bin/{moc,rcc,uic,qmake} '$(1)'/bin/
-
-    # Make sure we don't build the tools again
-    echo 'qmake:' >'$(1)'/qmake/Makefile.unix
-    for f in `ls -1 '$(1)'/src/tools`; \
-        do echo TEMPLATE = subdirs >'$(1)'/src/tools/"$$f"/"$$f".pro; \
-    done
-
-    # Trick the buildsystem into using win32 feature files:
-    mv '$(1)'/mkspecs/features/unix '$(1)'/mkspecs/features/unix.orig
-    ln -s win32 '$(1)'/mkspecs/features/unix
-
-    # Adjust the mkspec values that contain the TARGET platform prefix.
-    # The patch planted strings HOSTPLATFORMPREFIX and HOSTPLATFORMINCLUDE.
-    $(SED) -i 's,HOSTPLATFORMPREFIX-,$(TARGET)-,g'                  '$(1)'/mkspecs/win32-g++/qmake.conf
-    $(SED) -i 's,HOSTPLATFORMINCLUDE,$(PREFIX)/$(TARGET)/include,g' '$(1)'/mkspecs/win32-g++/qmake.conf
-
-    # Make sure qmake doesn't use compilation paths meant for unix
-    find '$(1)'/src -name '*.pr[oi]' -exec \
-        $(SED) -i 's,\(^\|[^_/]\)unix,\1linux,g' {} \;
-
-    # Make qmake use compilation paths meant for MinGW or Windows in general
-    find '$(1)'/src -name '*.pr[oi]' -exec \
-        $(SED) -i 's,\(^\|[^_/]\)win32-g++\([^-]\|$$\),\1unix\2,g' {} \;
-    find '$(1)'/src -name '*.pr[oi]' -exec \
-        $(SED) -i 's,\(^\|[^_/]\)win32\([^-]\|$$\),\1unix\2,g' {} \;
+    # Adjust the makespec defs that contain the TARGET platform prefix.
+    $(SED) -i 's,/usr/i686-pc-mingw32/,$(PREFIX)/$(TARGET)/,g' '$(1)/mkspecs/win32-g++-cross/qmake.conf'
+    $(SED) -i 's,i686-pc-mingw32-,$(TARGET)-,g'                '$(1)/mkspecs/win32-g++-cross/qmake.conf'
 
     # Use the correct pg_config tool
-    $(SED) -i 's,pg_config,$(TARGET)-pg_config,g;' '$(1)'/configure
+    $(SED) -i 's,pg_config,$(TARGET)-pg_config,g;' '$(1)/configure'
 
-    # Configure Qt for MinGW target
     # We prefer static mingw-cross-env system libs for static build:
     # -system-zlib -system-libpng -system-libjpeg -system-libtiff -system-libmng -system-sqlite
     # There is no -system-gif option. NB -system-libmng will not link in shared build.
     # Linking QtNetwork4.dll requires OPENSSL_LIBS as does linking apps with static Qt.
     # Linking qsqlpsql4.dll plugin requires PSQL_LIBS as does linking apps with static Qt.
     # For shared Qt with qt-zlib, add -lQtCore4 to end of OPENSSL_LIBS to satisfy zlib dependency.
+    # -no-largefile does not really disable large file support, it just prevents defining
+    # QT_LARGEFILE_SUPPORT 64 which is not intended for win32.
     cd '$(1)' && \
         OPENSSL_LIBS="`'$(TARGET)-pkg-config' --libs-only-l openssl`" \
-        PSQL_LIBS="-lpq -lsecur32 `'$(TARGET)-pkg-config' --libs-only-l openssl`" ./configure \
+        PSQL_LIBS="-lpq -lsecur32 `'$(TARGET)-pkg-config' --libs-only-l openssl`" \
+        ./configure \
         -opensource \
         -confirm-license \
-        -xplatform win32-g++ \
-        -arch windows \
-        -little-endian \
-        -host-arch i386 \
-        -host-little-endian \
-        -no-largefile \
+        -fast \
+        -xplatform win32-g++-cross \
         -force-pkg-config \
         -release \
         -exceptions \
         -static \
         -prefix '$(PREFIX)/$(TARGET)' \
         -prefix-install \
-        -bindir '$(1)'/bindirsink \
         -script \
         -opengl desktop \
         -no-webkit \
@@ -138,15 +73,16 @@
         -system-libtiff \
         -system-libmng \
         -system-sqlite \
-        -qt-gif \
         -openssl-linked \
-        -no-fontconfig \
         -v
 
     $(MAKE) -C '$(1)' -j '$(JOBS)'
-    '$(TARGET)-ranlib' '$(1)'/lib/*.a
     rm -rf '$(PREFIX)/$(TARGET)/mkspecs'
     $(MAKE) -C '$(1)' -j 1 install
+    $(INSTALL) -m755 '$(1)/bin/moc'   '$(PREFIX)/bin/$(TARGET)-moc'
+    $(INSTALL) -m755 '$(1)/bin/rcc'   '$(PREFIX)/bin/$(TARGET)-rcc'
+    $(INSTALL) -m755 '$(1)/bin/uic'   '$(PREFIX)/bin/$(TARGET)-uic'
+    $(INSTALL) -m755 '$(1)/bin/qmake' '$(PREFIX)/bin/$(TARGET)-qmake'
 
     mkdir            '$(1)/test-qt'
     cp '$(2)'*       '$(1)/test-qt/'