summaryrefslogtreecommitdiffstats
path: root/mkspecs
diff options
context:
space:
mode:
authorSergio Ahumada <sergio.ahumada@digia.com>2013-07-12 14:03:21 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-07-12 14:03:21 +0200
commit1866c13b7dd48aa0c6ede1cf7907a2640e9399f8 (patch)
tree0b61c2d801525228f4c5795795d1cdeb57b3edfa /mkspecs
parent5b648d4d79d07a7c851ce6211ffff8375d41bfa2 (diff)
parent3ef6cf060e984bca43956a23b61b32ec7347cfc7 (diff)
Merge "Merge branch 'stable' into dev" into refs/staging/dev
Diffstat (limited to 'mkspecs')
-rw-r--r--mkspecs/common/clang.conf2
-rw-r--r--mkspecs/common/g++-macx.conf2
-rw-r--r--mkspecs/common/gcc-base-mac.conf2
-rw-r--r--mkspecs/common/llvm.conf2
-rw-r--r--mkspecs/common/mac.conf2
-rw-r--r--mkspecs/common/macx.conf2
-rw-r--r--mkspecs/features/ctest_testcase.prf97
-rw-r--r--mkspecs/features/ctest_testcase_common.prf97
-rw-r--r--mkspecs/features/ctest_testcase_installed.prf8
-rw-r--r--mkspecs/features/data/android/dx.bat30
-rw-r--r--mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in25
-rw-r--r--mkspecs/features/java.prf8
-rw-r--r--mkspecs/features/qt_docs.prf9
-rw-r--r--mkspecs/features/qt_functions.prf3
-rw-r--r--mkspecs/features/qt_headersclean.prf3
-rw-r--r--mkspecs/features/qt_module.prf12
-rw-r--r--mkspecs/features/qt_module_pris.prf8
-rw-r--r--mkspecs/features/simd.prf40
-rw-r--r--mkspecs/macx-clang-libc++-32/qmake.conf2
-rw-r--r--mkspecs/macx-clang-libc++/qmake.conf2
-rw-r--r--mkspecs/macx-g++-32/qmake.conf2
-rw-r--r--mkspecs/macx-g++/qmake.conf2
-rw-r--r--mkspecs/macx-g++40/qmake.conf2
-rw-r--r--mkspecs/macx-g++42/qmake.conf2
-rw-r--r--mkspecs/macx-icc/qmake.conf2
-rw-r--r--mkspecs/macx-llvm/qmake.conf2
-rw-r--r--mkspecs/macx-xcode/qmake.conf2
-rw-r--r--mkspecs/win32-icc/qplatformdefs.h108
-rw-r--r--mkspecs/win32-msvc2013/qmake.conf98
-rw-r--r--mkspecs/win32-msvc2013/qplatformdefs.h42
30 files changed, 360 insertions, 258 deletions
diff --git a/mkspecs/common/clang.conf b/mkspecs/common/clang.conf
index c94ee40934..ace2496f10 100644
--- a/mkspecs/common/clang.conf
+++ b/mkspecs/common/clang.conf
@@ -1,5 +1,5 @@
#
-# Qmake configuration for Clang on Linux and Mac
+# Qmake configuration for Clang on Linux, OS X and iOS
#
QMAKE_COMPILER = gcc clang llvm # clang pretends to be gcc
diff --git a/mkspecs/common/g++-macx.conf b/mkspecs/common/g++-macx.conf
index bae8eb0965..086510dd96 100644
--- a/mkspecs/common/g++-macx.conf
+++ b/mkspecs/common/g++-macx.conf
@@ -1,5 +1,5 @@
#
-# Qmake configuration for the GNU C++ compiler on Mac OS X
+# Qmake configuration for the GNU C++ compiler on OS X
#
# Before making changes to this file, please read the comment in
# gcc-base.conf, to make sure the change goes in the right place.
diff --git a/mkspecs/common/gcc-base-mac.conf b/mkspecs/common/gcc-base-mac.conf
index fa2b5765bf..e0469f31cc 100644
--- a/mkspecs/common/gcc-base-mac.conf
+++ b/mkspecs/common/gcc-base-mac.conf
@@ -1,5 +1,5 @@
#
-# Base qmake configuration for GCC on Mac OS X and iOS
+# Base qmake configuration for GCC on OS X and iOS
#
# Before making changes to this file, please read the comment in
# gcc-base.conf, to make sure the change goes in the right place.
diff --git a/mkspecs/common/llvm.conf b/mkspecs/common/llvm.conf
index 8f6946f9a2..c906dce6fc 100644
--- a/mkspecs/common/llvm.conf
+++ b/mkspecs/common/llvm.conf
@@ -1,5 +1,5 @@
#
-# Qmake configuration for LLVM on Linux and Mac
+# Qmake configuration for LLVM on Linux, OS X and iOS
#
QMAKE_COMPILER = gcc llvm
diff --git a/mkspecs/common/mac.conf b/mkspecs/common/mac.conf
index cb751723f3..4421665370 100644
--- a/mkspecs/common/mac.conf
+++ b/mkspecs/common/mac.conf
@@ -1,5 +1,5 @@
#
-# qmake configuration for common Mac OS (OSX and iOS)
+# qmake configuration common to OS X and iOS
#
!load(device_config): error(Could not successfully load device configuration)
diff --git a/mkspecs/common/macx.conf b/mkspecs/common/macx.conf
index 33e7c6911a..ad54612f22 100644
--- a/mkspecs/common/macx.conf
+++ b/mkspecs/common/macx.conf
@@ -1,5 +1,5 @@
#
-# qmake configuration for common Mac OS X
+# qmake configuration for common OS X
#
QMAKE_PLATFORM += osx macx
diff --git a/mkspecs/features/ctest_testcase.prf b/mkspecs/features/ctest_testcase.prf
index 8eb6f3263e..3b7f3091c5 100644
--- a/mkspecs/features/ctest_testcase.prf
+++ b/mkspecs/features/ctest_testcase.prf
@@ -1,96 +1,9 @@
-win32 {
- CMAKE_VERSION = $$system(cmake --version 2>NUL)
-} else {
- CMAKE_VERSION = $$system(cmake --version 2>/dev/null)
-}
-
-
-check.commands =
-isEmpty(CMAKE_VERSION) {
- message("cmake executable not found. Not running CMake unit tests")
-} else {
- CTEST_VERSION = $$system(ctest --version)
- isEmpty(CTEST_VERSION) {
- message("ctest executable not found. Not running CMake unit tests")
- } else {
- CMAKE_VERSION = $$last(CMAKE_VERSION)
- CMAKE_VERSION_MAJOR = $$section(CMAKE_VERSION, ., 0, 0)
- CMAKE_VERSION_MINOR = $$section(CMAKE_VERSION, ., 1, 1)
- CMAKE_VERSION_PATCH = $$section(CMAKE_VERSION, ., 2, 2)
- # CMake can report versions like 2.8.11-rc1, so strip off the rc part.
- CMAKE_VERSION_PATCH ~= s,-.*,,
-
- VERSION_OK =
- greaterThan(CMAKE_VERSION_MAJOR, 2) {
- VERSION_OK = 1
- } else:greaterThan(CMAKE_VERSION_MAJOR, 1):greaterThan(CMAKE_VERSION_MINOR, 8) {
- VERSION_OK = 1
- } else:greaterThan(CMAKE_VERSION_MAJOR, 1):greaterThan(CMAKE_VERSION_MINOR, 7):greaterThan(CMAKE_VERSION_PATCH, 2) {
- VERSION_OK = 1
- }
-
- isEmpty(VERSION_OK) {
- message("cmake $$CMAKE_VERSION is too old for this test.")
- } else {
- load(cmake_functions)
-
- CMAKE_BUILD_TYPE = Debug
- CONFIG(release, debug|release):CMAKE_BUILD_TYPE = Release
- win32-g++*:isEmpty(CROSS_COMPILE):CMAKE_GENERATOR = -G \"MinGW Makefiles\"
- win32:equals(QT_ARCH, x86_64) {
- win32-msvc2010:CMAKE_GENERATOR = -G \"Visual Studio 10 Win64\"
- win32-msvc2012:CMAKE_GENERATOR = -G \"Visual Studio 11 Win64\"
- }
-
- BUILD_DIR = $$replace($$list($$OUT_PWD/build), /, $$QMAKE_DIR_SEP)
-
- for(d, $$list($$split($$list($$[QMAKE_MKSPECS]), $$DIRLIST_SEPARATOR))) {
- CMAKE_PREFIX_PATH *= $$dirname(d)
- }
- CMAKE_PREFIX_PATH=\"$$join(CMAKE_PREFIX_PATH, ;)\"
-
- !qtHaveModule(widgets): CMAKE_MODULE_DEFINES += -DNO_WIDGETS=True
- !qtHaveModule(dbus): CMAKE_MODULE_DEFINES += -DNO_DBUS=True
-
- dependentmodules = $$resolve_depends(CMAKE_QT_MODULES_UNDER_TEST, "QT.")
- dependentmodules -= $$CMAKE_QT_MODULES_UNDER_TEST
- dependentmodules = $$cmakeModuleList($$dependentmodules)
-
- contains(QT_CONFIG, angle): CMAKE_GL_DEFINES = -DQT_WITH_ANGLE=True
- !contains(QT_CONFIG, egl): CMAKE_GL_DEFINES += -DNO_EGL=True
-
- CMAKE_MODULE_VERSIONS =
- CMAKE_MODULES_UNDER_TEST =
- for (MODULE_UNDER_TEST, CMAKE_QT_MODULES_UNDER_TEST) {
- CMAKE_NAME = $$cmakeModuleName($$MODULE_UNDER_TEST)
- CMAKE_MODULE_VERSIONS += \
- -DCMAKE_$${CMAKE_NAME}_MODULE_MAJOR_VERSION=$$eval(QT.$${MODULE_UNDER_TEST}.MAJOR_VERSION) \
- -DCMAKE_$${CMAKE_NAME}_MODULE_MINOR_VERSION=$$eval(QT.$${MODULE_UNDER_TEST}.MINOR_VERSION) \
- -DCMAKE_$${CMAKE_NAME}_MODULE_PATCH_VERSION=$$eval(QT.$${MODULE_UNDER_TEST}.PATCH_VERSION)
- CMAKE_MODULES_UNDER_TEST += $$CMAKE_NAME
- }
- CMAKE_MODULES_UNDER_TEST = $$join(CMAKE_MODULES_UNDER_TEST, ;)
-
- check.commands = \
- $(MKDIR) $$BUILD_DIR && cd $$BUILD_DIR && \
- cmake $$_PRO_FILE_PWD_ $$CMAKE_GENERATOR \
- -DCMAKE_VERBOSE_MAKEFILE=1 \
- $$CMAKE_MODULE_DEFINES \
- $$CMAKE_GL_DEFINES \
- -DCMAKE_BUILD_TYPE=$${CMAKE_BUILD_TYPE} \
- -DCMAKE_PREFIX_PATH=$$CMAKE_PREFIX_PATH \
- -DQt5_MODULE_TEST_DEPENDS=\"$${dependentmodules}\" \
- $${CMAKE_MODULE_VERSIONS} \
- -DCMAKE_MODULES_UNDER_TEST=\"$$CMAKE_MODULES_UNDER_TEST\" && \
- $(TESTRUNNER) ctest --output-on-failure
-
- }
- }
-}
+CMAKE_TEST_LOCATION = $$_PRO_FILE_PWD_
-insignificant_test:!isEmpty(check.commands) {
- check.commands = -$${check.commands}
+for(d, $$list($$split($$list($$[QMAKE_MKSPECS]), $$DIRLIST_SEPARATOR))) {
+ CMAKE_PREFIX_PATH *= $$clean_path($$dirname(d))
}
+CMAKE_PREFIX_PATH=\"$$join(CMAKE_PREFIX_PATH, ;)\"
-QMAKE_EXTRA_TARGETS *= check
+include(ctest_testcase_common.prf)
diff --git a/mkspecs/features/ctest_testcase_common.prf b/mkspecs/features/ctest_testcase_common.prf
new file mode 100644
index 0000000000..2f66909bb4
--- /dev/null
+++ b/mkspecs/features/ctest_testcase_common.prf
@@ -0,0 +1,97 @@
+
+win32 {
+ CMAKE_VERSION = $$system(cmake --version 2>NUL)
+} else {
+ CMAKE_VERSION = $$system(cmake --version 2>/dev/null)
+}
+
+
+check.commands =
+QMAKE_EXTRA_TARGETS *= check
+
+isEmpty(CMAKE_VERSION) {
+ message("cmake executable not found. Not running CMake unit tests")
+ return()
+}
+
+win32 {
+ CTEST_VERSION = $$system(ctest --version 2>NUL)
+} else {
+ CTEST_VERSION = $$system(ctest --version 2>/dev/null)
+}
+
+isEmpty(CTEST_VERSION) {
+ message("ctest executable not found. Not running CMake unit tests")
+ return()
+}
+
+CMAKE_VERSION = $$last(CMAKE_VERSION)
+CMAKE_VERSION_MAJOR = $$section(CMAKE_VERSION, ., 0, 0)
+CMAKE_VERSION_MINOR = $$section(CMAKE_VERSION, ., 1, 1)
+CMAKE_VERSION_PATCH = $$section(CMAKE_VERSION, ., 2, 2)
+# CMake can report versions like 2.8.11-rc1, so strip off the rc part.
+CMAKE_VERSION_PATCH ~= s,-.*,,
+
+VERSION_OK =
+greaterThan(CMAKE_VERSION_MAJOR, 2) {
+ VERSION_OK = 1
+} else:greaterThan(CMAKE_VERSION_MAJOR, 1):greaterThan(CMAKE_VERSION_MINOR, 8) {
+ VERSION_OK = 1
+} else:greaterThan(CMAKE_VERSION_MAJOR, 1):greaterThan(CMAKE_VERSION_MINOR, 7):greaterThan(CMAKE_VERSION_PATCH, 2) {
+ VERSION_OK = 1
+}
+
+isEmpty(VERSION_OK) {
+ message("cmake $$CMAKE_VERSION is too old for this test.")
+ return()
+}
+
+load(cmake_functions)
+
+CMAKE_BUILD_TYPE = Debug
+CONFIG(release, debug|release):CMAKE_BUILD_TYPE = Release
+win32-g++*:isEmpty(CROSS_COMPILE):CMAKE_GENERATOR = -G \"MinGW Makefiles\"
+win32:equals(QT_ARCH, x86_64) {
+ win32-msvc2010:CMAKE_GENERATOR = -G \"Visual Studio 10 Win64\"
+ win32-msvc2012:CMAKE_GENERATOR = -G \"Visual Studio 11 Win64\"
+}
+
+BUILD_DIR = $$replace($$list($$OUT_PWD/build), /, $$QMAKE_DIR_SEP)
+
+!qtHaveModule(widgets): CMAKE_MODULE_DEFINES += -DNO_WIDGETS=True
+!qtHaveModule(dbus): CMAKE_MODULE_DEFINES += -DNO_DBUS=True
+
+dependentmodules = $$resolve_depends(CMAKE_QT_MODULES_UNDER_TEST, "QT.")
+dependentmodules -= $$CMAKE_QT_MODULES_UNDER_TEST
+dependentmodules = $$cmakeModuleList($$dependentmodules)
+
+contains(QT_CONFIG, angle): CMAKE_GL_DEFINES = -DQT_WITH_ANGLE=True
+!contains(QT_CONFIG, egl): CMAKE_GL_DEFINES += -DNO_EGL=True
+
+CMAKE_MODULE_VERSIONS =
+CMAKE_MODULES_UNDER_TEST =
+for (MODULE_UNDER_TEST, CMAKE_QT_MODULES_UNDER_TEST) {
+ CMAKE_NAME = $$cmakeModuleName($$MODULE_UNDER_TEST)
+ CMAKE_MODULE_VERSIONS += \
+ -DCMAKE_$${CMAKE_NAME}_MODULE_MAJOR_VERSION=$$eval(QT.$${MODULE_UNDER_TEST}.MAJOR_VERSION) \
+ -DCMAKE_$${CMAKE_NAME}_MODULE_MINOR_VERSION=$$eval(QT.$${MODULE_UNDER_TEST}.MINOR_VERSION) \
+ -DCMAKE_$${CMAKE_NAME}_MODULE_PATCH_VERSION=$$eval(QT.$${MODULE_UNDER_TEST}.PATCH_VERSION)
+ CMAKE_MODULES_UNDER_TEST += $$CMAKE_NAME
+}
+CMAKE_MODULES_UNDER_TEST = $$join(CMAKE_MODULES_UNDER_TEST, ;)
+
+check.commands = \
+ $(MKDIR) $$BUILD_DIR && cd $$BUILD_DIR && \
+ cmake $$CMAKE_TEST_LOCATION $$CMAKE_GENERATOR \
+ -DCMAKE_VERBOSE_MAKEFILE=1 \
+ $$CMAKE_MODULE_DEFINES \
+ $$CMAKE_GL_DEFINES \
+ -DCMAKE_BUILD_TYPE=$${CMAKE_BUILD_TYPE} \
+ -DCMAKE_PREFIX_PATH=$$CMAKE_PREFIX_PATH \
+ -DQt5_MODULE_TEST_DEPENDS=\"$${dependentmodules}\" \
+ $${CMAKE_MODULE_VERSIONS} \
+ -DCMAKE_MODULES_UNDER_TEST=\"$$CMAKE_MODULES_UNDER_TEST\" && \
+ $(TESTRUNNER) ctest --output-on-failure
+
+insignificant_test:!isEmpty(check.commands): \
+ check.commands = -$${check.commands}
diff --git a/mkspecs/features/ctest_testcase_installed.prf b/mkspecs/features/ctest_testcase_installed.prf
new file mode 100644
index 0000000000..be741b4a0b
--- /dev/null
+++ b/mkspecs/features/ctest_testcase_installed.prf
@@ -0,0 +1,8 @@
+
+CMAKE_TEST_LOCATION = $$_PRO_FILE_PWD_/../cmake
+
+CMAKE_PREFIX_PATH = $$[QT_INSTALL_PREFIX]
+
+CONFIG += insignificant_test
+
+include(ctest_testcase_common.prf)
diff --git a/mkspecs/features/data/android/dx.bat b/mkspecs/features/data/android/dx.bat
index c4ad0e3ebc..9816f9607d 100644
--- a/mkspecs/features/data/android/dx.bat
+++ b/mkspecs/features/data/android/dx.bat
@@ -27,34 +27,35 @@ REM and set up progdir to be the fully-qualified pathname of its directory.
set prog=%~f0
if [%1]==[] goto badArgs
-set "androidsdk=%1"
+set "dx_jar_path=%1"
shift /1
if [%1]==[] goto badArgs
+REM Use dpZ here to make it more like the Google version.
+for %%F in ("%dx_jar_path%") do set dpZ=%%~dpF
+
rem Check we have a valid Java.exe in the path.
set java_exe=
-call "%androidsdk%\tools\lib\find_java.bat"
+if exist "%dpZ%..\tools\lib\find_java.bat" call "%dpZ%..\tools\lib\find_java.bat"
+if exist "%dpZ%..\..\tools\lib\find_java.bat" call "%dpZ%..\..\tools\lib\find_java.bat"
+
if not defined java_exe goto :EOF
set jarfile=dx.jar
-set "frameworkdir=%androidsdk%\platform-tools"
-
-if exist "%frameworkdir%\%jarfile%" goto JarFileOk
- set "frameworkdir=%frameworkdir%\lib"
+set "frameworkdir=%dpZ%"
+rem frameworkdir must not end with a dir sep.
+set "frameworkdir=%frameworkdir:~0,-1%"
if exist "%frameworkdir%\%jarfile%" goto JarFileOk
- set "frameworkdir=%androidsdk%\framework"
+ set "frameworkdir=%dpZ%lib"
if exist "%frameworkdir%\%jarfile%" goto JarFileOk
- set "frameworkdir=%androidsdk%\build-tools\%ANDROID_BUILD_TOOLS_REVISION%\lib"
-
-if exist "%frameworkdir%\%jarfile%" goto JarFileOk
- set "frameworkdir=%androidsdk%\build-tools\17.0.0\lib"
+ set "frameworkdir=%dpZ%..\framework"
:JarFileOk
-set jarpath=%frameworkdir%\%jarfile%
+set "jarpath=%frameworkdir%\%jarfile%"
set javaOpts=
set args=
@@ -97,12 +98,11 @@ set a=%~1
:endArgs
set javaOpts=%javaOpts% %defaultXmx% %defaultXss%
-
call "%java_exe%" %javaOpts% -Djava.ext.dirs="%frameworkdir%" -jar "%jarpath%" %params%
goto :EOF
:badArgs
-echo Usage: dx (for Qt) <android_sdk_path> <dx_arguments>
-echo Example: dx (for Qt) C:\android-sdk --dex --output=target.jar .classes
+echo Usage: dx (for Qt) ^<android_sdk_dx_jar_path^> ^<dx_arguments^>
+echo Example: dx (for Qt) C:\android-sdk\build-tools\17.0.0\dx.jar --dex --output=target.jar .classes
diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
index 1a2bd4a94d..38623349be 100644
--- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
@@ -78,12 +78,26 @@ endmacro()
if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
!!IF !no_module_headers
+!!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK)
+ set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS
+ \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework\"
+ \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Headers\"
+ )
+!!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES)
+ set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS
+ \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\"
+ \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\"
+ )
+!!ELSE
+ set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS)
+!!ENDIF
+!!ELSE
!!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE)
set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR\" \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}\")
!!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES)
set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS
- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/${Qt5$${CMAKE_MODULE_NAME}_VERSION_STRING}\"
- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/${Qt5$${CMAKE_MODULE_NAME}_VERSION_STRING}/$${MODULE_INCNAME}\"
+ \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION\"
+ \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION/$${MODULE_INCNAME}\"
)
!!ELSE
set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS)
@@ -92,13 +106,14 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS \"$$CMAKE_INCLUDE_DIR\" \"$${CMAKE_INCLUDE_DIR}Qt$${CMAKE_MODULE_NAME}\")
!!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES)
set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS
- \"$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/${Qt5$${CMAKE_MODULE_NAME}_VERSION_STRING}\"
- \"$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/${Qt5$${CMAKE_MODULE_NAME}_VERSION_STRING}/$${MODULE_INCNAME}\"
+ \"$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION\"
+ \"$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION/$${MODULE_INCNAME}\"
)
!!ELSE
set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS)
!!ENDIF
!!ENDIF
+!!ENDIF
!!ELSE
set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS)
set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS)
@@ -135,7 +150,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
foreach(_module_dep ${_Qt5$${CMAKE_MODULE_NAME}_MODULE_DEPENDENCIES})
if (NOT Qt5${_module_dep}_FOUND)
find_package(Qt5${_module_dep}
- ${Qt5$${CMAKE_MODULE_NAME}_VERSION_STRING} ${_Qt5$${CMAKE_MODULE_NAME}_FIND_VERSION_EXACT}
+ $$VERSION ${_Qt5$${CMAKE_MODULE_NAME}_FIND_VERSION_EXACT}
${_Qt5$${CMAKE_MODULE_NAME}_DEPENDENCIES_FIND_QUIET}
${_Qt5$${CMAKE_MODULE_NAME}_FIND_DEPENDENCIES_REQUIRED}
PATHS \"${CMAKE_CURRENT_LIST_DIR}/..\" NO_DEFAULT_PATH
diff --git a/mkspecs/features/java.prf b/mkspecs/features/java.prf
index 411a839ad8..d8ceb536a7 100644
--- a/mkspecs/features/java.prf
+++ b/mkspecs/features/java.prf
@@ -58,7 +58,13 @@ QMAKE_EXTENSION_SHLIB = jar
# Override linker with dex (for distributable Android archives) or jar (for other java builds)
android:!bundled_jar_file {
contains(QMAKE_HOST.os, Windows) {
- DEX_CMD = $$PWD/data/android/dx $$SDK_ROOT
+ # The location where dx.bat expects itself to be found is used as the landmark instead
+ # of the base sdk folder.
+ # Doing it this way makes this logic more similar to the other platforms and
+ # also means that our dx.bat is more like Google's dx.bat
+ DEX_BAT = $$SDK_ROOT/platform-tools/dx.bat
+ !exists($$DEX_BAT): DEX_BAT = $$SDK_ROOT/build-tools/$$BUILD_TOOLS_REVISION/dx.bat
+ DEX_CMD = $$PWD/data/android/dx $$DEX_BAT
} else {
DEX_CMD = $$SDK_ROOT/platform-tools/dx
!exists($$DEX_CMD): DEX_CMD = $$SDK_ROOT/build-tools/$$BUILD_TOOLS_REVISION/dx
diff --git a/mkspecs/features/qt_docs.prf b/mkspecs/features/qt_docs.prf
index a0f765b67f..be3cd5273c 100644
--- a/mkspecs/features/qt_docs.prf
+++ b/mkspecs/features/qt_docs.prf
@@ -19,11 +19,12 @@ isEmpty(QMAKE_DOCS_TARGETDIR): QMAKE_DOCS_TARGETDIR = $$QMAKE_DOCS_TARGET
QMAKE_DOCS_OUTPUTDIR = $$QMAKE_DOCS_BASE_OUTDIR/$$QMAKE_DOCS_TARGETDIR
qtPrepareTool(QDOC, qdoc)
-for(qmod, QMAKEMODULES): \
- QDOC += -indexdir $$section(qmod, /, 0, -3)/doc
QDOC += -outputdir $$QMAKE_DOCS_OUTPUTDIR
!build_online_docs: \
QDOC += -installdir $$[QT_INSTALL_DOCS]
+DOC_INDEXES =
+for(qmod, QMAKEMODULES): \
+ DOC_INDEXES += -indexdir $$section(qmod, /, 0, -3)/doc
qtver.name = QT_VERSION
qtver.value = $$VERSION
isEmpty(qtver.value): qtver.value = $$MODULE_VERSION
@@ -38,9 +39,9 @@ qtAddToolEnv(QDOC, qtver qtmver qtvertag qtdocs)
doc_command = $$QDOC $$QMAKE_DOCS
prepare_docs {
prepare_docs.commands += $$doc_command -prepare -no-link-errors
- generate_docs.commands += $$doc_command -generate
+ generate_docs.commands += $$doc_command -generate $$DOC_INDEXES
} else {
- html_docs.commands += $$doc_command
+ html_docs.commands += $$doc_command $$DOC_INDEXES
}
!build_online_docs {
diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf
index cd74c1d7cf..2f2c94ce06 100644
--- a/mkspecs/features/qt_functions.prf
+++ b/mkspecs/features/qt_functions.prf
@@ -61,6 +61,9 @@ defineTest(qtAddModule) {
MODULE_CONFIG = $$eval(QT.$${1}.module_config)
MODULE_MAJOR_VERSION = $$eval(QT.$${1}.MAJOR_VERSION)
+ contains(MODULE_CONFIG, internal_module):!if(auto_use_privates|isEqual(2, UsePrivate)): \
+ error("Module $$1 has no public API.")
+
qtProcessModuleFlags(CONFIG, QT.$${1}.CONFIG)
qtProcessModuleFlags(DEFINES, QT.$${1}.DEFINES)
diff --git a/mkspecs/features/qt_headersclean.prf b/mkspecs/features/qt_headersclean.prf
index 4128392997..ab0a722628 100644
--- a/mkspecs/features/qt_headersclean.prf
+++ b/mkspecs/features/qt_headersclean.prf
@@ -36,7 +36,8 @@ TARGET = tst_headersclean
includes =
for(q, QT) {
- qn = $$eval(QT.$${q}.name)
+ sq = $$replace(q, -private\$, )
+ qn = $$eval(QT.$${sq}.name)
isEmpty(qn): \
QT -= $$q
else: \
diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf
index 46f8e56ad5..7f7de85bb6 100644
--- a/mkspecs/features/qt_module.prf
+++ b/mkspecs/features/qt_module.prf
@@ -87,19 +87,19 @@ contains(TARGET, QtAddOn.*): \
else: \
DEFINES += QT_BUILD_$${ucmodule}_LIB
-#mac frameworks
+# OS X and iOS frameworks
mac:CONFIG(shared, static|shared):contains(QT_CONFIG, qt_framework) {
#QMAKE_FRAMEWORK_VERSION = 4.0
- CONFIG += lib_bundle qt_no_framework_direct_includes qt_framework
- CONFIG -= qt_install_headers #no need to install these as well
+ CONFIG += lib_bundle qt_framework
!debug_and_release|if(build_all:CONFIG(release, debug|release)) {
FRAMEWORK_HEADERS.version = Versions
FRAMEWORK_HEADERS.files = $$SYNCQT.HEADER_FILES $$SYNCQT.HEADER_CLASSES
FRAMEWORK_HEADERS.path = Headers
- FRAMEWORK_PRIVATE_HEADERS.version = Versions
FRAMEWORK_PRIVATE_HEADERS.files = $$SYNCQT.PRIVATE_HEADER_FILES
- FRAMEWORK_PRIVATE_HEADERS.path = Headers/$$VERSION/$$MODULE_INCNAME
- QMAKE_BUNDLE_DATA += FRAMEWORK_HEADERS FRAMEWORK_PRIVATE_HEADERS
+ FRAMEWORK_PRIVATE_HEADERS.path = Headers/$$VERSION/$$MODULE_INCNAME/private
+ FRAMEWORK_QPA_HEADERS.files = $$SYNCQT.QPA_HEADER_FILES
+ FRAMEWORK_QPA_HEADERS.path = Headers/$$VERSION/$$MODULE_INCNAME/qpa
+ QMAKE_BUNDLE_DATA += FRAMEWORK_HEADERS FRAMEWORK_PRIVATE_HEADERS FRAMEWORK_QPA_HEADERS
}
}
diff --git a/mkspecs/features/qt_module_pris.prf b/mkspecs/features/qt_module_pris.prf
index 81b37f0e92..90e5288524 100644
--- a/mkspecs/features/qt_module_pris.prf
+++ b/mkspecs/features/qt_module_pris.prf
@@ -51,11 +51,15 @@ else: \
else: \
module_rundep =
static: \
- module_build_type = "QT.$${MODULE}.module_config = staticlib"
+ module_build_type = staticlib
else:mac:contains(QT_CONFIG, qt_framework): \
- module_build_type = "QT.$${MODULE}.module_config = lib_bundle"
+ module_build_type = lib_bundle
else: \
module_build_type =
+ internal_module: \
+ module_build_type += internal_module
+ !isEmpty(module_build_type): \
+ module_build_type = "QT.$${MODULE}.module_config = $$module_build_type"
!isEmpty(MODULE_CONFIG): \
module_config = "QT.$${MODULE}.CONFIG = $$MODULE_CONFIG"
else: \
diff --git a/mkspecs/features/simd.prf b/mkspecs/features/simd.prf
index 751f836a2d..e0cd5a3a58 100644
--- a/mkspecs/features/simd.prf
+++ b/mkspecs/features/simd.prf
@@ -119,7 +119,6 @@ QT_CPU_FEATURES = $$eval(QT_CPU_FEATURES.$$QT_ARCH)
}
neon {
HEADERS += $$NEON_HEADERS
- SOURCES += $$NEON_ASM
neon_compiler.commands = $$QMAKE_CXX -c $(CXXFLAGS)
!contains(QT_CPU_FEATURES, neon):neon_compiler.commands += $$QMAKE_CFLAGS_NEON
@@ -130,7 +129,16 @@ QT_CPU_FEATURES = $$eval(QT_CPU_FEATURES.$$QT_ARCH)
neon_compiler.variable_out = OBJECTS
neon_compiler.name = compiling[neon] ${QMAKE_FILE_IN}
silent:neon_compiler.commands = @echo compiling[neon] ${QMAKE_FILE_IN} && $$neon_compiler.commands
- QMAKE_EXTRA_COMPILERS += neon_compiler
+ neon_assembler.commands = $$QMAKE_CC -c $(CFLAGS)
+ !contains(QT_CPU_FEATURES, neon):neon_assembler.commands += $$QMAKE_CFLAGS_NEON
+ neon_assembler.commands += $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
+ neon_assembler.dependency_type = TYPE_C
+ neon_assembler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)}
+ neon_assembler.input = NEON_ASM
+ neon_assembler.variable_out = OBJECTS
+ neon_assembler.name = assembling[neon] ${QMAKE_FILE_IN}
+ silent:neon_assembler.commands = @echo assembling[neon] ${QMAKE_FILE_IN} && $$neon_assembler.commands
+ QMAKE_EXTRA_COMPILERS += neon_compiler neon_assembler
}
iwmmxt {
HEADERS += $$IWMMXT_HEADERS
@@ -153,24 +161,32 @@ QT_CPU_FEATURES = $$eval(QT_CPU_FEATURES.$$QT_ARCH)
mips_dsp_compiler.commands += $(CXXFLAGS) $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
mips_dsp_compiler.dependency_type = TYPE_C
mips_dsp_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)}
- mips_dsp_compiler.input = MIPS_DSP_ASM MIPS_DSP_SOURCES
+ mips_dsp_compiler.input = MIPS_DSP_SOURCES
mips_dsp_compiler.variable_out = OBJECTS
mips_dsp_compiler.name = compiling[mips_dsp] ${QMAKE_FILE_IN}
silent:mips_dsp_compiler.commands = @echo compiling[mips_dsp] ${QMAKE_FILE_IN} && $$mips_dsp_compiler.commands
+ mips_dsp_assembler.commands = $$QMAKE_CC -c
+ mips_dsp_assembler.commands += $(CFLAGS) $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
+ mips_dsp_assembler.dependency_type = TYPE_C
+ mips_dsp_assembler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)}
+ mips_dsp_assembler.input = MIPS_DSP_ASM
+ mips_dsp_assembler.variable_out = OBJECTS
+ mips_dsp_assembler.name = assembling[mips_dsp] ${QMAKE_FILE_IN}
+ silent:mips_dsp_assembler.commands = @echo assembling[mips_dsp] ${QMAKE_FILE_IN} && $$mips_dsp_assembler.commands
QMAKE_EXTRA_COMPILERS += mips_dsp_compiler
}
mips_dspr2 {
HEADERS += $$MIPS_DSP_HEADERS
- mips_dspr2_compiler.commands = $$QMAKE_CXX -c
- mips_dspr2_compiler.commands += $(CXXFLAGS) $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
- mips_dspr2_compiler.dependency_type = TYPE_C
- mips_dspr2_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)}
- mips_dspr2_compiler.input = MIPS_DSPR2_ASM
- mips_dspr2_compiler.variable_out = OBJECTS
- mips_dspr2_compiler.name = compiling[mips_dspr2] ${QMAKE_FILE_IN}
- silent:mips_dspr2_compiler.commands = @echo compiling[mips_dspr2] ${QMAKE_FILE_IN} && $$mips_dspr2_compiler.commands
- QMAKE_EXTRA_COMPILERS += mips_dspr2_compiler
+ mips_dspr2_assembler.commands = $$QMAKE_CC -c
+ mips_dspr2_assembler.commands += $(CFLAGS) $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
+ mips_dspr2_assembler.dependency_type = TYPE_C
+ mips_dspr2_assembler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)}
+ mips_dspr2_assembler.input = MIPS_DSPR2_ASM
+ mips_dspr2_assembler.variable_out = OBJECTS
+ mips_dspr2_assembler.name = assembling[mips_dspr2] ${QMAKE_FILE_IN}
+ silent:mips_dspr2_assembler.commands = @echo assembling[mips_dspr2] ${QMAKE_FILE_IN} && $$mips_dspr2_assembler.commands
+ QMAKE_EXTRA_COMPILERS += mips_dspr2_assembler
}
} else:win32-msvc* {
sse2 {
diff --git a/mkspecs/macx-clang-libc++-32/qmake.conf b/mkspecs/macx-clang-libc++-32/qmake.conf
index aea19a4bc3..3f7342da0b 100644
--- a/mkspecs/macx-clang-libc++-32/qmake.conf
+++ b/mkspecs/macx-clang-libc++-32/qmake.conf
@@ -2,6 +2,8 @@
# qmake configuration for 32-bit Clang on OS X
#
+warning("QMakespec macx-clang-libc++-32 is deprecated. Use macx-clang-32 instead.")
+
MAKEFILE_GENERATOR = UNIX
CONFIG += app_bundle incremental global_init_link_order lib_version_first plugin_no_soname
QMAKE_INCREMENTAL_STYLE = sublib
diff --git a/mkspecs/macx-clang-libc++/qmake.conf b/mkspecs/macx-clang-libc++/qmake.conf
index 94cc0036d2..7f4151e81b 100644
--- a/mkspecs/macx-clang-libc++/qmake.conf
+++ b/mkspecs/macx-clang-libc++/qmake.conf
@@ -2,6 +2,8 @@
# qmake configuration for Clang on OS X
#
+warning("QMakespec macx-clang-libc++ is deprecated. Use macx-clang instead.")
+
MAKEFILE_GENERATOR = UNIX
CONFIG += app_bundle incremental global_init_link_order lib_version_first plugin_no_soname
QMAKE_INCREMENTAL_STYLE = sublib
diff --git a/mkspecs/macx-g++-32/qmake.conf b/mkspecs/macx-g++-32/qmake.conf
index bf8f68c680..6ef78aacbf 100644
--- a/mkspecs/macx-g++-32/qmake.conf
+++ b/mkspecs/macx-g++-32/qmake.conf
@@ -3,7 +3,7 @@
#
# qmake configuration for macx-g++
#
-# Mac OS X + command-line compiler
+# OS X + command-line compiler
#
MAKEFILE_GENERATOR = UNIX
diff --git a/mkspecs/macx-g++/qmake.conf b/mkspecs/macx-g++/qmake.conf
index 96d9f6e487..a6c075a2ce 100644
--- a/mkspecs/macx-g++/qmake.conf
+++ b/mkspecs/macx-g++/qmake.conf
@@ -3,7 +3,7 @@
#
# qmake configuration for macx-g++
#
-# Mac OS X + command-line compiler
+# OS X + command-line compiler
#
MAKEFILE_GENERATOR = UNIX
diff --git a/mkspecs/macx-g++40/qmake.conf b/mkspecs/macx-g++40/qmake.conf
index fe7683e02d..f40315a602 100644
--- a/mkspecs/macx-g++40/qmake.conf
+++ b/mkspecs/macx-g++40/qmake.conf
@@ -3,7 +3,7 @@
#
# qmake configuration for macx-g++
#
-# Mac OS X + command-line compiler
+# OS X + command-line compiler
#
MAKEFILE_GENERATOR = UNIX
diff --git a/mkspecs/macx-g++42/qmake.conf b/mkspecs/macx-g++42/qmake.conf
index 9041d8ba05..25383e9cb6 100644
--- a/mkspecs/macx-g++42/qmake.conf
+++ b/mkspecs/macx-g++42/qmake.conf
@@ -3,7 +3,7 @@
#
# qmake configuration for macx-g++
#
-# Mac OS X + command-line compiler
+# OS X + command-line compiler
#
MAKEFILE_GENERATOR = UNIX
diff --git a/mkspecs/macx-icc/qmake.conf b/mkspecs/macx-icc/qmake.conf
index 2522d5c382..69f0b4cc0c 100644
--- a/mkspecs/macx-icc/qmake.conf
+++ b/mkspecs/macx-icc/qmake.conf
@@ -1,7 +1,7 @@
#
# qmake configuration for macx-icc
#
-# Written for Intel C++ Compiler versions 8.x and 9.x for Mac OS X
+# Written for Intel C++ Compiler versions 8.x and 9.x for OS X
#
# Note: Some of the remarks from the Intel compiler are disabled (even
# with 'warn_on' specified):
diff --git a/mkspecs/macx-llvm/qmake.conf b/mkspecs/macx-llvm/qmake.conf
index 7e6ee1c9de..7bdef70943 100644
--- a/mkspecs/macx-llvm/qmake.conf
+++ b/mkspecs/macx-llvm/qmake.conf
@@ -3,7 +3,7 @@
#
# qmake configuration for macx-g++
#
-# Mac OS X + command-line compiler
+# OS X + command-line compiler
#
MAKEFILE_GENERATOR = UNIX
diff --git a/mkspecs/macx-xcode/qmake.conf b/mkspecs/macx-xcode/qmake.conf
index 7f65d263a3..bfc1c58935 100644
--- a/mkspecs/macx-xcode/qmake.conf
+++ b/mkspecs/macx-xcode/qmake.conf
@@ -1,7 +1,7 @@
#
# qmake configuration for macx-xcode
#
-# Mac OS X + XCode
+# OS X + Xcode
#
include(../$$[QMAKE_XSPEC]/qmake.conf)
diff --git a/mkspecs/win32-icc/qplatformdefs.h b/mkspecs/win32-icc/qplatformdefs.h
index b1950cd71f..e03bce8e6c 100644
--- a/mkspecs/win32-icc/qplatformdefs.h
+++ b/mkspecs/win32-icc/qplatformdefs.h
@@ -39,110 +39,4 @@
**
****************************************************************************/
-#ifndef QPLATFORMDEFS_H
-#define QPLATFORMDEFS_H
-
-#ifdef UNICODE
-#ifndef _UNICODE
-#define _UNICODE
-#endif
-#endif
-
-// Get Qt defines/settings
-
-#include "qglobal.h"
-
-#define _POSIX_
-#include <limits.h>
-#undef _POSIX_
-
-#include <tchar.h>
-#include <io.h>
-#include <direct.h>
-#include <stdio.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <sys/stat.h>
-#include <stdlib.h>
-#include <windows.h>
-
-#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
-#define QT_TSTAT ::_tstati64
-#else
-#define QT_LSEEK ::_lseek
-#define QT_TSTAT ::_tstat
-#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"
-
-#if defined(QT_LARGEFILE_SUPPORT) && _MSC_VER > 1310
-#undef QT_FSEEK
-#undef QT_FTELL
-
-#define QT_FSEEK ::_fseeki64
-#define QT_FTELL ::_ftelli64
-#endif
-
-#if defined(QT_LARGEFILE_SUPPORT)
-#undef QT_OFF_T
-#define QT_OFF_T __int64
-#endif
-
-#define QT_SIGNAL_ARGS int
-
-#if _MSC_VER>=1400
-# define QT_VSNPRINTF(buffer, count, format, arg) \
- ::vsnprintf_s(buffer, count, count-1, format, arg)
-#else
-# define QT_VSNPRINTF ::_vsnprintf
-#endif
-#define QT_SNPRINTF ::_snprintf
-
-# define F_OK 0
-# define X_OK 1
-# define W_OK 2
-# define R_OK 4
-
-typedef int mode_t;
-
-
-#endif // QPLATFORMDEFS_H
+#include "../win32-msvc2005/qplatformdefs.h"
diff --git a/mkspecs/win32-msvc2013/qmake.conf b/mkspecs/win32-msvc2013/qmake.conf
new file mode 100644
index 0000000000..89d2dd45a4
--- /dev/null
+++ b/mkspecs/win32-msvc2013/qmake.conf
@@ -0,0 +1,98 @@
+#
+# qmake configuration for win32-msvc2013
+#
+# Written for Microsoft Visual C++ 2013
+#
+
+MAKEFILE_GENERATOR = MSBUILD
+QMAKE_PLATFORM = win32
+CONFIG += incremental flat precompile_header autogen_precompile_source debug_and_release debug_and_release_target embed_manifest_dll embed_manifest_exe
+DEFINES += UNICODE WIN32
+QMAKE_COMPILER_DEFINES += _MSC_VER=1800 _WIN32
+contains(QMAKE_TARGET.arch, x86_64) {
+ DEFINES += WIN64
+ QMAKE_COMPILER_DEFINES += _WIN64
+}
+
+QMAKE_COMPILER = msvc
+
+QMAKE_CC = cl
+QMAKE_LEX = flex
+QMAKE_LEXFLAGS =
+QMAKE_YACC = byacc
+QMAKE_YACCFLAGS = -d
+QMAKE_CFLAGS = -nologo -Zm200 -Zc:wchar_t
+QMAKE_CFLAGS_WARN_ON = -W3
+QMAKE_CFLAGS_WARN_OFF = -W0
+QMAKE_CFLAGS_RELEASE = -O2 -MD
+QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MD -Zi
+QMAKE_CFLAGS_DEBUG = -Zi -MDd
+QMAKE_CFLAGS_YACC =
+QMAKE_CFLAGS_LTCG = -GL
+QMAKE_CFLAGS_MP = -MP
+QMAKE_CFLAGS_SSE2 = -arch:SSE2
+QMAKE_CFLAGS_SSE3 = -arch:SSE2
+QMAKE_CFLAGS_SSSE3 = -arch:SSE2
+QMAKE_CFLAGS_SSE4_1 = -arch:SSE2
+QMAKE_CFLAGS_SSE4_2 = -arch:SSE2
+QMAKE_CFLAGS_AVX = -arch:AVX
+QMAKE_CFLAGS_AVX2 = -arch:AVX
+
+QMAKE_CXX = $$QMAKE_CC
+QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
+QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON -w34100 -w34189
+QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
+QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_LTCG = $$QMAKE_CFLAGS_LTCG
+QMAKE_CXXFLAGS_MP = $$QMAKE_CFLAGS_MP
+QMAKE_CXXFLAGS_STL_ON = -EHsc
+QMAKE_CXXFLAGS_STL_OFF =
+QMAKE_CXXFLAGS_RTTI_ON = -GR
+QMAKE_CXXFLAGS_RTTI_OFF =
+QMAKE_CXXFLAGS_EXCEPTIONS_ON = -EHsc
+QMAKE_CXXFLAGS_EXCEPTIONS_OFF =
+
+QMAKE_INCDIR =
+
+QMAKE_RUN_CC = $(CC) -c $(CFLAGS) $(INCPATH) -Fo$obj $src
+QMAKE_RUN_CC_IMP = $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ $<
+QMAKE_RUN_CC_IMP_BATCH = $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ @<<
+QMAKE_RUN_CXX = $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$obj $src
+QMAKE_RUN_CXX_IMP = $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $<
+QMAKE_RUN_CXX_IMP_BATCH = $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ @<<
+
+QMAKE_LINK = link
+QMAKE_LFLAGS = /NOLOGO /DYNAMICBASE /NXCOMPAT
+QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO
+QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO = /DEBUG /OPT:REF
+QMAKE_LFLAGS_DEBUG = /DEBUG
+QMAKE_LFLAGS_CONSOLE = /SUBSYSTEM:CONSOLE
+QMAKE_LFLAGS_WINDOWS = /SUBSYSTEM:WINDOWS
+QMAKE_LFLAGS_EXE = \"/MANIFESTDEPENDENCY:type=\'win32\' name=\'Microsoft.Windows.Common-Controls\' version=\'6.0.0.0\' publicKeyToken=\'6595b64144ccf1df\' language=\'*\' processorArchitecture=\'*\'\"
+QMAKE_LFLAGS_DLL = /DLL
+QMAKE_LFLAGS_LTCG = /LTCG
+QMAKE_EXTENSION_STATICLIB = lib
+
+QMAKE_LIBS_CORE = kernel32.lib user32.lib shell32.lib uuid.lib ole32.lib advapi32.lib ws2_32.lib
+QMAKE_LIBS_GUI = gdi32.lib comdlg32.lib oleaut32.lib imm32.lib winmm.lib ws2_32.lib ole32.lib user32.lib advapi32.lib
+QMAKE_LIBS_NETWORK = ws2_32.lib
+QMAKE_LIBS_OPENGL = glu32.lib opengl32.lib gdi32.lib user32.lib
+QMAKE_LIBS_OPENGL_ES2 = libEGL.lib libGLESv2.lib gdi32.lib user32.lib
+QMAKE_LIBS_OPENGL_ES2_DEBUG = libEGLd.lib libGLESv2d.lib gdi32.lib user32.lib
+QMAKE_LIBS_COMPAT = advapi32.lib shell32.lib comdlg32.lib user32.lib gdi32.lib ws2_32.lib
+
+QMAKE_LIBS_QT_ENTRY = -lqtmain
+
+QMAKE_IDL = midl
+QMAKE_LIB = lib /NOLOGO
+QMAKE_RC = rc
+
+include(../common/shell-win32.conf)
+
+VCPROJ_EXTENSION = .vcxproj
+VCSOLUTION_EXTENSION = .sln
+VCPROJ_KEYWORD = Qt4VSv1.0
+load(qt_config)
diff --git a/mkspecs/win32-msvc2013/qplatformdefs.h b/mkspecs/win32-msvc2013/qplatformdefs.h
new file mode 100644
index 0000000000..e03bce8e6c
--- /dev/null
+++ b/mkspecs/win32-msvc2013/qplatformdefs.h
@@ -0,0 +1,42 @@
+/****************************************************************************
+**
+** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, 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, Digia gives you certain additional
+** rights. These rights are described in the Digia 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.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "../win32-msvc2005/qplatformdefs.h"