merge mingw mkspec changes for cross compiling
authorPeter Kümmel <syntheticpp@gmx.net>
Mon, 20 Aug 2012 10:58:14 +0000 (12:58 +0200)
committerQt by Nokia <qt-info@nokia.com>
Tue, 21 Aug 2012 09:05:20 +0000 (11:05 +0200)
Change-Id: I0f4705717c38ee4c05b5618c006d3cf066d75f49
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
mkspecs/unsupported/win32-g++-cross/qmake.conf [deleted file]
mkspecs/unsupported/win32-g++-cross/qplatformdefs.h [deleted file]
mkspecs/win32-g++/qmake.conf

diff --git a/mkspecs/unsupported/win32-g++-cross/qmake.conf b/mkspecs/unsupported/win32-g++-cross/qmake.conf
deleted file mode 100644 (file)
index a1283b6..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-#
-# qmake configuration for win32-g++-cross
-#
-# Written for MinGW cross building on Unix / gcc 4.6 or higher
-#
-
-MAKEFILE_GENERATOR     = MINGW
-TEMPLATE               = app
-CONFIG                 += qt warn_on release link_prl debug_and_release debug_and_release_target precompile_header
-QT                     += core gui
-DEFINES                        += UNICODE
-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 -fno-keep-inline-dllexport
-QMAKE_CFLAGS_DEPS      = -M
-QMAKE_CFLAGS_WARN_ON   = -Wall -Wextra
-QMAKE_CFLAGS_WARN_OFF  = -w
-QMAKE_CFLAGS_RELEASE   = -O2
-QMAKE_CFLAGS_DEBUG     = -g
-QMAKE_CFLAGS_YACC      = -Wno-unused -Wno-parentheses
-QMAKE_CFLAGS_SSE2       = -msse2
-QMAKE_CFLAGS_SSE3       = -msse3
-QMAKE_CFLAGS_SSSE3      = -mssse3
-QMAKE_CFLAGS_SSE4_1     = -msse4.1
-QMAKE_CFLAGS_SSE4_2     = -msse4.2
-QMAKE_CFLAGS_AVX        = -mavx
-QMAKE_CFLAGS_AVX2       = -mavx2
-QMAKE_CFLAGS_IWMMXT     = -mcpu=iwmmxt
-QMAKE_CFLAGS_NEON       = -mfpu=neon
-
-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_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           =
-QMAKE_LFLAGS_EXCEPTIONS_ON = -mthreads
-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_PREFIX_STATICLIB  = lib
-QMAKE_EXTENSION_STATICLIB = a
-
-QMAKE_LIBS             =
-QMAKE_LIBS_CORE         = -lole32 -luuid -lws2_32 -ladvapi32 -lshell32 -luser32 -lkernel32
-QMAKE_LIBS_GUI          = -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lws2_32 -lole32 -luuid -luser32 -ladvapi32
-QMAKE_LIBS_NETWORK      = -lws2_32
-QMAKE_LIBS_OPENGL       = -lglu32 -lopengl32 -lgdi32 -luser32
-QMAKE_LIBS_COMPAT       = -ladvapi32 -lshell32 -lcomdlg32 -luser32 -lgdi32 -lws2_32
-QMAKE_LIBS_QT_ENTRY     = -lmingw32 -lqtmain
-
-QMAKE_SH               = bash
-MINGW_IN_SHELL         = 1
-include(../../common/shell-unix.conf)
-
-QMAKE_LIB              = i686-pc-mingw32-ar -ru
-QMAKE_RC               = i686-pc-mingw32-windres
-
-QMAKE_STRIP            = i686-pc-mingw32-strip
-QMAKE_STRIPFLAGS_LIB   += --strip-unneeded
-PKG_CONFIG             = i686-pc-mingw32-pkg-config
-
-load(qt_config)
diff --git a/mkspecs/unsupported/win32-g++-cross/qplatformdefs.h b/mkspecs/unsupported/win32-g++-cross/qplatformdefs.h
deleted file mode 100644 (file)
index 0762904..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** 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$
-**
-****************************************************************************/
-
-#include "../../win32-g++/qplatformdefs.h"
index 5e599d1..22b98cd 100644 (file)
@@ -3,6 +3,11 @@
 #
 # Written for MinGW / gcc 4.6 or higher
 #
+# Cross compile example for i686-w64-mingw32-g++:
+#   configure -xplatform win32-g++ -device-option CROSS_COMPILE=i686-w64-mingw32-
+#
+
+load(device_config)
 
 MAKEFILE_GENERATOR     = MINGW
 TEMPLATE               = app
@@ -14,7 +19,7 @@ QMAKE_COMPILER_DEFINES  += __GNUC__ WIN32
 QMAKE_EXT_OBJ           = .o
 QMAKE_EXT_RES           = _res.o
 
-QMAKE_CC               = gcc
+QMAKE_CC               = $${CROSS_COMPILE}gcc
 QMAKE_LEX              = flex
 QMAKE_LEXFLAGS         =
 QMAKE_YACC             = byacc
@@ -36,7 +41,7 @@ QMAKE_CFLAGS_AVX2       = -mavx2
 QMAKE_CFLAGS_IWMMXT     = -mcpu=iwmmxt
 QMAKE_CFLAGS_NEON       = -mfpu=neon
 
-QMAKE_CXX              = g++
+QMAKE_CXX              = $${CROSS_COMPILE}g++
 QMAKE_CXXFLAGS         = $$QMAKE_CFLAGS
 QMAKE_CXXFLAGS_DEPS    = $$QMAKE_CFLAGS_DEPS
 QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
@@ -57,8 +62,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             = $${CROSS_COMPILE}g++
+QMAKE_LINK_C           = $${CROSS_COMPILE}gcc
 QMAKE_LFLAGS           =
 QMAKE_LFLAGS_EXCEPTIONS_ON = -mthreads
 QMAKE_LFLAGS_EXCEPTIONS_OFF =
@@ -89,9 +94,9 @@ QMAKE_LIBS_QT_ENTRY     = -lmingw32 -lqtmain
 }
 
 QMAKE_IDL              = midl
-QMAKE_LIB              = ar -ru
-QMAKE_RC               = windres
+QMAKE_LIB              = $${CROSS_COMPILE}ar -ru
+QMAKE_RC               = $${CROSS_COMPILE}windres
 
-QMAKE_STRIP            = strip
+QMAKE_STRIP            = $${CROSS_COMPILE}strip
 QMAKE_STRIPFLAGS_LIB   += --strip-unneeded
 load(qt_config)