From c599e7db7e180f35f3e068b5a2af9ceba9f1afb1 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Mon, 21 Mar 2016 10:08:02 +0100 Subject: win32-icc: Make it possible to rename the ANGLE libraries. Adapt the mkspec which was forgotten in change b0ec05f27bff6065c97e6e4a0f1606da7472d18c. Task-number: QTBUG-48431 Task-number: QTBUG-51686 Change-Id: Ie95e650de8b7a7027979ec637fb77c7f0357a598 Reviewed-by: Oliver Wolff Reviewed-by: Oswald Buddenhagen --- mkspecs/win32-icc/qmake.conf | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'mkspecs') diff --git a/mkspecs/win32-icc/qmake.conf b/mkspecs/win32-icc/qmake.conf index 3b440d143f..9fa2fb88a1 100644 --- a/mkspecs/win32-icc/qmake.conf +++ b/mkspecs/win32-icc/qmake.conf @@ -4,6 +4,8 @@ # Written for Intel C++ # +include(../common/angle.conf) + MAKEFILE_GENERATOR = MSVC.NET QMAKE_PLATFORM = win32 CONFIG += incremental flat debug_and_release debug_and_release_target @@ -80,6 +82,8 @@ QMAKE_LIBS_CORE = kernel32.lib user32.lib shell32.lib uuid.lib ole32.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 delayimp.lib +QMAKE_LIBS_OPENGL_ES2 = $${LIBEGL_NAME}.lib $${LIBGLESV2_NAME}.lib gdi32.lib user32.lib +QMAKE_LIBS_OPENGL_ES2_DEBUG = $${LIBEGL_NAME}d.lib $${LIBGLESV2_NAME}d.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 -- cgit v1.2.3 From 47c7ae25c6c6fccf00c027c0fcb2dab11e686c2b Mon Sep 17 00:00:00 2001 From: Rolland Dudemaine Date: Thu, 29 Oct 2015 15:59:48 +0100 Subject: Add INTEGRITY Framebuffer-based plugin as a platform plugin. The plugin builds as a static plugin. It is based on the Linuxfb plugin. It uses the INTEGRITY FB API for framebuffer for display, and HID API for input (mouse, keyboard, touch). Because this is the only supported plugin and requires to be included as a static plugin, automatically add the platform to any application through qmake.conf. Change-Id: Ic228afb59cb39dd02c2d538de46caf6e6ea7d153 Reviewed-by: Oswald Buddenhagen Reviewed-by: Andy Nichols --- mkspecs/integrity-armv7/qmake.conf | 2 ++ mkspecs/integrity-x86/qmake.conf | 2 ++ 2 files changed, 4 insertions(+) (limited to 'mkspecs') diff --git a/mkspecs/integrity-armv7/qmake.conf b/mkspecs/integrity-armv7/qmake.conf index c2d850b8b4..0cac2ebdc0 100644 --- a/mkspecs/integrity-armv7/qmake.conf +++ b/mkspecs/integrity-armv7/qmake.conf @@ -6,3 +6,5 @@ include(../common/ghs-integrity-armv7.conf) DEFINES += QT_NO_CLIPBOARD DEFINES += QT_STATICPLUGIN + +QTPLUGIN.platforms += integrityfb diff --git a/mkspecs/integrity-x86/qmake.conf b/mkspecs/integrity-x86/qmake.conf index e70b54652a..4a5cfcc49d 100644 --- a/mkspecs/integrity-x86/qmake.conf +++ b/mkspecs/integrity-x86/qmake.conf @@ -7,3 +7,5 @@ include(../common/ghs-integrity-x86.conf) QMAKE_CFLAGS += -cpu=Corei DEFINES += QT_NO_CLIPBOARD DEFINES += QT_STATICPLUGIN + +QTPLUGIN.platforms += integrityfb -- cgit v1.2.3 From 4d838e31a90c886044a1e9638e827d543c08c90b Mon Sep 17 00:00:00 2001 From: Rolland Dudemaine Date: Fri, 11 Mar 2016 14:55:52 +0100 Subject: Add support for INTEGRITY with eglfs-viv. Change-Id: Ief53608d84d8c4a773b79cfe227c3ea425f677cf Reviewed-by: Oswald Buddenhagen Reviewed-by: Andy Nichols --- mkspecs/integrity-armv7-imx6/qmake.conf | 25 ++++++++++++++++++ mkspecs/integrity-armv7-imx6/qplatformdefs.h | 39 ++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+) create mode 100644 mkspecs/integrity-armv7-imx6/qmake.conf create mode 100644 mkspecs/integrity-armv7-imx6/qplatformdefs.h (limited to 'mkspecs') diff --git a/mkspecs/integrity-armv7-imx6/qmake.conf b/mkspecs/integrity-armv7-imx6/qmake.conf new file mode 100644 index 0000000000..7a1ee461f2 --- /dev/null +++ b/mkspecs/integrity-armv7-imx6/qmake.conf @@ -0,0 +1,25 @@ +# +# qmake configuration for INTEGRITY armv7 targets +# + +include(../common/ghs-integrity-armv7.conf) + +DEFINES += QT_NO_CLIPBOARD +DEFINES += QT_STATICPLUGIN + +QTPLUGIN.platforms += qeglfs qeglfs-viv-integration +QT_QPA_DEFAULT_PLATFORM = eglfs + +QMAKE_LIBS_EGL += -lEGL -lGAL -lVSC -lGLSLC -lGLESv2 -lfbdev -livfs +QMAKE_LIBS_OPENGL_ES2 += -lGLESv2 -lEGL -lGAL -lVSC -lGLSLC -lfbdev -livfs + +QMAKE_CFLAGS += -DINTEGRITY +QMAKE_CXXFLAGS += -DINTEGRITY + +EGLFS_DEVICE_INTEGRATION = eglfs_viv + +# OpenGL libraries have a dependency on libEGL +QMAKE_INCDIR_EGL = $$(GL_INC_DIR) +QMAKE_LIBDIR_EGL = $$(GL_LIB_DIR) +QMAKE_INCDIR_OPENGL_ES2 = $$(GL_INC_DIR) +QMAKE_LIBDIR_OPENGL_ES2 = $$(GL_LIB_DIR) diff --git a/mkspecs/integrity-armv7-imx6/qplatformdefs.h b/mkspecs/integrity-armv7-imx6/qplatformdefs.h new file mode 100644 index 0000000000..55afd0c3c7 --- /dev/null +++ b/mkspecs/integrity-armv7-imx6/qplatformdefs.h @@ -0,0 +1,39 @@ +/**************************************************************************** +** +** Copyright (C) 2015 Green Hills Software. All rights reserved. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the qmake spec 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 The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/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. +** +** As a special exception, The Qt Company gives you certain additional +** rights. These rights are described in The Qt Company LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QPLATFORMDEFS_H +#define QPLATFORMDEFS_H + +#include "../common/integrity/qplatformdefs.h" + +#endif // QPLATFORMDEFS_H -- cgit v1.2.3 From 7565b734342facf9a848aced2d8f2a006a99f5a0 Mon Sep 17 00:00:00 2001 From: Maurice Kalinowski Date: Mon, 21 Mar 2016 14:45:14 +0100 Subject: winrt: Enable windeployqt by default for Visual Studio projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Using Visual Studio a user very seldom wants to disable the automatic invocation of windeployqt. Hence switch from opt-in behavior to opt-out. This also fixes first user experience to invoke qmake –tp vc and then hit run on examples. [ChangeLog][Platform Specific Changes][qmake] qmake-generated Visual Studio projects now automatically invoke windeployqt by default. Task-number: QTBUG-52008 Change-Id: Iee1607269c38c7f6c726f554978ac05477bebe5e Reviewed-by: Oswald Buddenhagen --- mkspecs/features/winrt/default_pre.prf | 2 ++ 1 file changed, 2 insertions(+) (limited to 'mkspecs') diff --git a/mkspecs/features/winrt/default_pre.prf b/mkspecs/features/winrt/default_pre.prf index 44e3c94b8a..8299950d8b 100644 --- a/mkspecs/features/winrt/default_pre.prf +++ b/mkspecs/features/winrt/default_pre.prf @@ -9,4 +9,6 @@ QMAKE_LIBS = ucrt.lib $$QMAKE_LIBS } +equals(TEMPLATE, "vcapp"): CONFIG += windeployqt + load(default_pre) -- cgit v1.2.3 From 6be6d3bc1973f87e87936d6770c62cbda6193fbd Mon Sep 17 00:00:00 2001 From: Rolland Dudemaine Date: Wed, 23 Mar 2016 11:17:13 +0100 Subject: Build SQLite including the platform header for INTEGRITY. The platform header defines geteuid(), which is necessary for the SQLite library. The common platform header is also modified to handle being included from C, and resolves a typo on the way. Change-Id: I8ace8a11ceac0f541b9c9b0d8112609579224884 Reviewed-by: Oswald Buddenhagen Reviewed-by: Thiago Macieira --- mkspecs/common/integrity/qplatformdefs.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'mkspecs') diff --git a/mkspecs/common/integrity/qplatformdefs.h b/mkspecs/common/integrity/qplatformdefs.h index c4cd5c0782..91ec1cde12 100644 --- a/mkspecs/common/integrity/qplatformdefs.h +++ b/mkspecs/common/integrity/qplatformdefs.h @@ -75,7 +75,7 @@ // INTEGRITY doesn't have getpagesize() inline int getpagesize() { - return ::sysconf(_SC_PAGESIZE); + return sysconf(_SC_PAGESIZE); } // geteuid() is only available with multi-process posix, but we do not want @@ -97,4 +97,4 @@ inline uid_t getuid(void) #define QT_OPEN_LARGEFILE 0 #define PATH_MAX 1024 -#endif // Q_QNX_PLATFORMDEFS_H +#endif // Q_INTEGRITY_PLATFORMDEFS_H -- cgit v1.2.3 From f7cdb0abdb96bd81cca3898316e9867fbac758b3 Mon Sep 17 00:00:00 2001 From: Laszlo Agocs Date: Wed, 30 Mar 2016 07:56:20 +0200 Subject: Add some clarifying notes to the TK1 device specs Describe the platforms better because right now the only difference is the "pro" tag which is easy to miss. Change-Id: Ia3e31ed97799bf7f8b76ee3d0bb95c7ded7692db Reviewed-by: Andreas Holzammer --- mkspecs/devices/linux-jetson-tk1-g++/qmake.conf | 4 +++- mkspecs/devices/linux-jetson-tk1-pro-g++/qmake.conf | 5 ++++- 2 files changed, 7 insertions(+), 2 deletions(-) (limited to 'mkspecs') diff --git a/mkspecs/devices/linux-jetson-tk1-g++/qmake.conf b/mkspecs/devices/linux-jetson-tk1-g++/qmake.conf index 23957fe3ce..606ba9eca0 100644 --- a/mkspecs/devices/linux-jetson-tk1-g++/qmake.conf +++ b/mkspecs/devices/linux-jetson-tk1-g++/qmake.conf @@ -1,5 +1,7 @@ # -# qmake configuration for the Jetson TK1 boards +# qmake configuration for the Jetson TK1 boards running Linux For Tegra +# +# Note that this environment has been tested with X11 only. # # A typical configure line might look like: # configure \ diff --git a/mkspecs/devices/linux-jetson-tk1-pro-g++/qmake.conf b/mkspecs/devices/linux-jetson-tk1-pro-g++/qmake.conf index ca9ebda087..31aacad99f 100644 --- a/mkspecs/devices/linux-jetson-tk1-pro-g++/qmake.conf +++ b/mkspecs/devices/linux-jetson-tk1-pro-g++/qmake.conf @@ -1,5 +1,8 @@ # -# qmake configuration for the Jetson TK1 Pro boards +# qmake configuration for the Jetson TK1 Pro boards running Vibrante Linux +# +# This environment supports eglfs (via DRM, EGLDevice, and EGLStream), +# Wayland (requires an EGLStream-capable compositor), and X11 (untested). # # A typical configure line might look like: # configure \ -- cgit v1.2.3 From 91f8c9cc70bbfb752811cd29945fb37ff863d524 Mon Sep 17 00:00:00 2001 From: Eirik Aavitsland Date: Fri, 18 Mar 2016 10:49:43 +0100 Subject: Remove the traces of the discontinued android-no-sdk platform Cleaning out the workarounds for the discontinued "Embedded Android" platform of Boot2Qt. Change-Id: I0ff9d770e82a43457fb7e5da0428f4597ead4038 Reviewed-by: Eskil Abrahamsen Blomfeldt Reviewed-by: Oswald Buddenhagen --- .../android/android_deployment_settings.prf | 2 +- .../android-g++/qeglfshooks_surfaceflinger.cpp | 156 ------------------ mkspecs/unsupported/android-g++/qmake.conf | 183 --------------------- mkspecs/unsupported/android-g++/qplatformdefs.h | 40 ----- 4 files changed, 1 insertion(+), 380 deletions(-) delete mode 100644 mkspecs/unsupported/android-g++/qeglfshooks_surfaceflinger.cpp delete mode 100644 mkspecs/unsupported/android-g++/qmake.conf delete mode 100644 mkspecs/unsupported/android-g++/qplatformdefs.h (limited to 'mkspecs') diff --git a/mkspecs/features/android/android_deployment_settings.prf b/mkspecs/features/android/android_deployment_settings.prf index 54d887d088..ce5696a33c 100644 --- a/mkspecs/features/android/android_deployment_settings.prf +++ b/mkspecs/features/android/android_deployment_settings.prf @@ -1,4 +1,4 @@ -contains(TEMPLATE, ".*app"):!build_pass:!android-no-sdk { +contains(TEMPLATE, ".*app"):!build_pass: { defineReplace(emitString) { return("\"$$replace(1, \\\\, \\\\)\"") diff --git a/mkspecs/unsupported/android-g++/qeglfshooks_surfaceflinger.cpp b/mkspecs/unsupported/android-g++/qeglfshooks_surfaceflinger.cpp deleted file mode 100644 index 3978bbc9e2..0000000000 --- a/mkspecs/unsupported/android-g++/qeglfshooks_surfaceflinger.cpp +++ /dev/null @@ -1,156 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** 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 The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/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.LGPL3 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-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "qeglfshooks.h" - -#include -#include -#include -#include -#include -#include - -#if Q_ANDROID_VERSION_MAJOR > 4 || (Q_ANDROID_VERSION_MAJOR == 4 && Q_ANDROID_VERSION_MINOR >= 1) -#include -#else -#include -#endif - -using namespace android; - -QT_BEGIN_NAMESPACE - -class QEglFSPandaHooks : public QEglFSHooks -{ -public: - QEglFSPandaHooks(); - virtual EGLNativeWindowType createNativeWindow(QPlatformWindow *window, const QSize &size, const QSurfaceFormat &format); - virtual bool filterConfig(EGLDisplay display, EGLConfig config) const; - virtual const char *fbDeviceName() const { return "/dev/graphics/fb0"; } - -private: - EGLNativeWindowType createNativeWindowSurfaceFlinger(const QSize &size, const QSurfaceFormat &format); - EGLNativeWindowType createNativeWindowFramebuffer(const QSize &size, const QSurfaceFormat &format); - - void ensureFramebufferNativeWindowCreated(); - - // androidy things - sp mSession; - sp mControl; - sp mAndroidSurface; - - sp mFramebufferNativeWindow; - EGLint mFramebufferVisualId; - - bool mUseFramebuffer; -}; - -QEglFSPandaHooks::QEglFSPandaHooks() - : mFramebufferVisualId(EGL_DONT_CARE) -{ - mUseFramebuffer = qgetenv("QT_QPA_EGLFS_NO_SURFACEFLINGER").toInt(); -} - -void QEglFSPandaHooks::ensureFramebufferNativeWindowCreated() -{ - if (mFramebufferNativeWindow.get()) - return; - mFramebufferNativeWindow = new FramebufferNativeWindow(); - framebuffer_device_t const *fbDev = mFramebufferNativeWindow->getDevice(); - if (!fbDev) - qFatal("Failed to get valid FramebufferNativeWindow, no way to create EGL surfaces"); - - ANativeWindow *window = mFramebufferNativeWindow.get(); - - window->query(window, NATIVE_WINDOW_FORMAT, &mFramebufferVisualId); -} - -EGLNativeWindowType QEglFSPandaHooks::createNativeWindow(QPlatformWindow *window, const QSize &size, const QSurfaceFormat &format) -{ - Q_UNUSED(window) - return mUseFramebuffer ? createNativeWindowFramebuffer(size, format) : createNativeWindowSurfaceFlinger(size, format); -} - -EGLNativeWindowType QEglFSPandaHooks::createNativeWindowFramebuffer(const QSize &size, const QSurfaceFormat &) -{ - Q_UNUSED(size); - ensureFramebufferNativeWindowCreated(); - return mFramebufferNativeWindow.get(); -} - -EGLNativeWindowType QEglFSPandaHooks::createNativeWindowSurfaceFlinger(const QSize &size, const QSurfaceFormat &) -{ - Q_UNUSED(size); - - mSession = new SurfaceComposerClient(); - DisplayInfo dinfo; - int status=0; - status = mSession->getDisplayInfo(0, &dinfo); - mControl = mSession->createSurface( - 0, dinfo.w, dinfo.h, PIXEL_FORMAT_RGB_888); - SurfaceComposerClient::openGlobalTransaction(); - mControl->setLayer(0x40000000); -// mControl->setAlpha(1); - SurfaceComposerClient::closeGlobalTransaction(); - mAndroidSurface = mControl->getSurface(); - - EGLNativeWindowType eglWindow = mAndroidSurface.get(); - return eglWindow; -} - -bool QEglFSPandaHooks::filterConfig(EGLDisplay display, EGLConfig config) const -{ - if (!mUseFramebuffer) - return true; - - const_cast(this)->ensureFramebufferNativeWindowCreated(); - - if (mFramebufferVisualId == EGL_DONT_CARE) - return true; - - EGLint nativeVisualId = 0; - eglGetConfigAttrib(display, config, EGL_NATIVE_VISUAL_ID, &nativeVisualId); - - return nativeVisualId == mFramebufferVisualId; -} - -static QEglFSPandaHooks eglFSPandaHooks; -QEglFSHooks *platformHooks = &eglFSPandaHooks; - -QT_END_NAMESPACE diff --git a/mkspecs/unsupported/android-g++/qmake.conf b/mkspecs/unsupported/android-g++/qmake.conf deleted file mode 100644 index e52137d7c5..0000000000 --- a/mkspecs/unsupported/android-g++/qmake.conf +++ /dev/null @@ -1,183 +0,0 @@ -ANDROID_BUILD_TOP=$$(ANDROID_BUILD_TOP) -isEmpty(ANDROID_BUILD_TOP) : error("$ANDROID_BUILD_TOP is empty. Forgot to run 'lunch'?") - -ANDROID_PRODUCT_OUT=$$(ANDROID_PRODUCT_OUT) -isEmpty(ANDROID_PRODUCT_OUT) : error("$ANDROID_PRODUCT_OUT is empty. forgot to run 'lunch'?") - -defineReplace(getAndroidBuildVar) { - thevar = $$1 - r=$$system(cd $$ANDROID_BUILD_TOP && CALLED_FROM_SETUP=true BUILD_SYSTEM=build/core make --no-print-directory -f build/core/config.mk dumpvar-$${thevar}) - return($$r) -} - -# .qmake.cache is not available at mkspec loading time. -# not caching those is horribly slow though - -!exists($$PWD/android_build_vars) { - store_ANDROID_TOOLCHAIN_PREFIX = "ANDROID_TOOLCHAIN_PREFIX=$$getAndroidBuildVar(abs-TARGET_TOOLS_PREFIX)" - store_ANDROID_TARGET_CFLAGS = "ANDROID_TARGET_CFLAGS=$$getAndroidBuildVar(TARGET_GLOBAL_CFLAGS)" - store_ANDROID_TARGET_LDFLAGS = "ANDROID_TARGET_LDFLAGS=$$getAndroidBuildVar(TARGET_GLOBAL_LDFLAGS)" - store_ANDROID_TARGET_ARCH = "ANDROID_TARGET_ARCH=$$getAndroidBuildVar(TARGET_ARCH)" - store_ANDROID_VERSION = "ANDROID_VERSION=$$getAndroidBuildVar(PLATFORM_VERSION)" - - write_file(android_build_vars, store_ANDROID_TOOLCHAIN_PREFIX) - write_file(android_build_vars, store_ANDROID_TARGET_CFLAGS, append) - write_file(android_build_vars, store_ANDROID_TARGET_LDFLAGS, append) - write_file(android_build_vars, store_ANDROID_TARGET_ARCH, append) - write_file(android_build_vars, store_ANDROID_VERSION, append) -} - -info(using android build env from cache in $$PWD/android_build_vars . delete this file if you changed your build env ) -exists($$PWD/android_build_vars) { - include($$PWD/android_build_vars) -} - -ANDROID_VERSION_SPLIT = $$split(ANDROID_VERSION, ".") -ANDROID_VERSION_MAJOR = $$member(ANDROID_VERSION_SPLIT, 0) -ANDROID_VERSION_MINOR = $$member(ANDROID_VERSION_SPLIT, 1) - -MAKEFILE_GENERATOR = UNIX -QMAKE_COMPILER = gcc -TARGET_PLATFORM = unix -TEMPLATE = app -QMAKE_INCREMENTAL_STYLE = sublib - -include(../../common/linux.conf) -include(../../common/gcc-base-unix.conf) - -CONFIG = qt warn_on release link_prl -QT = core gui -DEFINES += HAVE_ANDROID_OS Q_OS_ANDROID_NO_SDK -DEFINES += Q_ANDROID_VERSION_MAJOR=$$ANDROID_VERSION_MAJOR -DEFINES += Q_ANDROID_VERSION_MINOR=$$ANDROID_VERSION_MINOR -DEFINES += QT_NO_PRINTER QT_NO_PRINTDIALOG QT_NO_EXCEPTIONS - -#note: -DANDROID results in weird behaviour of math.h -DEFINES += ANDROID - -QT_QPA_DEFAULT_PLATFORM = eglfs -EGLFS_PLATFORM_HOOKS_SOURCES = $$PWD/qeglfshooks_surfaceflinger.cpp -EGLFS_PLATFORM_HOOKS_LIBS += -lui -lgui -lutils -lcutils - - -QMAKE_CC = $${ANDROID_TOOLCHAIN_PREFIX}gcc - -QMAKE_CFLAGS = $${ANDROID_TARGET_CFLAGS} -QMAKE_CFLAGS -= -Werror=non-virtual-dtor -QMAKE_CFLAGS -= -DNDEBUG - -QMAKE_CFLAGS_WARN_ON = -Wall -Wextra -QMAKE_CFLAGS_WARN_OFF = -Wno-psabi - -QMAKE_CFLAGS_SHLIB = -fPIC -QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses -QMAKE_CFLAGS_THREAD = -D_REENTRANT -QMAKE_CFLAGS_HIDESYMS = - -QMAKE_CXX = $${ANDROID_TOOLCHAIN_PREFIX}g++ -QMAKE_CXXFLAGS = $$QMAKE_CFLAGS -QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON -QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF -QMAKE_CXXFLAGS_RELEASE += $$QMAKE_CFLAGS_RELEASE -QMAKE_CXXFLAGS_DEBUG += $$QMAKE_CFLAGS_DEBUG -QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB -QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC -QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD -QMAKE_CXXFLAGS_HIDESYMS = $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden - -QMAKE_LINK = $$QMAKE_CXX -QMAKE_LINK_SHLIB = $$QMAKE_LINK - -QMAKE_AR = $${ANDROID_TOOLCHAIN_PREFIX}ar cqs -QMAKE_OBJCOPY = $${ANDROID_TOOLCHAIN_PREFIX}objcopy -QMAKE_NM = $${ANDROID_TOOLCHAIN_PREFIX}nm -P -QMAKE_STRIP = $${ANDROID_TOOLCHAIN_PREFIX}strip -QMAKE_RANLIB = $${ANDROID_TOOLCHAIN_PREFIX}ranlib - -QMAKE_INCDIR = $${ANDROID_BUILD_TOP} \ - $${ANDROID_BUILD_TOP}/dalvik/libnativehelper/include/nativehelper \ - $${ANDROID_BUILD_TOP}/bionic \ - $${ANDROID_BUILD_TOP}/bionic/libc/include \ - $${ANDROID_BUILD_TOP}/bionic/libc/kernel/arch-arm \ - $${ANDROID_BUILD_TOP}/bionic/libc/kernel/common \ - $${ANDROID_BUILD_TOP}/bionic/libc/private \ - $${ANDROID_BUILD_TOP}/bionic/libm/include \ - $${ANDROID_BUILD_TOP}/bionic/libm/include/arm \ - $${ANDROID_BUILD_TOP}/bionic/libstdc++/include \ - $${ANDROID_BUILD_TOP}/bionic/libthread_db/include \ - $${ANDROID_BUILD_TOP}/dalvik/libnativehelper/include \ - $${ANDROID_BUILD_TOP}/external/icu4c/common/ \ - $${ANDROID_BUILD_TOP}/external/icu4c/i18n/ \ - $${ANDROID_BUILD_TOP}/external/skia/include \ - $${ANDROID_BUILD_TOP}/external/stlport/stlport \ - $${ANDROID_BUILD_TOP}/frameworks/include \ - $${ANDROID_BUILD_TOP}/frameworks/native/include \ - $${ANDROID_BUILD_TOP}/frameworks/native/include/gui \ - $${ANDROID_BUILD_TOP}/frameworks/native/opengl/include \ - $${ANDROID_BUILD_TOP}/frameworks/base/include \ - $${ANDROID_BUILD_TOP}/frameworks/base/native/include \ - $${ANDROID_BUILD_TOP}/frameworks/base/opengl/include \ - $${ANDROID_BUILD_TOP}/hardware/libhardware/include \ - $${ANDROID_BUILD_TOP}/hardware/libhardware_legacy/include \ - $${ANDROID_BUILD_TOP}/hardware/ril/include \ - $${ANDROID_BUILD_TOP}/system/core/include \ - $${ANDROID_BUILD_TOP}/system/core/include/arch/linux-arm/ \ - $${ANDROID_PRODUCT_OUT}/obj/include - -QMAKE_INCDIR += $${ANDROID_BUILD_TOP}/bionic/libc/arch-$${ANDROID_TARGET_ARCH}/include - -QMAKE_LIBDIR = ${ANDROID_PRODUCT_OUT}/obj/lib -QMAKE_INCDIR_X11 = -QMAKE_LIBDIR_X11 = -QMAKE_INCDIR_OPENGL = -QMAKE_INCDIR_OPENGL_ES2 = -QMAKE_LIBDIR_OPENGL_ES2 = - - -QMAKE_LINK = $$QMAKE_CXX -QMAKE_LINK_SHLIB = $$QMAKE_CXX -QMAKE_LFLAGS = $${ANDROID_TARGET_LDFLAGS} \ - -nostdlib \ - -L${ANDROID_PRODUCT_OUT}/obj/lib \ - -Wl,-rpath-link,${ANDROID_PRODUCT_OUT}/obj/lib - -QMAKE_LFLAGS_PLUGIN = -Wl,-T,${ANDROID_BUILD_TOP}/build/core/armelf.xsc \ - -Wl,-shared,-Bsymbolic - -#apparantly this file is missing from some builds. -#it does work without, but this may change in future. -#QMAKE_LFLAGS_APP = -Wl,-T,${ANDROID_BUILD_TOP}/build/core/armelf.xs \ -QMAKE_LFLAGS_APP = ${ANDROID_PRODUCT_OUT}/obj/lib/crtbegin_dynamic.o \ - ${ANDROID_PRODUCT_OUT}/obj/lib/crtend_android.o - -QMAKE_LFLAGS_SHLIB = -Wl,-T,${ANDROID_BUILD_TOP}/build/core/armelf.xsc \ - -Wl,-shared,-Bsymbolic \ - ${ANDROID_PRODUCT_OUT}/obj/lib/crtbegin_so.o \ - ${ANDROID_PRODUCT_OUT}/obj/lib/crtend_so.o - -QMAKE_LFLAGS_SONAME = -QMAKE_LFLAGS_NOUNDEF = -Wl,--no-undefined -QMAKE_LFLAGS_RPATH = -Wl,-rpath= - - -QMAKE_LIBS = -lstlport -lstdc++ -llog -lz -lm -ldl -lc -lgcc - - -QMAKE_LIBS_X11 = -QMAKE_LIBS_X11SM = -QMAKE_LIBS_QT_THREAD = -QMAKE_LIBS_QT_OPENGL = -QMAKE_LIBS_QTOPIA = -QMAKE_LIBS_THREAD = -QMAKE_LIBS_OPENGL = -QMAKE_LIBS_OPENGL_ES2 = -lEGL -lGLESv2 $$QMAKE_LIBS - -CONFIG += linux-android-9 android-9 linux-android android android-no-sdk android_app - -load(qt_config) - -# we don't support exceptions, but right now this has no effect -# you need to manually delete mkspecs/features/exceptions.prf -CONFIG -= exceptions -CONFIG += exceptions_off - diff --git a/mkspecs/unsupported/android-g++/qplatformdefs.h b/mkspecs/unsupported/android-g++/qplatformdefs.h deleted file mode 100644 index 93757a8e17..0000000000 --- a/mkspecs/unsupported/android-g++/qplatformdefs.h +++ /dev/null @@ -1,40 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** 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 The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/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.LGPL3 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-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "../../common/android/qplatformdefs.h" -- cgit v1.2.3