summaryrefslogtreecommitdiffstats
path: root/mkspecs/features
diff options
context:
space:
mode:
authorSergio Ahumada <sergio.ahumada@digia.com>2013-07-11 15:14:13 +0200
committerOswald Buddenhagen <oswald.buddenhagen@digia.com>2013-07-11 16:42:01 +0200
commit3ef6cf060e984bca43956a23b61b32ec7347cfc7 (patch)
tree14810e4d0168c0cc3d69cb286574bf28375c07bc /mkspecs/features
parentb06304e164ba47351fa292662c1e6383c081b5ca (diff)
parent7b9d6cf844ece18fef884f51117e25ad4ac31db5 (diff)
Merge branch 'stable' into dev
Conflicts: qmake/generators/mac/pbuilder_pbx.cpp src/corelib/json/qjsonwriter.cpp src/corelib/kernel/qeventdispatcher_blackberry.cpp src/plugins/platforms/cocoa/qcocoacolordialoghelper.mm Change-Id: I24df576c4cbd18fa51b03122f71e32bb83b9028f
Diffstat (limited to 'mkspecs/features')
-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
12 files changed, 202 insertions, 138 deletions
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 {