summaryrefslogtreecommitdiffstats
path: root/mkspecs/features
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@digia.com>2014-04-02 16:56:15 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-04-03 18:31:45 +0200
commit10a0ac759e26e27751ae96d02eb1e260ab371194 (patch)
tree2915a74edeae37664c057af4fa9ed7c2aa5a6652 /mkspecs/features
parentf412f2b5ee58e3919a8cd514c8fcfa75444ae976 (diff)
Windows XP target support for MSVC >= 2012
To enable windows xp support, we must do two things: 1. linker flag must be /SUBSYSTEM:CONSOLE,5.01 or /SUBSYSTEM:WINDOWS,5.01. For x64, the version is 5.02. 2. Do not use Windows Kit 8. Win SDK v7.1A is recommended. Prepend the right include paths and lib paths to INCLUDE and LIB before building. The Windows XP target support is enabled by passing "-target xp" to configure. Task-number: QTBUG-29939 Change-Id: I84c8439606cc2a9d27d64947702846faa4f1e4a2 Reviewed-by: Lucas Wang <wbsecg1@gmail.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Diffstat (limited to 'mkspecs/features')
-rw-r--r--mkspecs/features/win32/console.prf4
-rw-r--r--mkspecs/features/win32/qt_config.prf10
-rw-r--r--mkspecs/features/win32/windows.prf4
3 files changed, 16 insertions, 2 deletions
diff --git a/mkspecs/features/win32/console.prf b/mkspecs/features/win32/console.prf
index 8a1725d648..568d1b1eb5 100644
--- a/mkspecs/features/win32/console.prf
+++ b/mkspecs/features/win32/console.prf
@@ -1,4 +1,6 @@
CONFIG -= windows
contains(TEMPLATE, ".*app") {
- QMAKE_LFLAGS += $$QMAKE_LFLAGS_CONSOLE $$QMAKE_LFLAGS_EXE
+ QMAKE_LFLAGS += \
+ $$replace(QMAKE_LFLAGS_CONSOLE, @QMAKE_SUBSYSTEM_SUFFIX@, $$QMAKE_SUBSYSTEM_SUFFIX) \
+ $$QMAKE_LFLAGS_EXE
}
diff --git a/mkspecs/features/win32/qt_config.prf b/mkspecs/features/win32/qt_config.prf
new file mode 100644
index 0000000000..49b4c79431
--- /dev/null
+++ b/mkspecs/features/win32/qt_config.prf
@@ -0,0 +1,10 @@
+load(qt_config)
+
+equals(QMAKE_TARGET_OS, xp) {
+ # http://blogs.msdn.com/b/vcblog/archive/2012/10/08/10357555.aspx?PageIndex=3
+ equals(QT_ARCH, x86_64) {
+ QMAKE_SUBSYSTEM_SUFFIX = ,5.02
+ } else {
+ QMAKE_SUBSYSTEM_SUFFIX = ,5.01
+ }
+}
diff --git a/mkspecs/features/win32/windows.prf b/mkspecs/features/win32/windows.prf
index 82e0ebe1b5..6d8289d949 100644
--- a/mkspecs/features/win32/windows.prf
+++ b/mkspecs/features/win32/windows.prf
@@ -1,6 +1,8 @@
CONFIG -= console
contains(TEMPLATE, ".*app"){
- QMAKE_LFLAGS += $$QMAKE_LFLAGS_WINDOWS $$QMAKE_LFLAGS_EXE
+ QMAKE_LFLAGS += \
+ $$replace(QMAKE_LFLAGS_WINDOWS, @QMAKE_SUBSYSTEM_SUFFIX@, $$QMAKE_SUBSYSTEM_SUFFIX) \
+ $$QMAKE_LFLAGS_EXE
mingw:DEFINES += QT_NEEDS_QMAIN
qt:for(entryLib, $$list($$unique(QMAKE_LIBS_QT_ENTRY))) {