summaryrefslogtreecommitdiffstats
path: root/mkspecs/features
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@digia.com>2013-06-13 10:05:49 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-06-13 10:05:49 +0200
commit9b102e953f3fd63f9f1d6a4ac2626354972c76d6 (patch)
tree96813aeb37532532d7a6c841562f2f33a6f745f3 /mkspecs/features
parent23d8a7fb237c433a74499dcd65aa60144aafbc46 (diff)
parente2776b44a0e0e34e5a1d851916a94f7db5e7bb7b (diff)
Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev
Diffstat (limited to 'mkspecs/features')
-rw-r--r--mkspecs/features/cmake_functions.prf2
-rw-r--r--mkspecs/features/data/android/dx.bat6
-rw-r--r--mkspecs/features/qt_build_paths.prf3
-rw-r--r--mkspecs/features/qt_module_headers.prf65
-rw-r--r--mkspecs/features/qt_module_pris.prf22
5 files changed, 40 insertions, 58 deletions
diff --git a/mkspecs/features/cmake_functions.prf b/mkspecs/features/cmake_functions.prf
index 08295da75f..f48ef43b88 100644
--- a/mkspecs/features/cmake_functions.prf
+++ b/mkspecs/features/cmake_functions.prf
@@ -54,7 +54,7 @@ defineReplace(cmakeProcessLibs) {
variable = $$1
out =
for(v, variable) {
- if(!equals(v, -framework)) {
+ if(!equals(v, -framework):!equals(v, -L.*)) {
v ~= s,^-l,,
v ~= s,^-lib,,
v ~= s,.lib$,,
diff --git a/mkspecs/features/data/android/dx.bat b/mkspecs/features/data/android/dx.bat
index af143c52b5..c4ad0e3ebc 100644
--- a/mkspecs/features/data/android/dx.bat
+++ b/mkspecs/features/data/android/dx.bat
@@ -46,6 +46,12 @@ if exist "%frameworkdir%\%jarfile%" goto JarFileOk
if exist "%frameworkdir%\%jarfile%" goto JarFileOk
set "frameworkdir=%androidsdk%\framework"
+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"
+
:JarFileOk
set jarpath=%frameworkdir%\%jarfile%
diff --git a/mkspecs/features/qt_build_paths.prf b/mkspecs/features/qt_build_paths.prf
index 03b43e3153..25fc2c3033 100644
--- a/mkspecs/features/qt_build_paths.prf
+++ b/mkspecs/features/qt_build_paths.prf
@@ -16,6 +16,9 @@ isEmpty(MODULE_BASE_DIR): MODULE_BASE_DIR = $$MODULE_PROFILE_DIR
isEmpty(MODULE_BASE_OUTDIR): MODULE_BASE_OUTDIR = $$shadowed($$MODULE_BASE_DIR)
isEmpty(MODULE_QMAKE_OUTDIR): MODULE_QMAKE_OUTDIR = $$MODULE_BASE_OUTDIR
+exists($$MODULE_PROFILE_DIR/.git): \
+ CONFIG += git_build
+
!prefix_build {
QTDIR = $$[QT_HOST_PREFIX]
# Permit modules to enforce being built outside QTDIR ...
diff --git a/mkspecs/features/qt_module_headers.prf b/mkspecs/features/qt_module_headers.prf
index 298ca102bc..fd6cf6b943 100644
--- a/mkspecs/features/qt_module_headers.prf
+++ b/mkspecs/features/qt_module_headers.prf
@@ -11,7 +11,7 @@
load(qt_build_paths)
-!build_pass {
+!build_pass:git_build {
qtPrepareTool(QMAKE_SYNCQT, syncqt)
minimal_syncqt {
QMAKE_SYNCQT += -minimal $$QMAKE_SYNCQT_OPTIONS
@@ -29,66 +29,25 @@ load(qt_build_paths)
minimal_syncqt: return()
#load up the headers info
-include($$MODULE_BASE_OUTDIR/include/$$MODULE_INCNAME/headers.pri, "", true)
-
-lctarget = $$lower($$MODULE_INCNAME)
-uctarget = $$upper($$MODULE_INCNAME)
-
-defineTest(shouldMasterInclude) {
- bn = $$basename(1)
- contains(bn, .*_.*):return(false)
- contains(bn, ^qconfig.*):return(false)
- lines = $$cat($$_PRO_FILE_PWD_/$$1, lines)
- contains(lines, $${LITERAL_HASH}pragma qt_no_master_include):return(false)
- return(true)
-}
+git_build: \
+ INC_PATH = $$MODULE_BASE_OUTDIR
+else: \
+ INC_PATH = $$MODULE_BASE_DIR
+include($$INC_PATH/include/$$MODULE_INCNAME/headers.pri, "", true)
autogen_warning = \
"/* This file was generated by qmake with the info from <root>/$$relative_path($$_PRO_FILE_, $$MODULE_BASE_DIR). */"
-# Create module version header
-MODULE_VERSION_HEADER = $$find(SYNCQT.HEADER_FILES, (^|/)$${lctarget}version\\.h$)
-count(MODULE_VERSION_HEADER, 1) {
- MODULE_VERSION_HEADER = $$absolute_path($$MODULE_VERSION_HEADER, $$_PRO_FILE_PWD_)
-
- !build_pass {
- majorhexstr = $$format_number($$section(VERSION, ., 0, 0), width=2 zeropad obase=16)
- minorhexstr = $$format_number($$section(VERSION, ., 1, 1), width=2 zeropad obase=16)
- patchhexstr = $$format_number($$section(VERSION, ., 2, 2), width=2 zeropad obase=16)
- modulehexstring = 0x$${majorhexstr}$${minorhexstr}$${patchhexstr}
- MODULE_VERSION_HEADER_CONT = \
- $$autogen_warning \
- "$${LITERAL_HASH}ifndef QT_$${uctarget}_VERSION_H" \
- "$${LITERAL_HASH}define QT_$${uctarget}_VERSION_H" \
- "" \
- "$${LITERAL_HASH}define $${uctarget}_VERSION_STR \"$$VERSION\"" \
- "" \
- "$${LITERAL_HASH}define $${uctarget}_VERSION $$modulehexstring" \
- "" \
- "$${LITERAL_HASH}endif // QT_$${uctarget}_VERSION_H"
- write_file($$MODULE_VERSION_HEADER, MODULE_VERSION_HEADER_CONT)|error("Aborting.")
- }
-
- HEADERS += $$MODULE_VERSION_HEADER
-}
-
-# Create a module master header
-MODULE_MASTER_HEADER = $$MODULE_BASE_OUTDIR/include/$$MODULE_INCNAME/$$MODULE_INCNAME
+# Create a module master depends header
+MODULE_MASTER_DEPS_HEADER = $$MODULE_BASE_OUTDIR/include/$$MODULE_INCNAME/$${MODULE_INCNAME}Depends
!build_pass {
- MODULE_MASTER_HEADER_CONT = \
- $$autogen_warning \
- "$${LITERAL_HASH}ifndef QT_$${ucmodule}_MODULE_H" \
- "$${LITERAL_HASH}define QT_$${ucmodule}_MODULE_H"
+ MODULE_MASTER_DEPS_HEADER_CONT = $$autogen_warning
for(dep, MODULE_DEPENDS) {
depname = $$eval(QT.$${dep}.name)
- MODULE_MASTER_HEADER_CONT += "$${LITERAL_HASH}include <$$depname/$$depname>"
+ MODULE_MASTER_DEPS_HEADER_CONT += "$${LITERAL_HASH}include <$$depname/$$depname>"
}
- for(hdr, SYNCQT.HEADER_FILES): \
- shouldMasterInclude($$hdr): \
- MODULE_MASTER_HEADER_CONT += "$${LITERAL_HASH}include \"$$replace(hdr, .*/, )\""
- MODULE_MASTER_HEADER_CONT += "$${LITERAL_HASH}endif"
- write_file($$MODULE_MASTER_HEADER, MODULE_MASTER_HEADER_CONT)|error("Aborting.")
+ write_file($$MODULE_MASTER_DEPS_HEADER, MODULE_MASTER_DEPS_HEADER_CONT)|error("Aborting.")
}
-SYNCQT.HEADER_FILES += $$MODULE_MASTER_HEADER
+SYNCQT.HEADER_FILES += $$MODULE_MASTER_DEPS_HEADER
CONFIG += qt_install_headers
diff --git a/mkspecs/features/qt_module_pris.prf b/mkspecs/features/qt_module_pris.prf
index 9e40a67b51..666989f75e 100644
--- a/mkspecs/features/qt_module_pris.prf
+++ b/mkspecs/features/qt_module_pris.prf
@@ -52,9 +52,22 @@ else: \
else: \
module_config =
!no_module_headers:!minimal_syncqt {
- MODULE_INCLUDES = "\$\$QT_MODULE_INCLUDE_BASE \$\$QT_MODULE_INCLUDE_BASE/$$MODULE_INCNAME"
- MODULE_PRIVATE_INCLUDES = "\$\$QT_MODULE_INCLUDE_BASE/$$MODULE_INCNAME/$$VERSION \
- \$\$QT_MODULE_INCLUDE_BASE/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME"
+ MODULE_INCLUDES = \$\$QT_MODULE_INCLUDE_BASE \$\$QT_MODULE_INCLUDE_BASE/$$MODULE_INCNAME
+ MODULE_PRIVATE_INCLUDES = \$\$QT_MODULE_INCLUDE_BASE/$$MODULE_INCNAME/$$VERSION \
+ \$\$QT_MODULE_INCLUDE_BASE/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME
+ }
+ !git_build:if(!equals(_PRO_FILE_PWD_, $$OUT_PWD) \
+ |if(!prefix_build:!equals(MODULE_BASE_DIR, $$[QT_HOST_PREFIX]))) {
+ pub_inc = $$replace(MODULE_INCLUDES, ^\\\$\\\$QT_MODULE_INCLUDE_BASE, $$MODULE_BASE_DIR/include)
+ priv_inc = $$replace(MODULE_PRIVATE_INCLUDES, ^\\\$\\\$QT_MODULE_INCLUDE_BASE, $$MODULE_BASE_DIR/include)
+ force_independent {
+ MODULE_FWD_PRI_CONT_SUFFIX = \
+ "QT.$${MODULE}.includes += $$pub_inc" \
+ "QT.$${MODULE}.private_includes = $$priv_inc"
+ } else {
+ MODULE_INCLUDES += $$pub_inc
+ MODULE_PRIVATE_INCLUDES = $$priv_inc
+ }
}
MODULE_PRI_CONT = \
"QT.$${MODULE}.VERSION = $${VERSION}" \
@@ -97,7 +110,8 @@ else: \
"QT_MODULE_HOST_LIB_BASE = $$MODULE_BASE_OUTDIR/lib" \
"QT_MODULE_LIBEXEC_BASE = $$MODULE_BASE_OUTDIR/libexec" \
"QT_MODULE_PLUGIN_BASE = $$MODULE_BASE_OUTDIR/plugins" \
- "include($$MODULE_PRI)"
+ "include($$MODULE_PRI)" \
+ $$MODULE_FWD_PRI_CONT_SUFFIX
write_file($$MODULE_FWD_PRI, MODULE_FWD_PRI_CONT)|error("Aborting.")
touch($$MODULE_FWD_PRI, $$MODULE_PRI)
MODULE_PRI_FILES += $$MODULE_FWD_PRI