diff options
author | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2013-04-03 14:40:25 +0200 |
---|---|---|
committer | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2013-04-03 14:40:26 +0200 |
commit | 814f713f01a459b48b12a3695fb1242b7d687662 (patch) | |
tree | 571598012909d82d15aca670cd9be22823596ad6 /mkspecs | |
parent | 52ebf1f1914cea563b52baffc607407dbc6a7313 (diff) | |
parent | 448c3e85dddbfc5c101aceeeceb8584a3d41c913 (diff) |
Merge remote-tracking branch 'origin/stable' into dev
Change-Id: Id96d4076610366a7cc66c8d8382ca25c33eaa71d
Diffstat (limited to 'mkspecs')
-rw-r--r-- | mkspecs/common/shell-win32.conf | 4 | ||||
-rw-r--r-- | mkspecs/features/data/android/dx.bat | 102 | ||||
-rw-r--r-- | mkspecs/features/java.prf | 8 | ||||
-rw-r--r-- | mkspecs/features/qt_docs.prf | 4 | ||||
-rw-r--r-- | mkspecs/features/qt_module.prf | 2 |
5 files changed, 116 insertions, 4 deletions
diff --git a/mkspecs/common/shell-win32.conf b/mkspecs/common/shell-win32.conf index a4b813cf7d..131aa746c4 100644 --- a/mkspecs/common/shell-win32.conf +++ b/mkspecs/common/shell-win32.conf @@ -9,6 +9,8 @@ QMAKE_CHK_EXISTS = if not exist %1 QMAKE_CHK_DIR_EXISTS = if not exist # legacy QMAKE_MKDIR = mkdir # legacy QMAKE_MKDIR_CMD = if not exist %1 mkdir %1 & if not exist %1 exit 1 - +# Ugly hack to support cross-building for unix (android). +QMAKE_SYMBOLIC_LINK = $$QMAKE_COPY +QMAKE_LN_SHLIB = $$QMAKE_SYMBOLIC_LINK # xcopy copies the contained files if source is a directory. Deal with it. CONFIG += copy_dir_files diff --git a/mkspecs/features/data/android/dx.bat b/mkspecs/features/data/android/dx.bat new file mode 100644 index 0000000000..a60a1b4cbe --- /dev/null +++ b/mkspecs/features/data/android/dx.bat @@ -0,0 +1,102 @@ +@echo off +REM Copyright (C) 2007 The Android Open Source Project +REM +REM Licensed under the Apache License, Version 2.0 (the "License"); +REM you may not use this file except in compliance with the License. +REM You may obtain a copy of the License at +REM +REM http://www.apache.org/licenses/LICENSE-2.0 +REM +REM Unless required by applicable law or agreed to in writing, software +REM distributed under the License is distributed on an "AS IS" BASIS, +REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +REM See the License for the specific language governing permissions and +REM limitations under the License. + +REM If/when Google merge: +REM https://android-review.googlesource.com/#/c/52680/ +REM this file will become redundant. + +REM don't modify the caller's environment +setlocal + +REM Locate dx.jar in the directory where dx.bat was found and start it. + +REM Set up prog to be the path of this script, including following symlinks, +REM and set up progdir to be the fully-qualified pathname of its directory. +set prog=%~f0 + +if [%1]==[] goto badArgs +set "androidsdk=%1" +shift /1 + +if [%1]==[] goto badArgs + +rem Check we have a valid Java.exe in the path. +set java_exe= +call "%androidsdk%\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=%androidsdk%\lib" + +if exist "%frameworkdir%\%jarfile%" goto JarFileOk + set "frameworkdir=%androidsdk%\framework" + +:JarFileOk + +set jarpath=%frameworkdir%\%jarfile% + +set javaOpts= +set args= + +REM By default, give dx a max heap size of 1 gig and a stack size of 1meg. +rem This can be overridden by using "-JXmx..." and "-JXss..." options below. +set defaultXmx=-Xmx1024M +set defaultXss=-Xss1m + +REM Capture all arguments that are not -J options. +REM Note that when reading the input arguments with %1, the cmd.exe +REM automagically converts --name=value arguments into 2 arguments "--name" +REM followed by "value". Dx has been changed to know how to deal with that. +set params= + +:firstArg +if [%1]==[] goto endArgs +set a=%~1 + + if [%defaultXmx%]==[] goto notXmx + if %a:~0,5% NEQ -JXmx goto notXmx + set defaultXmx= + :notXmx + + if [%defaultXss%]==[] goto notXss + if %a:~0,5% NEQ -JXss goto notXss + set defaultXss= + :notXss + + if %a:~0,2% NEQ -J goto notJ + set javaOpts=%javaOpts% -%a:~2% + shift /1 + goto firstArg + + :notJ + set params=%params% %1 + shift /1 + goto firstArg + +: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 + diff --git a/mkspecs/features/java.prf b/mkspecs/features/java.prf index 05350db48d..6cbd690c37 100644 --- a/mkspecs/features/java.prf +++ b/mkspecs/features/java.prf @@ -29,7 +29,7 @@ CONFIG += plugin no_plugin_name_prefix javac.input = JAVASOURCES javac.output = $$CLASS_DIR javac.CONFIG += combine -javac.commands = javac -source 6 -target 6 -cp $$shell_quote($$join(JAVACLASSPATH, ":")) -d $$shell_quote($$CLASS_DIR) ${QMAKE_FILE_IN} +javac.commands = javac -source 6 -target 6 -cp $$shell_quote($$shell_path($$join(JAVACLASSPATH, $$QMAKE_DIRLIST_SEP))) -d $$shell_quote($$CLASS_DIR) ${QMAKE_FILE_IN} # Force rebuild every time, because we don't know the paths of the destination files # as they depend on the code. javac.depends = FORCE @@ -50,7 +50,11 @@ QMAKE_EXTENSION_SHLIB = jar # Override linker with dex (for Android) or jar (for other java builds) android { QMAKE_LINK_O_FLAG = --output= - QMAKE_LINK = $$SDK_ROOT/platform-tools/dx --dex + contains(QMAKE_HOST.os, Windows) { + QMAKE_LINK = $$PWD/data/android/dx $$SDK_ROOT --dex + } else { + QMAKE_LINK = $$SDK_ROOT/platform-tools/dx --dex + } } else { QMAKE_LINK_O_FLAG = "cf " QMAKE_LINK = jar diff --git a/mkspecs/features/qt_docs.prf b/mkspecs/features/qt_docs.prf index c80efb03e0..5b42cfcac8 100644 --- a/mkspecs/features/qt_docs.prf +++ b/mkspecs/features/qt_docs.prf @@ -32,7 +32,9 @@ qtmver.name = QT_VER qtmver.value = $$replace(qtver.value, ^(\\d+\\.\\d+).*$, \\1) qtvertag.name = QT_VERSION_TAG qtvertag.value = $$replace(qtver.value, \.,) -qtAddToolEnv(QDOC, qtver qtmver qtvertag) +qtdocs.name = QT_INSTALL_DOCS +qtdocs.value = $$[QT_INSTALL_DOCS/get] +qtAddToolEnv(QDOC, qtver qtmver qtvertag qtdocs) doc_command = $$QDOC $$QMAKE_DOCS prepare_docs { prepare_docs.commands += $$doc_command -prepare -no-link-errors diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf index cfafa15629..3531d28b42 100644 --- a/mkspecs/features/qt_module.prf +++ b/mkspecs/features/qt_module.prf @@ -35,6 +35,8 @@ host_build { QT -= core core-private xml QT += bootstrap-private } + } else { + !build_pass:contains(QT_CONFIG, build_all): CONFIG += release } } |