# HG changeset patch # User Mark Brand # Date 1324037716 -3600 # Node ID e1d7c2b4f285bcf5b5ea493d039fe0cb484b8e93 # Parent 44e3d954a3ad2247253f2419b587985059521888 update packages: lcms libpng qt suitesparse diff -r 44e3d954a3ad -r e1d7c2b4f285 src/lcms.mk --- a/src/lcms.mk Fri Dec 16 10:21:33 2011 +0100 +++ b/src/lcms.mk Fri Dec 16 13:15:16 2011 +0100 @@ -4,8 +4,8 @@ # lcms PKG := lcms $(PKG)_IGNORE := -$(PKG)_VERSION := 2.2 -$(PKG)_CHECKSUM := 55ae4884a92c7fbd491c118aa3b356814b1014df +$(PKG)_VERSION := 2.3 +$(PKG)_CHECKSUM := 67d5fabda2f5777ca8387766539b9c871d993133 $(PKG)_SUBDIR := $(PKG)$(word 1,$(subst ., ,$($(PKG)_VERSION)))-$(subst a,,$($(PKG)_VERSION)) $(PKG)_FILE := $(PKG)$(word 1,$(subst ., ,$($(PKG)_VERSION)))-$(subst a,,$($(PKG)_VERSION)).tar.gz $(PKG)_WEBSITE := http://www.littlecms.com/ diff -r 44e3d954a3ad -r e1d7c2b4f285 src/libpng.mk --- a/src/libpng.mk Fri Dec 16 10:21:33 2011 +0100 +++ b/src/libpng.mk Fri Dec 16 13:15:16 2011 +0100 @@ -4,8 +4,8 @@ # libpng PKG := libpng $(PKG)_IGNORE := -$(PKG)_VERSION := 1.5.6 -$(PKG)_CHECKSUM := d3c4b8c03bf52dceb1637ad508585bcb89b7e187 +$(PKG)_VERSION := 1.5.7 +$(PKG)_CHECKSUM := 534ba6b97f0a14eea83f197beb2d60648392c25c $(PKG)_SUBDIR := libpng-$($(PKG)_VERSION) $(PKG)_FILE := libpng-$($(PKG)_VERSION).tar.xz $(PKG)_WEBSITE := http://www.libpng.org/ diff -r 44e3d954a3ad -r e1d7c2b4f285 src/qt-1-cherrypicks.patch --- a/src/qt-1-cherrypicks.patch Fri Dec 16 10:21:33 2011 +0100 +++ b/src/qt-1-cherrypicks.patch Fri Dec 16 13:15:16 2011 +0100 @@ -5,10 +5,10 @@ http://qt.gitorious.org/qt Also contains mingw-cross-env specific fixes. -From 9ae9b4c7f69482cfb67594044da8444bc70c6f97 Mon Sep 17 00:00:00 2001 +From f0444553928adaca520af24d76b3f8c328b7ed39 Mon Sep 17 00:00:00 2001 From: Mark Brand Date: Thu, 30 Jun 2011 10:22:33 +0200 -Subject: [PATCH 01/13] do not detect or configure iconv for Windows +Subject: [PATCH 01/12] do not detect or configure iconv for Windows Qt doesn't use iconv on Windows, but configuring it will appear to work and the build will complete. The result is that character @@ -20,10 +20,10 @@ 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/configure b/configure -index b590507..25cc7df 100755 +index 5a5ef1d..e113544 100755 --- a/configure +++ b/configure -@@ -5557,7 +5557,7 @@ fi +@@ -5600,7 +5600,7 @@ fi # auto-detect iconv(3) support if [ "$CFG_ICONV" != "no" ]; then @@ -36,10 +36,10 @@ 1.7.7.3 -From 5146d425f67575913f4d988da5cf1daff722e9e7 Mon Sep 17 00:00:00 2001 +From 986dc8a13a0ac35082af274427f25f11cafbfe76 Mon Sep 17 00:00:00 2001 From: Mark Brand Date: Sun, 3 Jul 2011 22:45:15 +0200 -Subject: [PATCH 02/13] add missing multiple inclusion guard +Subject: [PATCH 02/12] add missing multiple inclusion guard --- src/plugins/codecs/kr/cp949codetbl.h | 5 +++++ @@ -69,10 +69,10 @@ 1.7.7.3 -From d19058417259a1f18c0f0ddcc7c7fad120a88f12 Mon Sep 17 00:00:00 2001 +From 520a67aa51bb02aad5e7f96cff3b36442ab33102 Mon Sep 17 00:00:00 2001 From: Mark Brand Date: Mon, 4 Jul 2011 00:42:24 +0200 -Subject: [PATCH 03/13] load plugin codecs regardless of iconv +Subject: [PATCH 03/12] load plugin codecs regardless of iconv Otherwise Windows applications linking to static Qt will have to import the static plugins to avoid linking failure even if they @@ -143,10 +143,10 @@ 1.7.7.3 -From 1572988d2a3728505d9bacd204a1e7132d5f7a7d Mon Sep 17 00:00:00 2001 +From 4c148f06f97bf8596b9c4a869105c7214fb245bb Mon Sep 17 00:00:00 2001 From: Mark Brand Date: Sun, 3 Jul 2011 21:40:11 +0200 -Subject: [PATCH 04/13] move plugin text codecs to QtCore +Subject: [PATCH 04/12] move plugin text codecs to QtCore Having plugin text codecs adds considerable complexity to configuring Qt. The plugin interface is designed for optional @@ -39956,7 +39956,7 @@ #endif #ifndef QT_NO_TRANSLATION_UTF8 diff --git a/src/corelib/global/qconfig-nacl.h b/src/corelib/global/qconfig-nacl.h -index 18ae261..38ee4aa 100644 +index 5aefdfe..15664b6 100644 --- a/src/corelib/global/qconfig-nacl.h +++ b/src/corelib/global/qconfig-nacl.h @@ -128,9 +128,6 @@ @@ -39984,10 +39984,10 @@ # define QT_NO_TRANSLATION #endif diff --git a/src/corelib/global/qfeatures.h b/src/corelib/global/qfeatures.h -index e0b8a8f..61510eb 100644 +index 64d5f08..2b35940 100644 --- a/src/corelib/global/qfeatures.h +++ b/src/corelib/global/qfeatures.h -@@ -646,11 +646,6 @@ +@@ -643,11 +643,6 @@ #define QT_NO_TABDIALOG #endif @@ -79781,10 +79781,10 @@ 1.7.7.3 -From 72750d704101c1f3a97d1efa2135ea0ac76a9924 Mon Sep 17 00:00:00 2001 +From 99a792b0373066137fe863db80a3c004a9d8789c Mon Sep 17 00:00:00 2001 From: Mark Brand Date: Thu, 3 Nov 2011 15:10:26 +0100 -Subject: [PATCH 05/13] use pkg-config for libmng (mingw-cross-env specific) +Subject: [PATCH 05/12] use pkg-config for libmng (mingw-cross-env specific) --- src/gui/image/qmnghandler.pri | 4 +++- @@ -79809,10 +79809,10 @@ 1.7.7.3 -From 9fa7811cb907435a72b0f0719ca585e36e19dec0 Mon Sep 17 00:00:00 2001 +From b9648ff155a885b2ca615c3f606e0cfc2704d54d Mon Sep 17 00:00:00 2001 From: Mark Brand Date: Thu, 3 Nov 2011 14:11:02 +0100 -Subject: [PATCH 06/13] use pkg-config for libtiff (mingw-cross-env specific) +Subject: [PATCH 06/12] use pkg-config for libtiff (mingw-cross-env specific) --- src/gui/image/qtiffhandler.pri | 4 +++- @@ -79837,10 +79837,10 @@ 1.7.7.3 -From 92b5e6b96f02f9a003ff3a17125cdf904e38336a Mon Sep 17 00:00:00 2001 +From 806e5773758bffd7a00af772994eb2b86339659d Mon Sep 17 00:00:00 2001 From: Mark Brand Date: Sat, 5 Jun 2010 23:41:04 +0200 -Subject: [PATCH 07/13] restore support for static linking of QtWebKit +Subject: [PATCH 07/12] restore support for static linking of QtWebKit (mingw-cross-env specific) Support was removed by 4221d629e2cf37ee8c5ba7cb595b05ab8c82f113. @@ -79858,10 +79858,10 @@ 4 files changed, 25 insertions(+), 7 deletions(-) diff --git a/configure b/configure -index 25cc7df..3a56cf6 100755 +index e113544..222308e 100755 --- a/configure +++ b/configure -@@ -7546,12 +7546,6 @@ if [ "$CFG_GUI" = "no" ]; then +@@ -7599,12 +7599,6 @@ if [ "$CFG_GUI" = "no" ]; then canBuildWebKit="no" fi @@ -79931,10 +79931,10 @@ 1.7.7.3 -From 96e72b847d40f0692f24e2763bdce29d9d29c307 Mon Sep 17 00:00:00 2001 +From ede1b5a5efeb7e62bb5472b657dde190bb1a8f02 Mon Sep 17 00:00:00 2001 From: Tony Theodore Date: Thu, 1 Sep 2011 13:47:10 +0200 -Subject: [PATCH 08/13] fix building on GNU/kFreeBSD (mingw-cross-specific) +Subject: [PATCH 08/12] fix building on GNU/kFreeBSD (mingw-cross-specific) This patch has been taken from: @@ -79948,7 +79948,7 @@ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/src/corelib/global/qglobal.h b/src/corelib/global/qglobal.h -index cfe5eea..cefa719 100644 +index e8c611b..c824d66 100644 --- a/src/corelib/global/qglobal.h +++ b/src/corelib/global/qglobal.h @@ -226,6 +226,8 @@ namespace QT_NAMESPACE {} @@ -79964,10 +79964,10 @@ 1.7.7.3 -From db36a1fc4de5e1a6b1e6ec69fd46504604042d4c Mon Sep 17 00:00:00 2001 +From 03e9b78df4cccf7e8d804e9e661f85afc89cc6cb Mon Sep 17 00:00:00 2001 From: Tony Theodore Date: Thu, 1 Sep 2011 13:49:47 +0200 -Subject: [PATCH 09/13] fix missing platform when building on GNU/kFreeBSD +Subject: [PATCH 09/12] fix missing platform when building on GNU/kFreeBSD (mingw-cross-env specific) This patch is inspired by: @@ -79979,10 +79979,10 @@ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/configure b/configure -index 3a56cf6..d3ac872 100755 +index 222308e..7b52179 100755 --- a/configure +++ b/configure -@@ -2747,6 +2747,9 @@ if [ -z "$PLATFORM" ]; then +@@ -2749,6 +2749,9 @@ if [ -z "$PLATFORM" ]; then GNU:*) PLATFORM=hurd-g++ ;; @@ -79996,10 +79996,10 @@ 1.7.7.3 -From e1a5e4f77ed8424bf1c0deade8a5cc23a3728f9b Mon Sep 17 00:00:00 2001 +From 9f10ee186e28c8f3c22af911c56b740f2821a425 Mon Sep 17 00:00:00 2001 From: Tony Theodore Date: Thu, 1 Sep 2011 13:51:50 +0200 -Subject: [PATCH 10/13] fix building on dragonfly (mingw-cross-env specific) +Subject: [PATCH 10/12] fix building on dragonfly (mingw-cross-env specific) This patch is inspired by: http://cvsweb.NetBSD.org/bsdweb.cgi/pkgsrc/x11/qt4-libs/Makefile.common?rev=1.27&content-type=text/x-cvsweb-markup @@ -80008,10 +80008,10 @@ 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/configure b/configure -index d3ac872..ca7a2ea 100755 +index 7b52179..0914ca5 100755 --- a/configure +++ b/configure -@@ -2759,7 +2759,7 @@ if [ -z "$PLATFORM" ]; then +@@ -2761,7 +2761,7 @@ if [ -z "$PLATFORM" ]; then ULTRIX:*) PLATFORM=ultrix-g++ ;; @@ -80024,459 +80024,10 @@ 1.7.7.3 -From 19d9e0c54398e5f9e383e68d8808da04515015bc Mon Sep 17 00:00:00 2001 -From: Friedemann Kleint -Date: Wed, 16 Nov 2011 09:53:38 +0100 -Subject: [PATCH 11/13] Windows: Add gcc 4.6. - -- Add gcc 4.6 mkspec for > 4.4 (win32-g++-4.6) -- Add detection of g++ version and 64bit to configure. - -Reviewed-by: mariusSO -(cherry picked from commit d4150975af620e2889cc58bd476bac6b4d101db3) ---- - mkspecs/win32-g++-4.6/qmake.conf | 3 + - mkspecs/win32-g++-4.6/qplatformdefs.h | 159 +++++++++++++++++++++++++++++++++ - qmake/Makefile.win32-g++ | 2 +- - src/corelib/tools/qlocale_tools.cpp | 7 ++ - tools/configure/configureapp.cpp | 31 ++++--- - tools/configure/environment.cpp | 86 ++++++++++++++++++- - tools/configure/environment.h | 3 + - 7 files changed, 275 insertions(+), 16 deletions(-) - create mode 100644 mkspecs/win32-g++-4.6/qmake.conf - create mode 100644 mkspecs/win32-g++-4.6/qplatformdefs.h - -diff --git a/mkspecs/win32-g++-4.6/qmake.conf b/mkspecs/win32-g++-4.6/qmake.conf -new file mode 100644 -index 0000000..2c94587 ---- /dev/null -+++ b/mkspecs/win32-g++-4.6/qmake.conf -@@ -0,0 +1,3 @@ -+include(../win32-g++/qmake.conf) -+QMAKE_CFLAGS *= -fno-keep-inline-dllexport -+QMAKE_CXXFLAGS *= -fno-keep-inline-dllexport -diff --git a/mkspecs/win32-g++-4.6/qplatformdefs.h b/mkspecs/win32-g++-4.6/qplatformdefs.h -new file mode 100644 -index 0000000..630a6a4 ---- /dev/null -+++ b/mkspecs/win32-g++-4.6/qplatformdefs.h -@@ -0,0 +1,159 @@ -+/**************************************************************************** -+** -+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -+** All rights reserved. -+** Contact: Nokia Corporation (qt-info@nokia.com) -+** -+** This file is part of the qmake spec of the Qt Toolkit. -+** -+** $QT_BEGIN_LICENSE:LGPL$ -+** GNU Lesser General Public License Usage -+** This file may be used under the terms of the GNU Lesser General Public -+** License version 2.1 as published by the Free Software Foundation and -+** appearing in the file LICENSE.LGPL included in the packaging of this -+** file. Please review the following information to ensure the GNU Lesser -+** General Public License version 2.1 requirements will be met: -+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -+** -+** In addition, as a special exception, Nokia gives you certain additional -+** 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. -+** -+** Other Usage -+** Alternatively, this file may be used in accordance with the terms and -+** conditions contained in a signed written agreement between you and Nokia. -+** -+** -+** -+** -+** -+** $QT_END_LICENSE$ -+** -+****************************************************************************/ -+ -+#ifndef QPLATFORMDEFS_H -+#define QPLATFORMDEFS_H -+ -+#ifdef UNICODE -+#ifndef _UNICODE -+#define _UNICODE -+#endif -+#endif -+ -+// Get Qt defines/settings -+ -+#include "qglobal.h" -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#if !defined(_WIN32_WINNT) || (_WIN32_WINNT-0 < 0x0500) -+typedef enum { -+ NameUnknown = 0, -+ NameFullyQualifiedDN = 1, -+ NameSamCompatible = 2, -+ NameDisplay = 3, -+ NameUniqueId = 6, -+ NameCanonical = 7, -+ NameUserPrincipal = 8, -+ NameCanonicalEx = 9, -+ NameServicePrincipal = 10, -+ NameDnsDomain = 12 -+} EXTENDED_NAME_FORMAT, *PEXTENDED_NAME_FORMAT; -+#endif -+ -+#define Q_FS_FAT -+#ifdef QT_LARGEFILE_SUPPORT -+#define QT_STATBUF struct _stati64 // non-ANSI defs -+#define QT_STATBUF4TSTAT struct _stati64 // non-ANSI defs -+#define QT_STAT ::_stati64 -+#define QT_FSTAT ::_fstati64 -+#else -+#define QT_STATBUF struct _stat // non-ANSI defs -+#define QT_STATBUF4TSTAT struct _stat // non-ANSI defs -+#define QT_STAT ::_stat -+#define QT_FSTAT ::_fstat -+#endif -+#define QT_STAT_REG _S_IFREG -+#define QT_STAT_DIR _S_IFDIR -+#define QT_STAT_MASK _S_IFMT -+#if defined(_S_IFLNK) -+# define QT_STAT_LNK _S_IFLNK -+#endif -+#define QT_FILENO _fileno -+#define QT_OPEN ::_open -+#define QT_CLOSE ::_close -+#ifdef QT_LARGEFILE_SUPPORT -+#define QT_LSEEK ::_lseeki64 -+#ifndef UNICODE -+#define QT_TSTAT ::_stati64 -+#else -+#define QT_TSTAT ::_wstati64 -+#endif -+#else -+#define QT_LSEEK ::_lseek -+#ifndef UNICODE -+#define QT_TSTAT ::_stat -+#else -+#define QT_TSTAT ::_wstat -+#endif -+#endif -+#define QT_READ ::_read -+#define QT_WRITE ::_write -+#define QT_ACCESS ::_access -+#define QT_GETCWD ::_getcwd -+#define QT_CHDIR ::_chdir -+#define QT_MKDIR ::_mkdir -+#define QT_RMDIR ::_rmdir -+#define QT_OPEN_LARGEFILE 0 -+#define QT_OPEN_RDONLY _O_RDONLY -+#define QT_OPEN_WRONLY _O_WRONLY -+#define QT_OPEN_RDWR _O_RDWR -+#define QT_OPEN_CREAT _O_CREAT -+#define QT_OPEN_TRUNC _O_TRUNC -+#define QT_OPEN_APPEND _O_APPEND -+#if defined(O_TEXT) -+# define QT_OPEN_TEXT _O_TEXT -+# define QT_OPEN_BINARY _O_BINARY -+#endif -+ -+#include "../common/c89/qplatformdefs.h" -+ -+#ifdef QT_LARGEFILE_SUPPORT -+#undef QT_FSEEK -+#undef QT_FTELL -+#undef QT_OFF_T -+ -+#define QT_FSEEK ::fseeko64 -+#define QT_FTELL ::ftello64 -+#define QT_OFF_T off64_t -+#endif -+ -+#define QT_SIGNAL_ARGS int -+ -+#define QT_VSNPRINTF ::_vsnprintf -+#define QT_SNPRINTF ::_snprintf -+ -+# define F_OK 0 -+# define X_OK 1 -+# define W_OK 2 -+# define R_OK 4 -+ -+ -+#endif // QPLATFORMDEFS_H -diff --git a/qmake/Makefile.win32-g++ b/qmake/Makefile.win32-g++ -index d40dc29..5fa1e5e 100644 ---- a/qmake/Makefile.win32-g++ -+++ b/qmake/Makefile.win32-g++ -@@ -27,7 +27,7 @@ CFLAGS = -c -o$@ -O \ - -DQT_BUILD_QMAKE -DQT_NO_THREAD -DQT_NO_QOBJECT -DQT_NO_GEOM_VARIANT -DQT_NO_DATASTREAM \ - -DQT_BOOTSTRAPPED -DQLIBRARYINFO_EPOCROOT - CXXFLAGS = $(CFLAGS) --LFLAGS = -static-libgcc -static-libstdc++ -s -+LFLAGS = -static-libgcc -s - LIBS = -lole32 -luuid -ladvapi32 -lkernel32 - LINKQMAKE = g++ $(LFLAGS) -o qmake.exe $(OBJS) $(QTOBJS) $(LIBS) - ADDCLEAN = -diff --git a/src/corelib/tools/qlocale_tools.cpp b/src/corelib/tools/qlocale_tools.cpp -index df31bf9..750379c 100644 ---- a/src/corelib/tools/qlocale_tools.cpp -+++ b/src/corelib/tools/qlocale_tools.cpp -@@ -2253,6 +2253,13 @@ static int quorem(Bigint *b, Bigint *S) - * calculation. - */ - -+#if defined(Q_OS_WIN) && defined (Q_CC_GNU) && !defined(_clear87) // See QTBUG-7576 -+extern "C" { -+__attribute__ ((dllimport)) unsigned int __cdecl __MINGW_NOTHROW _control87 (unsigned int unNew, unsigned int unMask); -+__attribute__ ((dllimport)) unsigned int __cdecl __MINGW_NOTHROW _clearfp (void); /* Clear the FPU status word */ -+} -+# define _clear87 _clearfp -+#endif - - /* This actually sometimes returns a pointer to a string literal - cast to a char*. Do NOT try to modify the return value. */ -diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp -index e6d8526..60996e3 100644 ---- a/tools/configure/configureapp.cpp -+++ b/tools/configure/configureapp.cpp -@@ -1263,17 +1263,18 @@ void Configure::parseCmdLine() - } - cout << "See the README file for a list of supported operating systems and compilers." << endl; - } else { -- if (dictionary[ "QMAKESPEC" ].endsWith("-icc") || -- dictionary[ "QMAKESPEC" ].endsWith("-msvc") || -- dictionary[ "QMAKESPEC" ].endsWith("-msvc.net") || -- dictionary[ "QMAKESPEC" ].endsWith("-msvc2002") || -- dictionary[ "QMAKESPEC" ].endsWith("-msvc2003") || -- dictionary[ "QMAKESPEC" ].endsWith("-msvc2005") || -- dictionary[ "QMAKESPEC" ].endsWith("-msvc2008") || -- dictionary[ "QMAKESPEC" ].endsWith("-msvc2010")) { -+ const QString qmakeSpec = dictionary[ "QMAKESPEC" ]; -+ if (qmakeSpec.endsWith("-icc") || -+ qmakeSpec.endsWith("-msvc") || -+ qmakeSpec.endsWith("-msvc.net") || -+ qmakeSpec.endsWith("-msvc2002") || -+ qmakeSpec.endsWith("-msvc2003") || -+ qmakeSpec.endsWith("-msvc2005") || -+ qmakeSpec.endsWith("-msvc2008") || -+ qmakeSpec.endsWith("-msvc2010")) { - if (dictionary[ "MAKE" ].isEmpty()) dictionary[ "MAKE" ] = "nmake"; - dictionary[ "QMAKEMAKEFILE" ] = "Makefile.win32"; -- } else if (dictionary[ "QMAKESPEC" ] == QString("win32-g++")) { -+ } else if (qmakeSpec.contains("win32-g++")) { - if (dictionary[ "MAKE" ].isEmpty()) dictionary[ "MAKE" ] = "mingw32-make"; - if (Environment::detectExecutable("sh.exe")) { - dictionary[ "QMAKEMAKEFILE" ] = "Makefile.win32-g++-sh"; -@@ -1329,7 +1330,7 @@ void Configure::parseCmdLine() - } - } - -- useUnixSeparators = (dictionary["QMAKESPEC"] == "win32-g++"); -+ useUnixSeparators = dictionary["QMAKESPEC"].contains("win32-g++"); - - // Allow tests for private classes to be compiled against internal builds - if (dictionary["BUILDDEV"] == "yes") -@@ -2201,7 +2202,9 @@ bool Configure::checkAvailability(const QString &part) - } else if (part == "MULTIMEDIA" || part == "SCRIPT" || part == "SCRIPTTOOLS" || part == "DECLARATIVE") { - available = true; - } else if (part == "WEBKIT") { -- available = (dictionary.value("QMAKESPEC") == "win32-msvc2005") || (dictionary.value("QMAKESPEC") == "win32-msvc2008") || (dictionary.value("QMAKESPEC") == "win32-msvc2010") || (dictionary.value("QMAKESPEC") == "win32-g++"); -+ const QString qmakeSpec = dictionary.value("QMAKESPEC"); -+ available = qmakeSpec == "win32-msvc2005" || qmakeSpec == "win32-msvc2008" || -+ qmakeSpec == "win32-msvc2010" || qmakeSpec.startsWith("win32-g++"); - if (dictionary[ "SHARED" ] == "no") { - cout << endl << "WARNING: Using static linking will disable the WebKit module." << endl - << endl; -@@ -2376,7 +2379,7 @@ bool Configure::verifyConfiguration() - - dictionary["SQL_SQLITE_LIB"] = "qt"; // Set to Qt's bundled lib an continue - } -- if (dictionary["QMAKESPEC"].endsWith("-g++") -+ if (dictionary["QMAKESPEC"].contains("-g++") - && dictionary["SQL_OCI"] != "no") { - cout << "WARNING: Qt does not support compiling the Oracle database driver with" << endl - << "MinGW, due to lack of such support from Oracle. Consider disabling the" << endl -@@ -2456,7 +2459,7 @@ void Configure::generateBuildKey() - QString spec = dictionary["QMAKESPEC"]; - - QString compiler = "msvc"; // ICC is compatible -- if (spec.endsWith("-g++")) -+ if (spec.contains("-g++")) - compiler = "mingw"; - else if (spec.endsWith("-borland")) - compiler = "borland"; -@@ -2874,7 +2877,7 @@ void Configure::generateOutputVars() - if (!qmakeStylePlugins.isEmpty()) - qmakeVars += QString("style-plugins += ") + qmakeStylePlugins.join(" "); - -- if (dictionary["QMAKESPEC"].endsWith("-g++")) { -+ if (dictionary["QMAKESPEC"].contains("-g++")) { - QString includepath = qgetenv("INCLUDE"); - bool hasSh = Environment::detectExecutable("sh.exe"); - QChar separator = (!includepath.contains(":\\") && hasSh ? QChar(':') : QChar(';')); -diff --git a/tools/configure/environment.cpp b/tools/configure/environment.cpp -index f9b3e85..78e1d87 100644 ---- a/tools/configure/environment.cpp -+++ b/tools/configure/environment.cpp -@@ -120,6 +120,9 @@ QString Environment::detectQMakeSpec() - spec = "win32-icc"; - break; - case CC_MINGW: -+ spec = "win32-g++-4.6"; -+ break; -+ case CC_MINGW_44: - spec = "win32-g++"; - break; - case CC_BORLAND: -@@ -173,6 +176,12 @@ Compiler Environment::detectCompiler() - if (executable.length() && Environment::detectExecutable(executable)) { - ++installed; - detectedCompiler = compiler_info[i].compiler; -+ if (detectedCompiler == CC_MINGW) { -+ bool is64bit; -+ const int version = detectGPlusPlusVersion(executable, &is64bit); -+ if (version < 0x040600) -+ detectedCompiler = CC_MINGW_44; -+ } - break; - } - } -@@ -184,7 +193,7 @@ Compiler Environment::detectCompiler() - } - return detectedCompiler; - #endif --}; -+} - - /*! - Returns true if the \a executable could be loaded, else false. -@@ -214,6 +223,81 @@ bool Environment::detectExecutable(const QString &executable) - } - - /*! -+ Determine the g++ version. -+*/ -+ -+int Environment::detectGPlusPlusVersion(const QString &executable, -+ bool *is64bit) -+{ -+ QRegExp regexp(QLatin1String("[gG]\\+\\+[\\.exEX]{0,4} ([^\\s]+) (\\d+)\\.(\\d+)\\.(\\d+)")); -+ QString stdOut = readProcessStandardOutput(executable + QLatin1String(" --version")); -+ if (regexp.indexIn(stdOut) != -1) { -+ const QString compiler = regexp.cap(1); -+ // Check for "tdm64-1" -+ *is64bit = compiler.contains(QLatin1String("64")); -+ const int major = regexp.cap(2).toInt(); -+ const int minor = regexp.cap(3).toInt(); -+ const int patch = regexp.cap(4).toInt(); -+ return (major << 16) + (minor << 8) + patch; -+ } -+ *is64bit = false; -+ return 0; -+} -+ -+/*! -+ Run a process and return its standard output. -+*/ -+ -+QString Environment::readProcessStandardOutput(const QString &commandLine) -+{ -+ QString stdOut; -+ TCHAR tempFileName[MAX_PATH]; -+ TCHAR tempPathBuffer[MAX_PATH]; -+ if (!GetTempPath(MAX_PATH, tempPathBuffer) -+ || !GetTempFileName(tempPathBuffer, TEXT("qtconfigure"), 0, tempFileName)) -+ return stdOut; -+ -+ STARTUPINFO startInfo; -+ memset(&startInfo, 0, sizeof(startInfo)); -+ startInfo.cb = sizeof(startInfo); -+ startInfo.dwFlags |= STARTF_USESTDHANDLES; -+ -+ SECURITY_ATTRIBUTES securityAttributes; -+ securityAttributes.nLength = sizeof(SECURITY_ATTRIBUTES); -+ securityAttributes.bInheritHandle = TRUE; -+ securityAttributes.lpSecurityDescriptor = NULL; -+ -+ startInfo.hStdOutput = CreateFile(tempFileName, GENERIC_WRITE, 0, &securityAttributes, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); -+ if (startInfo.hStdOutput == INVALID_HANDLE_VALUE) -+ return stdOut; -+ -+ PROCESS_INFORMATION procInfo; -+ memset(&procInfo, 0, sizeof(procInfo)); -+ -+ if (!CreateProcess(0, (wchar_t*)commandLine.utf16(), -+ 0, 0, TRUE, -+ 0, -+ 0, 0, &startInfo, &procInfo)) { -+ CloseHandle(startInfo.hStdOutput); -+ DeleteFile(tempFileName); -+ return stdOut; -+ } -+ -+ WaitForSingleObject(procInfo.hProcess, INFINITE); -+ CloseHandle(procInfo.hThread); -+ CloseHandle(procInfo.hProcess); -+ CloseHandle(startInfo.hStdOutput); -+ QFile file(QString::fromWCharArray(tempFileName)); -+ -+ if (file.open(QIODevice::Text| QIODevice::ReadOnly)) { -+ stdOut = QString::fromLocal8Bit(file.readAll()); -+ file.close(); -+ } -+ DeleteFile(tempFileName); -+ return stdOut; -+} -+ -+/*! - Creates a commandling from \a program and it \a arguments, - escaping characters that needs it. - */ -diff --git a/tools/configure/environment.h b/tools/configure/environment.h -index 9bbd096..81c232a 100644 ---- a/tools/configure/environment.h -+++ b/tools/configure/environment.h -@@ -49,6 +49,7 @@ enum Compiler { - CC_UNKNOWN = 0, - CC_BORLAND = 0x01, - CC_MINGW = 0x02, -+ CC_MINGW_44 = 0x21, - CC_INTEL = 0x03, - CC_NET2003 = 0x71, - CC_NET2005 = 0x80, -@@ -63,6 +64,8 @@ public: - static Compiler detectCompiler(); - static QString detectQMakeSpec(); - static bool detectExecutable(const QString &executable); -+ static int detectGPlusPlusVersion(const QString &executable, bool *is64bit); -+ static QString readProcessStandardOutput(const QString &commandLine); - - static int execute(QStringList arguments, const QStringList &additionalEnv, const QStringList &removeEnv); - static bool cpdir(const QString &srcDir, --- -1.7.7.3 - - -From 5cdc968d2a01c02de4161efaf6b32592b286a016 Mon Sep 17 00:00:00 2001 +From a78a6f534ae1db783ba444a7f33170cb3c5a43ca Mon Sep 17 00:00:00 2001 From: Mark Brand Date: Thu, 17 Nov 2011 00:57:12 +0100 -Subject: [PATCH 12/13] Windows: Add gcc 4.6 for cross building +Subject: [PATCH 11/12] Windows: Add gcc 4.6 for cross building - Add gcc 4.6 cross mkspec for > 4.4 (win32-g++-4.6-cross) @@ -80549,10 +80100,10 @@ 1.7.7.3 -From 05de81b435bd72875580e87a336a025a544d8bf6 Mon Sep 17 00:00:00 2001 +From 055bc5250e7f522a3c390c1c7460e4b654714a5e Mon Sep 17 00:00:00 2001 From: Mark Brand Date: Mon, 21 Nov 2011 08:56:19 +0100 -Subject: [PATCH 13/13] use "cp -R" instead of "cp -r" for *bsd compatibility +Subject: [PATCH 12/12] use "cp -R" instead of "cp -r" for *bsd compatibility --- mkspecs/unsupported/win32-g++-cross/qmake.conf | 2 +- diff -r 44e3d954a3ad -r e1d7c2b4f285 src/qt.mk --- a/src/qt.mk Fri Dec 16 10:21:33 2011 +0100 +++ b/src/qt.mk Fri Dec 16 13:15:16 2011 +0100 @@ -5,9 +5,9 @@ PKG := qt $(PKG)_IGNORE := $(PKG)_VERSION := 4.8.0 -$(PKG)_CHECKSUM := 95812c27e66908e1e649f292609482a54d17c7d2 +$(PKG)_CHECKSUM := 2ba35adca8fb9c66a58eca61a15b21df6213f22e $(PKG)_SUBDIR := $(PKG)-everywhere-opensource-src-$($(PKG)_VERSION) -$(PKG)_FILE := $(PKG)-everywhere-opensource-src-$($(PKG)_VERSION)-rc1.tar.gz +$(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 zlib libpng jpeg libmng tiff sqlite dbus diff -r 44e3d954a3ad -r e1d7c2b4f285 src/suitesparse.mk --- a/src/suitesparse.mk Fri Dec 16 10:21:33 2011 +0100 +++ b/src/suitesparse.mk Fri Dec 16 13:15:16 2011 +0100 @@ -4,8 +4,8 @@ # SuiteSparse PKG := suitesparse $(PKG)_IGNORE := 3.6.1 -$(PKG)_VERSION := 3.6.0 -$(PKG)_CHECKSUM := bc430a051de5681d31f819b40b7f0ea0be178e04 +$(PKG)_VERSION := 3.7.0 +$(PKG)_CHECKSUM := fb586f15a6309bafd6d12156435a1a4900ecd6d8 $(PKG)_SUBDIR := SuiteSparse $(PKG)_FILE := SuiteSparse-$($(PKG)_VERSION).tar.gz $(PKG)_WEBSITE := http://www.cise.ufl.edu/research/sparse/SuiteSparse/