Move all to deprecated folder.

This commit is contained in:
2016-11-16 21:57:57 +01:00
parent 01738a7684
commit 05de7d6c04
9777 changed files with 0 additions and 0 deletions

View File

@@ -0,0 +1,27 @@
Workaround EGL initialization failure due visual mismatch
Error:
Warning: EGL suggested using X Visual ID 33 (RGB888) for EGL config 28 (RGB444), but this is incompatable
Unable to find an X11 visual which matches EGL config 28
Could not initialize EGL
Aborted
Upstream-Status: Inappropriate [workaround]
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>
diff -Naur qtbase-opensource-src-5.1.1_original/src/platformsupport/eglconvenience/qxlibeglintegration.cpp qtbase-opensource-src-5.1.1/src/platformsupport/eglconvenience/qxlibeglintegration.cpp
--- qtbase-opensource-src-5.1.1_original/src/platformsupport/eglconvenience/qxlibeglintegration.cpp 2013-12-25 19:08:42.163895341 -0800
+++ qtbase-opensource-src-5.1.1/src/platformsupport/eglconvenience/qxlibeglintegration.cpp 2013-12-25 19:09:37.207893799 -0800
@@ -180,5 +180,9 @@
}
qWarning("Unable to find an X11 visual which matches EGL config %d", configId);
+#ifdef ENABLE_MX6_WORKAROUND
+ return (VisualID)33;
+#else
return (VisualID)0;
+#endif
}

View File

@@ -0,0 +1,82 @@
Some EGL headers pull in X11 defines which break eglconvenience
* Adds a missing include to qeglplatformcontext.cpp
* Fix namespace collision on CursorShape, pulled in from X11/X.h
* Do not pass MESA_EGL_NO_X11_HEADERS when xcb is use
* Reorder includes to have the X11-header the last include
[based on patch from Yocto project]
Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>
Updated to fix issue in qeglplatformscreen (reorder includes, see also
http://lists.qt-project.org/pipermail/development/2013-March/010511.html)
Signed-off-by: Marc Andre <marc.andre@netline.ch>
diff -Nuar a/src/platformsupport/eglconvenience/eglconvenience.pri b/src/platformsupport/eglconvenience/eglconvenience.pri
--- a/src/platformsupport/eglconvenience/eglconvenience.pri 2014-08-07 16:53:50.038277168 -0400
+++ b/src/platformsupport/eglconvenience/eglconvenience.pri 2014-08-07 16:54:52.874278651 -0400
@@ -30,8 +30,10 @@
}
}
- # Avoid X11 header collision
- DEFINES += MESA_EGL_NO_X11_HEADERS
+ !contains(QT_CONFIG,xcb) {
+ # Avoid X11 header collision
+ DEFINES += MESA_EGL_NO_X11_HEADERS
+ }
contains(QT_CONFIG,xlib) {
HEADERS += \
diff -Nuar a/src/platformsupport/eglconvenience/qeglplatformcontext.cpp b/src/platformsupport/eglconvenience/qeglplatformcontext.cpp
--- a/src/platformsupport/eglconvenience/qeglplatformcontext.cpp 2014-08-07 16:53:50.038277168 -0400
+++ b/src/platformsupport/eglconvenience/qeglplatformcontext.cpp 2014-08-07 16:56:00.630280249 -0400
@@ -39,6 +39,7 @@
**
****************************************************************************/
+#include <qtextstream.h>
#include "qeglplatformcontext_p.h"
#include "qeglconvenience_p.h"
#include "qeglpbuffer_p.h"
--- a/src/platformsupport/eglconvenience/qeglplatformcursor_p.h 2014-08-07 16:53:50.038277168 -0400
+++ b/src/platformsupport/eglconvenience/qeglplatformcursor_p.h 2014-08-07 16:58:49.014284222 -0400
@@ -42,6 +42,11 @@
#ifndef QEGLPLATFORMCURSOR_H
#define QEGLPLATFORMCURSOR_H
+// avoid namespace collision with X11/X.h
+#ifdef CursorShape
+#undef CursorShape
+#endif
+
#include <qpa/qplatformcursor.h>
#include <qpa/qplatformscreen.h>
--- qt5base-5.5.0.orig/src/platformsupport/eglconvenience/qeglplatformcursor.cpp
+++ qt5base-5.5.0/src/platformsupport/eglconvenience/qeglplatformcursor.cpp
@@ -41,8 +41,8 @@
#include <QtGui/private/qguiapplication_p.h>
-#include "qeglplatformcursor_p.h"
#include "qeglplatformintegration_p.h"
+#include "qeglplatformcursor_p.h"
#include "qeglplatformscreen_p.h"
QT_BEGIN_NAMESPACE
--- qtbase-opensource-src-5.5.0.orig/src/platformsupport/eglconvenience/qeglplatformscreen.cpp 2015-09-01 14:46:57.116883353 +0200
+++ qtbase-opensource-src-5.5.0/src/platformsupport/eglconvenience/qeglplatformscreen.cpp 2015-09-01 14:47:36.560882333 +0200
@@ -31,11 +31,11 @@
**
****************************************************************************/
-#include "qeglplatformscreen_p.h"
-#include "qeglplatformwindow_p.h"
#include <QtGui/qwindow.h>
#include <qpa/qwindowsysteminterface.h>
#include <QtPlatformSupport/private/qopenglcompositor_p.h>
+#include "qeglplatformscreen_p.h"
+#include "qeglplatformwindow_p.h"
QT_BEGIN_NAMESPACE

View File

@@ -0,0 +1,32 @@
From 62ef0d97cfa2ed0142fc69c6e6395a570bea9215 Mon Sep 17 00:00:00 2001
From: Julien Corjon <corjon.j@ecagroup.com>
Date: Tue, 21 Jul 2015 11:59:57 +0200
Subject: [PATCH] forkd - disable eventfd for uClibc <= 0.9.33
eventfd is not implemented in uClibc <= 0.9.33
Upstream-Status : https://bugreports.qt.io/browse/QTBUG-47337
Signed-off-by: Julien Corjon <corjon.j@ecagroup.com>
---
src/3rdparty/forkfd/forkfd.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/3rdparty/forkfd/forkfd.c b/src/3rdparty/forkfd/forkfd.c
index 8d08f40..fa47cdf 100644
--- a/src/3rdparty/forkfd/forkfd.c
+++ b/src/3rdparty/forkfd/forkfd.c
@@ -48,6 +48,10 @@
# if (defined(__GLIBC__) && (__GLIBC__ << 16) + __GLIBC_MINOR__ >= 0x209) || defined(__BIONIC__)
# define HAVE_PIPE2 1
# endif
+# if (defined(__UCLIBC__) && (__UCLIBC_MAJOR__ == 0) && (__UCLIBC_MINOR__ < 9 || (__UCLIBC_MINOR__ == 9 && __UCLIBC_SUBLEVEL__ <= 33)))
+# undef HAVE_EVENTFD
+# undef HAVE_PIPE2
+# endif
#endif
#if _POSIX_VERSION-0 >= 200809L || _XOPEN_VERSION-0 >= 500
--
2.1.0

View File

@@ -0,0 +1,45 @@
From 91c3b111e45dd476aba057836b1b618eacf90f3f Mon Sep 17 00:00:00 2001
From: Julien Corjon <corjon.j@ecagroup.com>
Date: Tue, 21 Jul 2015 09:58:14 +0200
Subject: [PATCH] eglfs - fix rasp-pi header inclusion
eglplateform.h include headers for low level instruction and fail on brcm
headers inclusion
For the brcm presence test we use egl pkg-config file
For the eglfs-plugin compilation we use the egl configuration
Upstream-Status: https://bugreports.qt.io/browse/QTBUG-47339
Signed-off-by: Julien Corjon <corjon.j@ecagroup.com>
---
config.tests/qpa/eglfs-brcm/eglfs-brcm.pro | 2 ++
src/plugins/platforms/eglfs/eglfs-plugin.pro | 1 +
2 files changed, 3 insertions(+)
diff --git a/config.tests/qpa/eglfs-brcm/eglfs-brcm.pro b/config.tests/qpa/eglfs-brcm/eglfs-brcm.pro
index ce16a3a..192a8ad 100644
--- a/config.tests/qpa/eglfs-brcm/eglfs-brcm.pro
+++ b/config.tests/qpa/eglfs-brcm/eglfs-brcm.pro
@@ -1,6 +1,8 @@
SOURCES = eglfs-brcm.cpp
CONFIG -= qt
+CONFIG += link_pkgconfig
+PKGCONFIG += egl
INCLUDEPATH += $$QMAKE_INCDIR_EGL
diff --git a/src/plugins/platforms/eglfs/eglfs-plugin.pro b/src/plugins/platforms/eglfs/eglfs-plugin.pro
index 0f493fd..8479496 100644
--- a/src/plugins/platforms/eglfs/eglfs-plugin.pro
+++ b/src/plugins/platforms/eglfs/eglfs-plugin.pro
@@ -6,6 +6,7 @@ PLUGIN_CLASS_NAME = QEglFSIntegrationPlugin
load(qt_plugin)
QT += platformsupport-private eglfs_device_lib-private
+CONFIG += egl
SOURCES += $$PWD/qeglfsmain.cpp
--
2.1.0

View File

@@ -0,0 +1,109 @@
Fix Qt5 configure script not autodetecting sunxi-mali drivers rendering
in eglfs_mali not being built. The patch also fix compatibility issues
regarding header files only included in the proprietary version.
This will be fixed in Qt 5.6.
ref: https://codereview.qt-project.org/#/c/125837/
Signed-off-by: Daniel Nyström <daniel.nystrom@timeterminal.se>
diff --git a/config.tests/qpa/eglfs-mali-2/eglfs-mali-2.cpp b/config.tests/qpa/eglfs-mali-2/eglfs-mali-2.cpp
new file mode 100644
index 0000000..1914d64
--- /dev/null
+++ b/config.tests/qpa/eglfs-mali-2/eglfs-mali-2.cpp
@@ -0,0 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
+**
+** This file is part of the config.tests 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$
+**
+****************************************************************************/
+
+#include <EGL/egl.h>
+#include <GLES2/gl2.h>
+
+int main(int, char **)
+{
+ EGLDisplay dpy = 0;
+ EGLContext ctx = 0;
+ mali_native_window *w = 0;
+ eglDestroyContext(dpy, ctx);
+ return 0;
+}
diff --git a/config.tests/qpa/eglfs-mali-2/eglfs-mali-2.pro b/config.tests/qpa/eglfs-mali-2/eglfs-mali-2.pro
new file mode 100644
index 0000000..85bcf64
--- /dev/null
+++ b/config.tests/qpa/eglfs-mali-2/eglfs-mali-2.pro
@@ -0,0 +1,5 @@
+SOURCES = eglfs-mali-2.cpp
+
+CONFIG -= qt
+
+LIBS += -lEGL -lGLESv2
diff --git a/configure b/configure
index cea62fb..09781bc 100755
--- a/configure
+++ b/configure
@@ -5624,7 +5624,8 @@ if [ "$CFG_EGLFS" != "no" ]; then
else
CFG_EGLFS_BRCM=no
fi
- if compileTest qpa/eglfs-mali "eglfs-mali"; then
+ if compileTest qpa/eglfs-mali "eglfs-mali" \
+ || compileTest qpa/eglfs-mali-2 "eglfs-mali-2"; then
CFG_EGLFS_MALI=yes
else
CFG_EGLFS_MALI=no
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_mali/qeglfsmaliintegration.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_mali/qeglfsmaliintegration.cpp
index 455d780..43decdf 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_mali/qeglfsmaliintegration.cpp
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_mali/qeglfsmaliintegration.cpp
@@ -32,7 +32,6 @@
****************************************************************************/
#include "qeglfsmaliintegration.h"
-#include <EGL/fbdev_window.h>
#include <unistd.h>
#include <fcntl.h>
@@ -43,6 +42,11 @@
QT_BEGIN_NAMESPACE
+struct fbdev_window {
+ unsigned short width;
+ unsigned short height;
+};
+
void QEglFSMaliIntegration::platformInit()
{
// Keep the non-overridden base class functions based on fb0 working.

View File

@@ -0,0 +1,40 @@
From 8f09897de948cea8861ca95e182f442cf15a339e Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 8 Jun 2015 13:59:25 -0700
Subject: [PATCH] linux-oe-g++: Invert conditional for defining QT_SOCKLEN_T
This helps to make sure that QT_SOCKLEN_T is defined to be 'int'
only when its glibc < 2 and not also for the libraries which may define
it as per standards but are not glibc, e.g. musl
Signed-off-by: Khem Raj <raj.khem@gmail.com>
[Bernd: Downloaded from
https://github.com/meta-qt5/meta-qt5/blob/d9d1d04760430cd0e5edd1764d832860715e7b83/recipes-qt/qt5/qtbase/0014-linux-oe-g-Invert-conditional-for-defining-QT_SOCKLE.patch
and adjusted path.]
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
mkspecs/linux-oe-g++/qplatformdefs.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/mkspecs/linux-oe-g++/qplatformdefs.h b/mkspecs/linux-oe-g++/qplatformdefs.h
index dd12003..8623651 100644
--- a/mkspecs/linux-g++/qplatformdefs.h
+++ b/mkspecs/linux-g++/qplatformdefs.h
@@ -86,10 +86,10 @@
#undef QT_SOCKLEN_T
-#if defined(__GLIBC__) && (__GLIBC__ >= 2)
-#define QT_SOCKLEN_T socklen_t
-#else
+#if defined(__GLIBC__) && (__GLIBC__ < 2)
#define QT_SOCKLEN_T int
+#else
+#define QT_SOCKLEN_T socklen_t
#endif
#if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500)
--
2.1.4

View File

@@ -0,0 +1,277 @@
config BR2_PACKAGE_QT5BASE
bool "qt5base"
select BR2_PACKAGE_ZLIB
select BR2_PACKAGE_PCRE
select BR2_PACKAGE_PCRE_16
select BR2_PACKAGE_PCRE_UTF
help
Qt is a cross-platform application and UI framework for
developers using C++.
This package corresponds to the qt5base module, which
contains the base Qt libraries: QtCore, QtNetwork, QtGui,
QtWidgets, etc.
http://qt.io
if BR2_PACKAGE_QT5BASE
config BR2_PACKAGE_QT5BASE_LICENSE_APPROVED
bool "Approve free license"
help
Select this if you approve one of the available free licenses for the
Qt5 library.
By doing this you will not be asked while the library is compiled.
Please read and understand the license terms before approving this.
LGPL: http://doc.qt.io/qt-5/lgpl.html
See also http://doc.qt.io/qt-5/licensing.html
config BR2_PACKAGE_QT5BASE_CONFIG_FILE
string "Config file"
help
Configure options allow to set which modules are being
compiled or not in Qt, but Qt also provide a more
fine-grained mechanism to configure which features should be
enabled or disabled, through a header file. Examples of such
header files can be found in src/corelib/global/qconfig-*.h
in the Qt sources.
This option allows to set the path of such a configuration
file, which Buildroot will give to Qt at compile time.
config BR2_PACKAGE_QT5BASE_EXAMPLES
bool "Compile and install examples (with code)"
select BR2_PACKAGE_QT5BASE_NETWORK
select BR2_PACKAGE_QT5BASE_XML
help
If unsure, say N.
config BR2_PACKAGE_QT5BASE_NETWORK
def_bool y
config BR2_PACKAGE_QT5BASE_CONCURRENT
bool "concurrent module"
help
This options enables the Qt5Concurrent library.
config BR2_PACKAGE_QT5BASE_SQL
def_bool y
if BR2_PACKAGE_QT5BASE_SQL
config BR2_PACKAGE_QT5BASE_MYSQL
bool "MySQL Plugin"
select BR2_PACKAGE_MYSQL
select BR2_PACKAGE_NCURSES
select BR2_PACKAGE_READLINE
depends on BR2_USE_MMU # mysql
help
Build MySQL plugin
If unsure, say n.
config BR2_PACKAGE_QT5BASE_PSQL
bool "PostgreSQL Plugin"
select BR2_PACKAGE_POSTGRESQL
depends on BR2_USE_MMU # postgresql
depends on !BR2_STATIC_LIBS
help
Build PostgreSQL plugin
If unsure, say n.
comment "PostgreSQL plugin needs a toolchain w/ dynamic library"
depends on BR2_USE_MMU
depends on BR2_STATIC_LIBS
choice
prompt "SQLite 3 support"
default BR2_PACKAGE_QT5BASE_SQLITE_NONE
help
Select SQLite support.
config BR2_PACKAGE_QT5BASE_SQLITE_NONE
bool "No sqlite support"
help
Do not compile any kind of SQLite support.
config BR2_PACKAGE_QT5BASE_SQLITE_QT
bool "Qt SQLite"
help
Use Qt bundled SQLite support.
config BR2_PACKAGE_QT5BASE_SQLITE_SYSTEM
bool "System SQLite"
select BR2_PACKAGE_SQLITE
help
Use system SQLite.
endchoice
endif
config BR2_PACKAGE_QT5BASE_TEST
def_bool y
config BR2_PACKAGE_QT5BASE_XML
def_bool y
config BR2_PACKAGE_QT5BASE_GUI
bool "gui module"
# At least one graphic backend must be enabled, so enable
# linuxfb if nothing is enabled.
select BR2_PACKAGE_QT5BASE_LINUXFB if \
!BR2_PACKAGE_QT5BASE_DIRECTFB && \
!BR2_PACKAGE_QT5BASE_XCB && \
!BR2_PACKAGE_QT5BASE_EGLFS
help
This option enables the Qt5Gui library.
if BR2_PACKAGE_QT5BASE_GUI
config BR2_PACKAGE_QT5BASE_WIDGETS
bool "widgets module"
select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_QT5BASE_XCB
help
This option enables the Qt5Widgets library.
comment "OpenGL support needs an OpenGL-capable backend"
depends on !BR2_PACKAGE_QT5_GL_AVAILABLE
config BR2_PACKAGE_QT5BASE_OPENGL
bool "OpenGL support"
depends on BR2_PACKAGE_QT5_GL_AVAILABLE
help
This option enables OpenGL support.
if BR2_PACKAGE_QT5BASE_OPENGL
choice
prompt "OpenGL API"
help
Select OpenGL API.
config BR2_PACKAGE_QT5BASE_OPENGL_DESKTOP
bool "Desktop OpenGL"
depends on BR2_PACKAGE_HAS_LIBGL
help
Use desktop OpenGL.
config BR2_PACKAGE_QT5BASE_OPENGL_ES2
bool "OpenGL ES 2.0+"
depends on BR2_PACKAGE_HAS_LIBGLES
help
Use OpenGL ES 2.0 and later versions.
endchoice
config BR2_PACKAGE_QT5BASE_OPENGL_LIB
bool "opengl module"
select BR2_PACKAGE_QT5BASE_WIDGETS
help
This option enables the Qt5OpenGL library. This library includes
OpenGL support classes provided to ease porting from Qt 4.x.
endif
config BR2_PACKAGE_QT5BASE_LINUXFB
bool "linuxfb support"
config BR2_PACKAGE_QT5BASE_DIRECTFB
bool "directfb support"
depends on BR2_PACKAGE_DIRECTFB
comment "directfb backend if directb is enabled"
depends on !BR2_PACKAGE_DIRECTFB
config BR2_PACKAGE_QT5BASE_XCB
bool "X.org XCB support"
depends on BR2_PACKAGE_XORG7
select BR2_PACKAGE_XLIB_LIBX11
select BR2_PACKAGE_LIBXCB
select BR2_PACKAGE_XCB_UTIL_IMAGE
select BR2_PACKAGE_XCB_UTIL_KEYSYMS
select BR2_PACKAGE_XCB_UTIL_WM
select BR2_PACKAGE_LIBXKBCOMMON
comment "X.org XCB backend available if X.org is enabled"
depends on !BR2_PACKAGE_XORG7
config BR2_PACKAGE_QT5BASE_EGLFS
bool "eglfs support"
select BR2_PACKAGE_QT5BASE_OPENGL
depends on BR2_PACKAGE_HAS_LIBEGL
depends on BR2_PACKAGE_QT5_GL_AVAILABLE
comment "eglfs backend available if OpenGL and EGL are enabled"
depends on !BR2_PACKAGE_HAS_LIBEGL || !BR2_PACKAGE_QT5_GL_AVAILABLE
config BR2_PACKAGE_QT5BASE_DEFAULT_QPA
string "Default graphical platform"
help
Choose the default platform abstraction to use for graphical
applications (e.g xcb, linuxfb, eglfs, ...). If this is empty, the
default for your architecture will be used (usually this is eglfs).
You can get a list of supported platforms by running a Qt application
with the option "-platform help" on your target. You can choose a
different platform at runtime with the -platform option.
config BR2_PACKAGE_QT5BASE_PRINTSUPPORT
depends on BR2_PACKAGE_QT5BASE_WIDGETS
def_bool y
config BR2_PACKAGE_QT5BASE_FONTCONFIG
bool "fontconfig support"
select BR2_PACKAGE_FONTCONFIG
help
This option enables Fontconfig and Freetype support using
the system fontconfig and freetype2 libraries.
config BR2_PACKAGE_QT5BASE_GIF
bool "GIF support"
help
This compiles and installs the plugin for GIF reading support.
config BR2_PACKAGE_QT5BASE_JPEG
bool "JPEG support"
select BR2_PACKAGE_JPEG
help
This option enables JPEG support using the system libjpeg
library.
config BR2_PACKAGE_QT5BASE_PNG
bool "PNG support"
select BR2_PACKAGE_LIBPNG
help
This option enables PNG support using the system libpng
library.
endif
config BR2_PACKAGE_QT5BASE_DBUS
bool "DBus module"
select BR2_PACKAGE_DBUS
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_USE_MMU
help
This option enables the D-Bus module.
config BR2_PACKAGE_QT5BASE_ICU
bool "Enable ICU support"
select BR2_PACKAGE_ICU
depends on !BR2_BINFMT_FLAT # icu
help
This option enables ICU support in Qt5. This is for example
needed for Qt5Webkit.
config BR2_PACKAGE_QT5BASE_TSLIB
bool "Enable Tslib support"
depends on !BR2_STATIC_LIBS # dlopen
select BR2_PACKAGE_TSLIB
help
This options enables the Tslib plugin
comment "tslib support needs a toolchain w/ dynamic library"
depends on BR2_STATIC_LIBS
endif

View File

@@ -0,0 +1,24 @@
# Qt5 has a mechanism to support "device" profiles, so that people can
# specify the compiler, compiler flags and so on for a specific device.
# We leverage this mechanism in the Buildroot packaging of qt5 to
# simplify cross-compilation: we have our own "device" definition, which
# allows us to easily pass the cross-compiler paths and flags from our
# qt5.mk.
include(../common/linux_device_pre.conf)
# modifications to g++-unix.conf
QMAKE_CC = $${CROSS_COMPILE}gcc
QMAKE_CXX = $${CROSS_COMPILE}g++
# modifications to gcc-base.conf
QMAKE_CFLAGS += $${BR_COMPILER_CFLAGS}
QMAKE_CXXFLAGS += $${BR_COMPILER_CXXFLAGS}
QMAKE_CXXFLAGS_RELEASE += -O3
CONFIG += nostrip
QMAKE_LIBS += -lrt -lpthread -ldl
include(../common/linux_device_post.conf)
load(qt_config)

View File

@@ -0,0 +1 @@
#include "../../linux-g++/qplatformdefs.h"

View File

@@ -0,0 +1,2 @@
# Hash from: http://download.qt.io/official_releases/qt/5.5/5.5.1/submodules/qtbase-opensource-src-5.5.1.tar.xz.mirrorlist
sha256 dfa4e8a4d7e4c6b69285e7e8833eeecd819987e1bdbe5baa6b6facd4420de916 qtbase-opensource-src-5.5.1.tar.xz

View File

@@ -0,0 +1,261 @@
################################################################################
#
# qt5base
#
################################################################################
QT5BASE_VERSION = $(QT5_VERSION)
QT5BASE_SITE = $(QT5_SITE)
QT5BASE_SOURCE = qtbase-opensource-src-$(QT5BASE_VERSION).tar.xz
QT5BASE_DEPENDENCIES = host-pkgconf zlib pcre
QT5BASE_INSTALL_STAGING = YES
# A few comments:
# * -no-pch to workaround the issue described at
# http://comments.gmane.org/gmane.comp.lib.qt.devel/5933.
# * -system-zlib because zlib is mandatory for Qt build, and we
# want to use the Buildroot packaged zlib
# * -system-pcre because pcre is mandatory to build Qt, and we
# want to use the one packaged in Buildroot
QT5BASE_CONFIGURE_OPTS += \
-optimized-qmake \
-no-kms \
-no-cups \
-no-nis \
-no-iconv \
-system-zlib \
-system-pcre \
-no-pch \
-shared
ifeq ($(BR2_ENABLE_DEBUG),y)
QT5BASE_CONFIGURE_OPTS += -debug
else
QT5BASE_CONFIGURE_OPTS += -release
endif
QT5BASE_CONFIGURE_OPTS += -largefile
ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
QT5BASE_CONFIGURE_OPTS += -opensource -confirm-license
QT5BASE_LICENSE = LGPLv2.1 with exception or LGPLv3
QT5BASE_LICENSE_FILES = LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3
else
QT5BASE_LICENSE = Commercial license
QT5BASE_REDISTRIBUTE = NO
endif
QT5BASE_CONFIG_FILE = $(call qstrip,$(BR2_PACKAGE_QT5BASE_CONFIG_FILE))
ifneq ($(QT5BASE_CONFIG_FILE),)
QT5BASE_CONFIGURE_OPTS += -qconfig buildroot
endif
# Qt5 SQL Plugins
ifeq ($(BR2_PACKAGE_QT5BASE_SQL),y)
ifeq ($(BR2_PACKAGE_QT5BASE_MYSQL),y)
QT5BASE_CONFIGURE_OPTS += -plugin-sql-mysql -mysql_config $(STAGING_DIR)/usr/bin/mysql_config
QT5BASE_DEPENDENCIES += mysql
else
QT5BASE_CONFIGURE_OPTS += -no-sql-mysql
endif
ifeq ($(BR2_PACKAGE_QT5BASE_PSQL),y)
QT5BASE_CONFIGURE_OPTS += -plugin-sql-psql -psql_config $(STAGING_DIR)/usr/bin/pg_config
QT5BASE_DEPENDENCIES += postgresql
else
QT5BASE_CONFIGURE_OPTS += -no-sql-psql
endif
QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_SQLITE_QT),-plugin-sql-sqlite)
QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_SQLITE_SYSTEM),-system-sqlite)
QT5BASE_DEPENDENCIES += $(if $(BR2_PACKAGE_QT5BASE_SQLITE_SYSTEM),sqlite)
QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_SQLITE_NONE),-no-sql-sqlite)
endif
# We have to use --enable-linuxfb, otherwise Qt thinks that -linuxfb
# is to add a link against the "inuxfb" library.
QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_GUI),-gui,-no-gui)
QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_WIDGETS),-widgets,-no-widgets)
QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_LINUXFB),--enable-linuxfb,-no-linuxfb)
QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_DIRECTFB),-directfb,-no-directfb)
QT5BASE_DEPENDENCIES += $(if $(BR2_PACKAGE_QT5BASE_DIRECTFB),directfb)
ifeq ($(BR2_PACKAGE_QT5BASE_XCB),y)
QT5BASE_CONFIGURE_OPTS += -xcb -system-xkbcommon
QT5BASE_DEPENDENCIES += \
libxcb \
xcb-util-wm \
xcb-util-image \
xcb-util-keysyms \
xlib_libX11 \
libxkbcommon
ifeq ($(BR2_PACKAGE_QT5BASE_WIDGETS),y)
QT5BASE_DEPENDENCIES += xlib_libXext
endif
else
QT5BASE_CONFIGURE_OPTS += -no-xcb
endif
ifeq ($(BR2_PACKAGE_QT5BASE_OPENGL_DESKTOP),y)
QT5BASE_CONFIGURE_OPTS += -opengl desktop
QT5BASE_DEPENDENCIES += libgl
else ifeq ($(BR2_PACKAGE_QT5BASE_OPENGL_ES2),y)
QT5BASE_CONFIGURE_OPTS += -opengl es2
QT5BASE_DEPENDENCIES += libgles
else
QT5BASE_CONFIGURE_OPTS += -no-opengl
endif
QT5BASE_DEFAULT_QPA = $(call qstrip,$(BR2_PACKAGE_QT5BASE_DEFAULT_QPA))
QT5BASE_CONFIGURE_OPTS += $(if $(QT5BASE_DEFAULT_QPA),-qpa $(QT5BASE_DEFAULT_QPA))
ifeq ($(BR2_PACKAGE_IMX_GPU_VIV),y)
QT5BASE_EXTRA_CFLAGS = -DENABLE_MX6_WORKAROUND
endif
ifeq ($(BR2_PACKAGE_QT5BASE_EGLFS),y)
QT5BASE_CONFIGURE_OPTS += -eglfs
QT5BASE_DEPENDENCIES += libegl
else
QT5BASE_CONFIGURE_OPTS += -no-eglfs
endif
QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_OPENSSL),-openssl,-no-openssl)
QT5BASE_DEPENDENCIES += $(if $(BR2_PACKAGE_OPENSSL),openssl)
QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_FONTCONFIG),-fontconfig,-no-fontconfig)
QT5BASE_DEPENDENCIES += $(if $(BR2_PACKAGE_QT5BASE_FONTCONFIG),fontconfig)
QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_GIF),,-no-gif)
QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_JPEG),-system-libjpeg,-no-libjpeg)
QT5BASE_DEPENDENCIES += $(if $(BR2_PACKAGE_QT5BASE_JPEG),jpeg)
QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_PNG),-system-libpng,-no-libpng)
QT5BASE_DEPENDENCIES += $(if $(BR2_PACKAGE_QT5BASE_PNG),libpng)
QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_DBUS),-dbus,-no-dbus)
QT5BASE_DEPENDENCIES += $(if $(BR2_PACKAGE_QT5BASE_DBUS),dbus)
QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_TSLIB),-tslib,-no-tslib)
QT5BASE_DEPENDENCIES += $(if $(BR2_PACKAGE_QT5BASE_TSLIB),tslib)
QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_LIBGLIB2),-glib,-no-glib)
QT5BASE_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBGLIB2),libglib2)
QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_ICU),-icu,-no-icu)
QT5BASE_DEPENDENCIES += $(if $(BR2_PACKAGE_QT5BASE_ICU),icu)
QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_EXAMPLES),-make,-nomake) examples
# gstreamer 0.10 support is broken in qt5multimedia
ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE),y)
QT5BASE_CONFIGURE_OPTS += -gstreamer 1.0
QT5BASE_DEPENDENCIES += gst1-plugins-base
else
QT5BASE_CONFIGURE_OPTS += -no-gstreamer
endif
# Build the list of libraries to be installed on the target
QT5BASE_INSTALL_LIBS_y += Qt5Core
QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_XCB) += Qt5XcbQpa
QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_NETWORK) += Qt5Network
QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_CONCURRENT) += Qt5Concurrent
QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_SQL) += Qt5Sql
QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_TEST) += Qt5Test
QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_XML) += Qt5Xml
QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_OPENGL_LIB) += Qt5OpenGL
QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_EGLFS) += Qt5EglDeviceIntegration
QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_GUI) += Qt5Gui
QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_WIDGETS) += Qt5Widgets
QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_PRINTSUPPORT) += Qt5PrintSupport
QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_DBUS) += Qt5DBus
ifneq ($(QT5BASE_CONFIG_FILE),)
define QT5BASE_CONFIGURE_CONFIG_FILE
cp $(QT5BASE_CONFIG_FILE) $(@D)/src/corelib/global/qconfig-buildroot.h
endef
endif
define QT5BASE_CONFIGURE_CMDS
$(INSTALL) -m 0644 -D $(QT5BASE_PKGDIR)/qmake.conf \
$(@D)/mkspecs/devices/linux-buildroot-g++/qmake.conf
$(INSTALL) -m 0644 -D $(QT5BASE_PKGDIR)/qplatformdefs.h \
$(@D)/mkspecs/devices/linux-buildroot-g++/qplatformdefs.h
$(QT5BASE_CONFIGURE_CONFIG_FILE)
(cd $(@D); \
$(TARGET_MAKE_ENV) \
PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \
PKG_CONFIG_LIBDIR="$(STAGING_DIR)/usr/lib/pkgconfig" \
PKG_CONFIG_SYSROOT_DIR="$(STAGING_DIR)" \
MAKEFLAGS="$(MAKEFLAGS) -j$(PARALLEL_JOBS)" \
./configure \
-v \
-prefix /usr \
-hostprefix $(HOST_DIR)/usr \
-headerdir /usr/include/qt5 \
-sysroot $(STAGING_DIR) \
-plugindir /usr/lib/qt/plugins \
-examplesdir /usr/lib/qt/examples \
-no-rpath \
-nomake tests \
-device buildroot \
-device-option CROSS_COMPILE="$(TARGET_CROSS)" \
-device-option BR_COMPILER_CFLAGS="$(TARGET_CFLAGS) $(QT5BASE_EXTRA_CFLAGS)" \
-device-option BR_COMPILER_CXXFLAGS="$(TARGET_CXXFLAGS) $(QT5BASE_EXTRA_CFLAGS)" \
$(QT5BASE_CONFIGURE_OPTS) \
)
endef
define QT5BASE_BUILD_CMDS
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
endef
define QT5BASE_INSTALL_STAGING_CMDS
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install
$(QT5_LA_PRL_FILES_FIXUP)
endef
define QT5BASE_INSTALL_TARGET_LIBS
for lib in $(QT5BASE_INSTALL_LIBS_y); do \
cp -dpf $(STAGING_DIR)/usr/lib/lib$${lib}.so.* $(TARGET_DIR)/usr/lib || exit 1 ; \
done
endef
define QT5BASE_INSTALL_TARGET_PLUGINS
if [ -d $(STAGING_DIR)/usr/lib/qt/plugins/ ] ; then \
mkdir -p $(TARGET_DIR)/usr/lib/qt/plugins ; \
cp -dpfr $(STAGING_DIR)/usr/lib/qt/plugins/* $(TARGET_DIR)/usr/lib/qt/plugins ; \
fi
endef
define QT5BASE_INSTALL_TARGET_FONTS
if [ -d $(STAGING_DIR)/usr/lib/fonts/ ] ; then \
mkdir -p $(TARGET_DIR)/usr/lib/fonts ; \
cp -dpfr $(STAGING_DIR)/usr/lib/fonts/* $(TARGET_DIR)/usr/lib/fonts ; \
fi
endef
define QT5BASE_INSTALL_TARGET_EXAMPLES
if [ -d $(STAGING_DIR)/usr/lib/qt/examples/ ] ; then \
mkdir -p $(TARGET_DIR)/usr/lib/qt/examples ; \
cp -dpfr $(STAGING_DIR)/usr/lib/qt/examples/* $(TARGET_DIR)/usr/lib/qt/examples ; \
fi
endef
ifeq ($(BR2_STATIC_LIBS),y)
define QT5BASE_INSTALL_TARGET_CMDS
$(QT5BASE_INSTALL_TARGET_FONTS)
$(QT5BASE_INSTALL_TARGET_EXAMPLES)
endef
else
define QT5BASE_INSTALL_TARGET_CMDS
$(QT5BASE_INSTALL_TARGET_LIBS)
$(QT5BASE_INSTALL_TARGET_PLUGINS)
$(QT5BASE_INSTALL_TARGET_FONTS)
$(QT5BASE_INSTALL_TARGET_EXAMPLES)
endef
endif
$(eval $(generic-package))