diff options
-rwxr-xr-x | configure | 44 | ||||
-rw-r--r-- | header.LGPL3 | 28 | ||||
-rw-r--r-- | src/android/jar/src/org/qtproject/qt5/android/ExtractStyle.java | 3 | ||||
-rw-r--r-- | src/plugins/platforms/android/android.pro | 4 | ||||
-rw-r--r-- | src/plugins/platforms/android/extract-dummy.cpp | 55 | ||||
-rw-r--r-- | src/plugins/platforms/android/extract.cpp | 21 | ||||
-rw-r--r-- | tools/configure/configureapp.cpp | 23 |
7 files changed, 154 insertions, 24 deletions
@@ -627,6 +627,7 @@ CFG_PPS=auto CFG_QNX_IMF=auto CFG_LGMON=auto CFG_SYSTEM_PROXIES=no +CFG_ANDROID_STYLE_ASSETS=yes # Target architecture CFG_ARCH= @@ -2144,6 +2145,13 @@ while [ "$#" -gt 0 ]; do android-toolchain-version) CFG_DEFAULT_ANDROID_NDK_TOOLCHAIN_VERSION="$VAL" ;; + android-style-assets) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + CFG_ANDROID_STYLE_ASSETS="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; l*) # -lfoo if [ "$VAL" = "yes" ]; then L_FLAGS="$L_FLAGS -l\"${VAR#l}\"" @@ -2565,6 +2573,14 @@ Android options: -android-toolchain-version ..... Sets the android toolchain version (default $CFG_DEFAULT_ANDROID_NDK_TOOLCHAIN_VERSION) + + -no-android-style-assets ....... Do not compile in the code which automatically extracts + style assets from the run-time device. Setting this will + make the Android style behave incorrectly, but will enable + compatibility with the LGPL2.1 license. + * -android-style-assets .......... Compile the code which automatically extracts style assets + from the run-time device. This option will make the + Android platform plugin incompatible with the LGPL2.1. EOF exit 0 @@ -2826,11 +2842,20 @@ fi if [ "$Edition" = "OpenSource" ]; then while true; do - echo "You are licensed to use this software under the terms of" - echo "the Lesser GNU General Public License (LGPL) versions 2.1." - echo "You are also licensed to use this software under the terms of" - echo "the GNU Lesser General Public License (LGPL) versions 3." - affix="either" + if [ "$CFG_ANDROID_STYLE_ASSETS" = "no" ] || [ "$XPLATFORM_ANDROID" = "no" ]; then + echo "You are licensed to use this software under the terms of" + echo "the Lesser GNU General Public License (LGPL) versions 2.1." + echo "You are also licensed to use this software under the terms of" + echo "the GNU Lesser General Public License (LGPL) versions 3." + affix="either" + showLGPL2="yes" + else + echo "You are licensed to use this software under the terms of" + echo "the GNU Lesser General Public License (LGPL) versions 3." + showLGPL2="no" + affix="the" + fi + echo if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then echo "You have already accepted the terms of the $EditionString license." @@ -2839,7 +2864,9 @@ if [ "$Edition" = "OpenSource" ]; then if [ -f "$relpath/LICENSE.LGPLv3" ]; then echo "Type '3' to view the GNU Lesser General Public License version 3." fi - echo "Type 'L' to view the Lesser GNU General Public License version 2.1." + if [ "$showLGPL2" = "yes" ]; then + echo "Type 'L' to view the Lesser GNU General Public License version 2.1." + fi echo "Type 'yes' to accept this license offer." echo "Type 'no' to decline this license offer." echo @@ -2855,7 +2882,7 @@ if [ "$Edition" = "OpenSource" ]; then exit 1 elif [ "$acceptance" = "3" ]; then more "$relpath/LICENSE.LGPLv3" - elif [ "$acceptance" = "L" ]; then + elif [ "$acceptance" = "L" ] && [ "$showLGPL2" = "yes" ]; then more "$relpath/LICENSE.LGPLv21" fi done @@ -3167,6 +3194,9 @@ if [ "$XPLATFORM_ANDROID" = "yes" ] ; then esac QMAKE_CONF_COMPILER=$CFG_DEFAULT_ANDROID_NDK_ROOT/toolchains/$ANDROID_NDK_TOOLS_PREFIX-$CFG_DEFAULT_ANDROID_NDK_TOOLCHAIN_VERSION/prebuilt/$CFG_DEFAULT_ANDROID_NDK_HOST/bin/$ANDROID_NDK_TOOLS_PREFIX-g++ TEST_COMPILER="$QMAKE_CONF_COMPILER --sysroot=$CFG_DEFAULT_ANDROID_NDK_ROOT/platforms/$CFG_DEFAULT_ANDROID_PLATFORM/$ANDROID_PLATFORM_ARCH/" + if [ "$CFG_ANDROID_STYLE_ASSETS" = "yes" ]; then + QMAKE_CONFIG="$QMAKE_CONFIG android-style-assets" + fi fi if [ "$XPLATFORM_SYMBIAN_SBSV2" = "no" ]; then diff --git a/header.LGPL3 b/header.LGPL3 new file mode 100644 index 0000000000..d58f2fe2b2 --- /dev/null +++ b/header.LGPL3 @@ -0,0 +1,28 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the FOO module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** 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 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + diff --git a/src/android/jar/src/org/qtproject/qt5/android/ExtractStyle.java b/src/android/jar/src/org/qtproject/qt5/android/ExtractStyle.java index 06b3dab0df..0eda08c9d9 100644 --- a/src/android/jar/src/org/qtproject/qt5/android/ExtractStyle.java +++ b/src/android/jar/src/org/qtproject/qt5/android/ExtractStyle.java @@ -761,6 +761,9 @@ public class ExtractStyle { private JSONObject getJsonChunkInfo(int[] chunkData) throws JSONException { JSONObject jsonRect = new JSONObject(); + if (chunkData == null) + return jsonRect; + jsonRect.put("xdivs", getJsonArray(chunkData, 3, chunkData[0])); jsonRect.put("ydivs", getJsonArray(chunkData, 3 + chunkData[0], chunkData[1])); jsonRect.put("colors", getJsonArray(chunkData, 3 + chunkData[0] + chunkData[1], chunkData[2])); diff --git a/src/plugins/platforms/android/android.pro b/src/plugins/platforms/android/android.pro index ffbad08c10..f55bc40a55 100644 --- a/src/plugins/platforms/android/android.pro +++ b/src/plugins/platforms/android/android.pro @@ -50,7 +50,6 @@ SOURCES += $$PWD/androidplatformplugin.cpp \ $$PWD/qandroidplatformbackingstore.cpp \ $$PWD/qandroidplatformopenglcontext.cpp \ $$PWD/qandroidplatformforeignwindow.cpp \ - $$PWD/extract.cpp \ $$PWD/qandroideventdispatcher.cpp HEADERS += $$PWD/qandroidplatformintegration.h \ @@ -80,6 +79,9 @@ HEADERS += $$PWD/qandroidplatformintegration.h \ $$PWD/qandroidplatformforeignwindow.h \ $$PWD/qandroideventdispatcher.h +android-style-assets: SOURCES += $$PWD/extract.cpp +else: SOURCES += $$PWD/extract-dummy.cpp + #Non-standard install directory, QTBUG-29859 DESTDIR = $$DESTDIR/android target.path = $${target.path}/android diff --git a/src/plugins/platforms/android/extract-dummy.cpp b/src/plugins/platforms/android/extract-dummy.cpp new file mode 100644 index 0000000000..86ac554531 --- /dev/null +++ b/src/plugins/platforms/android/extract-dummy.cpp @@ -0,0 +1,55 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the plugins of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL21$ +** 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 or version 3 as published by the Free +** Software Foundation and appearing in the file LICENSE.LGPLv21 and +** LICENSE.LGPLv3 included in the packaging of this file. Please review the +** following information to ensure the GNU Lesser General Public License +** requirements will be met: https://www.gnu.org/licenses/lgpl.html and +** 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. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include <jni.h> +#include <extract.h> + +extern "C" JNIEXPORT jintArray JNICALL Java_org_qtproject_qt5_android_ExtractStyle_extractNativeChunkInfo(JNIEnv *, jobject, Res_png_9patch*) +{ + return 0; +} + +extern "C" JNIEXPORT jintArray JNICALL Java_org_qtproject_qt5_android_ExtractStyle_extractChunkInfo(JNIEnv *, jobject, jbyteArray) +{ + return 0; +} + +extern "C" JNIEXPORT jintArray JNICALL Java_org_qtproject_qt5_android_ExtractStyle_extractNativeChunkInfo20(JNIEnv *, jobject, long) +{ + return 0; +} + +extern "C" JNIEXPORT jintArray JNICALL Java_org_qtproject_qt5_android_ExtractStyle_extractChunkInfo20(JNIEnv *, jobject, jbyteArray) +{ + return 0; +} diff --git a/src/plugins/platforms/android/extract.cpp b/src/plugins/platforms/android/extract.cpp index b778264573..15a48d2601 100644 --- a/src/plugins/platforms/android/extract.cpp +++ b/src/plugins/platforms/android/extract.cpp @@ -5,27 +5,22 @@ ** ** This file is part of the plugins of the Qt Toolkit. ** -** $QT_BEGIN_LICENSE:LGPL21$ +** $QT_BEGIN_LICENSE:LGPL3$ ** 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 +** 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 or version 3 as published by the Free -** Software Foundation and appearing in the file LICENSE.LGPLv21 and -** LICENSE.LGPLv3 included in the packaging of this file. Please review the -** following information to ensure the GNU Lesser General Public License -** requirements will be met: https://www.gnu.org/licenses/lgpl.html and -** 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. +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. ** ** $QT_END_LICENSE$ ** diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp index be692f98c2..99ecc7b2de 100644 --- a/tools/configure/configureapp.cpp +++ b/tools/configure/configureapp.cpp @@ -1331,6 +1331,12 @@ void Configure::parseCmdLine() dictionary[ "ANDROID_NDK_TOOLCHAIN_VERSION" ] = configCmdLine.at(i); } + else if (configCmdLine.at(i) == "-no-android-style-assets") { + dictionary[ "ANDROID_STYLE_ASSETS" ] = "no"; + } else if (configCmdLine.at(i) == "-android-style-assets") { + dictionary[ "ANDROID_STYLE_ASSETS" ] = "yes"; + } + else { dictionary[ "DONE" ] = "error"; cout << "Unknown option " << configCmdLine.at(i) << endl; @@ -1693,6 +1699,7 @@ void Configure::applySpecSpecifics() dictionary[ "REDUCE_RELOCATIONS" ] = "yes"; dictionary[ "QT_GETIFADDRS" ] = "no"; dictionary[ "QT_XKBCOMMON" ] = "no"; + dictionary["ANDROID_STYLE_ASSETS"] = "yes"; } } @@ -3355,6 +3362,9 @@ void Configure::generateQConfigPri() if (dictionary["DIRECTWRITE"] == "yes") configStream << " directwrite"; + if (dictionary["ANDROID_STYLE_ASSETS"] == "yes") + configStream << " android-style-assets"; + // ### For compatibility only, should be removed later. configStream << " qpa"; @@ -4219,11 +4229,17 @@ bool Configure::showLicense(QString orgLicenseFile) return true; } + bool showLgpl2 = true; QString licenseFile = orgLicenseFile; QString theLicense; if (dictionary["EDITION"] == "OpenSource" || dictionary["EDITION"] == "Snapshot") { - theLicense = "GNU Lesser General Public License (LGPL) version 2.1" - "\nor the GNU Lesser General Public License (LGPL) version 3"; + if (platform() != ANDROID || dictionary["ANDROID_STYLE_ASSETS"] == "no") { + theLicense = "GNU Lesser General Public License (LGPL) version 2.1" + "\nor the GNU Lesser General Public License (LGPL) version 3"; + } else { + theLicense = "GNU Lesser General Public License (LGPL) version 3"; + showLgpl2 = false; + } } else { // the first line of the license file tells us which license it is QFile file(licenseFile); @@ -4241,7 +4257,8 @@ bool Configure::showLicense(QString orgLicenseFile) << endl; if (dictionary["EDITION"] == "OpenSource" || dictionary["EDITION"] == "Snapshot") { cout << "Type '3' to view the Lesser GNU General Public License version 3 (LGPLv3)." << endl; - cout << "Type 'L' to view the Lesser GNU General Public License version 2.1 (LGPLv2.1)." << endl; + if (showLgpl2) + cout << "Type 'L' to view the Lesser GNU General Public License version 2.1 (LGPLv2.1)." << endl; } else { cout << "Type '?' to view the " << theLicense << "." << endl; } |