Update buidlroot to version 2016.08.1

This commit is contained in:
2016-11-16 22:07:29 +01:00
parent 807ab03547
commit a1061efbc2
3636 changed files with 59539 additions and 25783 deletions

View File

@@ -0,0 +1,43 @@
From 0bf90de93b9fe21df32319e27b2507154fa8a21d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=B6rg=20Krause?= <joerg.krause@embedded.rocks>
Date: Fri, 15 Apr 2016 00:37:26 +0200
Subject: [PATCH] Fix for platform socklen_t on other C libraries than glibc
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
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.
This patch is adapted from Qt5 [1].
[1]
https://github.com/qtproject/qtbase/commit/813f468a14fb84af43c1f8fc0a1430277358eba2
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
---
mkspecs/linux-g++/qplatformdefs.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/mkspecs/linux-g++/qplatformdefs.h b/mkspecs/linux-g++/qplatformdefs.h
index de751dd..d4146ed 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.8.0

View File

@@ -0,0 +1,116 @@
From 438f088ad520ac91ae47dba9a515ab0d1088c89c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=B6rg=20Krause?= <joerg.krause@embedded.rocks>
Date: Fri, 15 Apr 2016 03:32:02 +0200
Subject: [PATCH] Link with -ldl option only when it is supported
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
`-ldl` option is used unconditionally in `QMAKE_LIBS_DYNLOAD` while libdl is
not supported when libc is static. As the value of `QMAKE_LIBS_DYNLOAD` goes
into 'Libs.private' field of the pkgconfig files created by qmake, static
linking with qt will fail with:
/usr/bin/ld: cannot find -ldl
Fix this issue by adding a build test to configure to check if libdl is
supported. `QMAKE_LIBS_DYNLOAD` in "src/corelib/plugin/plugin.pri" is now used
only if libdl is available.
Backported from Qt5:
https://github.com/qtproject/qtbase/commit/f669ea0d54302de31456d57286aa0e4ca1443e98
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
---
config.tests/unix/libdl/libdl.cpp | 39 +++++++++++++++++++++++++++++++++++++++
config.tests/unix/libdl/libdl.pro | 3 +++
configure | 6 ++++++
src/corelib/plugin/plugin.pri | 2 +-
4 files changed, 49 insertions(+), 1 deletion(-)
create mode 100644 config.tests/unix/libdl/libdl.cpp
create mode 100644 config.tests/unix/libdl/libdl.pro
diff --git a/config.tests/unix/libdl/libdl.cpp b/config.tests/unix/libdl/libdl.cpp
new file mode 100644
index 0000000..28a8233
--- /dev/null
+++ b/config.tests/unix/libdl/libdl.cpp
@@ -0,0 +1,39 @@
+/****************************************************************************
+**
+** 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 <dlfcn.h>
+
+int main(int, char **)
+{
+ dlopen(0, 0);
+}
diff --git a/config.tests/unix/libdl/libdl.pro b/config.tests/unix/libdl/libdl.pro
new file mode 100644
index 0000000..a643934
--- /dev/null
+++ b/config.tests/unix/libdl/libdl.pro
@@ -0,0 +1,3 @@
+SOURCES = libdl.cpp
+CONFIG -= qt dylib
+LIBS += -ldl
\ No newline at end of file
diff --git a/configure b/configure
index 10ad7ca..1c70691 100755
--- a/configure
+++ b/configure
@@ -5506,6 +5506,12 @@ if [ "$CFG_LIBPNG" = "auto" ]; then
fi
fi
+# detect dl
+if ! compileTest unix/libdl "libdl"; then
+ QMakeVar add DEFINES QT_NO_DYNAMIC_LIBRARY
+ QMAKE_CONFIG="$QMAKE_CONFIG no-libdl"
+fi
+
# detect accessibility
if [ "$CFG_ACCESSIBILITY" = "auto" ]; then
if [ "$XPLATFORM_SYMBIAN" = "yes" ]; then
diff --git a/src/corelib/plugin/plugin.pri b/src/corelib/plugin/plugin.pri
index eb7a7f7..c342f2e 100644
--- a/src/corelib/plugin/plugin.pri
+++ b/src/corelib/plugin/plugin.pri
@@ -32,4 +32,4 @@ integrity {
SOURCES += plugin/qlibrary_unix.cpp
}
-LIBS_PRIVATE += $$QMAKE_LIBS_DYNLOAD
+!no-libdl: LIBS_PRIVATE += $$QMAKE_LIBS_DYNLOAD
--
2.8.0

View File

@@ -33,6 +33,7 @@ comment "Qt standard (X11) not available (need X.org)"
config BR2_PACKAGE_QT_X11
bool "Qt standard (X11)"
depends on BR2_PACKAGE_XORG7
depends on !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19405 # Qt GUI module
select BR2_PACKAGE_FONTCONFIG
select BR2_PACKAGE_XLIB_LIBXI
select BR2_PACKAGE_XLIB_LIBX11
@@ -56,6 +57,7 @@ config BR2_PACKAGE_QT_DEBUG
config BR2_PACKAGE_QT_DEMOS
bool "Compile and install Qt demos (with code)"
depends on !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19405 # Qt GUI module
select BR2_PACKAGE_QT_GUI_MODULE
help
If unsure, say N.
@@ -69,6 +71,7 @@ config BR2_PACKAGE_QT_TRANSLATION_FILES
config BR2_PACKAGE_QT_EXAMPLES
bool "Compile and install Qt examples (with code)"
depends on !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19405 # Qt GUI module
select BR2_PACKAGE_QT_GUI_MODULE
help
If unsure, say N.
@@ -123,6 +126,7 @@ config BR2_PACKAGE_QT_CONFIG_FILE
config BR2_PACKAGE_QT_QT3SUPPORT
bool "Compatibility with Qt3"
depends on BR2_PACKAGE_QT_GUI_MODULE
select BR2_PACKAGE_QT_SQL_MODULE
help
Turns on support for older Qt3. This will create an additional
library with proxy code and increase the space required on target.
@@ -130,12 +134,16 @@ config BR2_PACKAGE_QT_QT3SUPPORT
config BR2_PACKAGE_QT_GUI_MODULE
bool "Gui Module"
depends on !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19405 # nios2 Binutils 2.25.1 bug
select BR2_PACKAGE_QT_NETWORK
default y
help
Turns on support for Gui applications. If your board doesn't have
video output, or you don't require Qt GUI, say n.
comment "Qt Gui Module needs a toolchain not affected by Binutils bug 19405"
depends on BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19405
if BR2_PACKAGE_QT_GUI_MODULE
if BR2_PACKAGE_QT_EMBEDDED
@@ -258,7 +266,7 @@ config BR2_PACKAGE_QT_SYSTEMJPEG
config BR2_PACKAGE_QT_QTJPEG
bool "Use Qt bundled libjpeg"
help
Link against libjpeg proveded with Qt
Link against libjpeg provided with Qt
endchoice
choice
@@ -295,6 +303,11 @@ config BR2_PACKAGE_QT_QTTIFF
bool "Use Qt bundled libtiff"
endchoice
config BR2_PACKAGE_QT_ACCESSIBILITY
bool "Enable accessibility support"
help
This enables and compiles the accessibility support.
endif # BR2_PACKAGE_QT_GUI_MODULE
choice
@@ -343,6 +356,31 @@ config BR2_PACKAGE_QT_PHONON_BACKEND
Build the platform Phonon plugin.
If unsure, say n.
config BR2_PACKAGE_QT_OPENGL
bool "OpenGL support"
depends on (BR2_PACKAGE_HAS_LIBGL && BR2_PACKAGE_QT_X11) || \
(BR2_PACKAGE_HAS_LIBEGL && BR2_PACKAGE_HAS_LIBGLES)
default y
help
This option enables OpenGL support.
if BR2_PACKAGE_QT_OPENGL
choice
prompt "OpenGL API"
help
Select OpenGL API.
comment "Desktop OpenGL not available (needs Qt standard (X11))"
depends on !BR2_PACKAGE_QT_X11
config BR2_PACKAGE_QT_OPENGL_GL_DESKTOP
bool "Desktop OpenGL"
depends on BR2_PACKAGE_HAS_LIBGL
depends on BR2_PACKAGE_QT_X11
help
Use desktop OpenGL.
config BR2_PACKAGE_QT_OPENGL_ES
bool "OpenGL ES v2.x support"
depends on BR2_PACKAGE_HAS_LIBGLES
@@ -350,6 +388,10 @@ config BR2_PACKAGE_QT_OPENGL_ES
help
Enable the OpenGL ES v2.x support.
endchoice
endif # BR2_PACKAGE_QT_OPENGL
endif
config BR2_PACKAGE_QT_DBUS
@@ -427,15 +469,23 @@ config BR2_PACKAGE_QT_WEBKIT
depends on BR2_PACKAGE_QT_NETWORK
depends on BR2_PACKAGE_QT_ARCH_SUPPORTS_WEBKIT
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # needs pthread_getattr_np()
depends on BR2_PACKAGE_GSTREAMER
select BR2_PACKAGE_GST_PLUGINS_BASE
select BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_APP
help
Build the WebKit module.
If unsure, say n.
comment "WebKit needs shared library/NPTL toolchain/script/gui/network support"
depends on !(BR2_PACKAGE_QT_SCRIPT && BR2_PACKAGE_QT_SHARED && \
BR2_PACKAGE_QT_GUI_MODULE && BR2_PACKAGE_QT_NETWORK)
depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL
comment "WebKit needs a toolchain w/ dynamic library, NPTL"
depends on BR2_PACKAGE_QT_ARCH_SUPPORTS_WEBKIT
depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIB
comment "WebKit needs QtShared/Script/Gui/Network and Gstreamer 0.10"
depends on BR2_PACKAGE_QT_ARCH_SUPPORTS_WEBKIT
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL && !BR2_STATIC_LIB
depends on !BR2_PACKAGE_QT_SCRIPT || !BR2_PACKAGE_QT_SHARED \
|| !BR2_PACKAGE_QT_GUI_MODULE || !BR2_PACKAGE_QT_NETWORK \
|| !BR2_PACKAGE_GSTREAMER
config BR2_PACKAGE_QT_STL
bool "STL support"

View File

@@ -1,3 +1,4 @@
# md5 http://download.qt.io/official_releases/qt/4.8/4.8.7/md5sums-4.8.7, sha256 locally computed:
md5 d990ee66bf7ab0c785589776f35ba6ad qt-everywhere-opensource-src-4.8.7.tar.gz
sha256 e2882295097e47fe089f8ac741a95fef47e0a73a3f3cdf21b56990638f626ea0 qt-everywhere-opensource-src-4.8.7.tar.gz
sha256 e03740e20b8dbf52d163d8a4a37125e7c55b59a9a5e7cf7e89a08e07286b6135 b8f98d956501dfa4ce03a137f15d404930a56066.patch

View File

@@ -15,12 +15,15 @@ QT_VERSION_MAJOR = 4.8
QT_VERSION = $(QT_VERSION_MAJOR).7
QT_SOURCE = qt-everywhere-opensource-src-$(QT_VERSION).tar.gz
QT_SITE = http://download.qt-project.org/official_releases/qt/$(QT_VERSION_MAJOR)/$(QT_VERSION)
# Patch fixing ALSA detection. Taken from Qt5, but applies fine to
# Qt4.
QT_PATCH = https://github.com/qtproject/qtbase/commit/b8f98d956501dfa4ce03a137f15d404930a56066.patch
QT_DEPENDENCIES = host-pkgconf
QT_INSTALL_STAGING = YES
QT_LICENSE = LGPLv2.1 with exceptions or GPLv3
QT_LICENSE := LGPLv2.1 with exceptions or GPLv3
ifneq ($(BR2_PACKAGE_QT_LICENSE_APPROVED),y)
QT_LICENSE += or Digia Qt Commercial license
QT_LICENSE := $(QT_LICENSE) or Digia Qt Commercial license
endif
QT_LICENSE_FILES = LICENSE.LGPL LGPL_EXCEPTION.txt LICENSE.GPL3
@@ -38,6 +41,11 @@ QT_CFLAGS = $(TARGET_CFLAGS)
QT_CXXFLAGS = $(TARGET_CXXFLAGS)
QT_LDFLAGS = $(TARGET_LDFLAGS)
# Qt WebKit build fails when gcc-6 is used for build, because
# 'std::auto_ptr' is deprecated starting from gcc 6.x. So, we have to
# use an older c++ standard to prevent build failure
QT_CXXFLAGS += -std=gnu++98
# Qt has some assembly function that are not present in thumb1 mode:
# Error: selected processor does not support Thumb mode `swp r3,r7,[r4]'
# so, we desactivate thumb mode
@@ -258,6 +266,12 @@ else
QT_CONFIGURE_OPTS += -no-libmng
endif
ifeq ($(BR2_PACKAGE_QT_ACCESSIBILITY),y)
QT_CONFIGURE_OPTS += -accessibility
else
QT_CONFIGURE_OPTS += -no-accessibility
endif
ifeq ($(BR2_PACKAGE_QT_QTZLIB),y)
QT_CONFIGURE_OPTS += -qt-zlib
else
@@ -336,6 +350,9 @@ QT_DEPENDENCIES += libgles libegl
QT_CFLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags egl`
QT_CXXFLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags egl`
QT_LDFLAGS += `$(PKG_CONFIG_HOST_BINARY) --libs egl`
else ifeq ($(BR2_PACKAGE_QT_OPENGL_GL_DESKTOP),y)
QT_CONFIGURE_OPTS += -opengl desktop
QT_DEPENDENCIES += libgl
else
QT_CONFIGURE_OPTS += -no-opengl
endif
@@ -417,6 +434,7 @@ endif
ifeq ($(BR2_PACKAGE_QT_WEBKIT),y)
QT_CONFIGURE_OPTS += -webkit
QT_DEPENDENCIES += gstreamer gst-plugins-base
else
QT_CONFIGURE_OPTS += -no-webkit
endif
@@ -517,7 +535,6 @@ define QT_CONFIGURE_CMDS
-no-xinerama \
-no-cups \
-no-nis \
-no-accessibility \
-no-separate-debug-info \
-prefix /usr \
-plugindir /usr/lib/qt/plugins \
@@ -663,14 +680,14 @@ endef
ifneq ($(BR2_PACKAGE_QT_FONT_MICRO)$(BR2_PACKAGE_QT_FONT_FIXED),)
# as stated in the font source src/3rdparty/fonts/micro.bdf
# source src/3rdparty/fonts/5x7.bdf and source src/3rdparty/fonts/6x13.bdf
QT_LICENSE += , Public Domain (Micro/Fixed font)
QT_LICENSE := $(QT_LICENSE), Public Domain (Micro/Fixed font)
endif
ifneq ($(BR2_PACKAGE_QT_FONT_HELVETICA)$(BR2_PACKAGE_QT_FONT_JAPANESE),)
QT_LICENSE += , Adobe Helvetica license (Helvetica/Japanese fonts)
QT_LICENSE := $(QT_LICENSE), Adobe Helvetica license (Helvetica/Japanese fonts)
QT_LICENSE_FILES += src/3rdparty/fonts/COPYING.Helvetica
endif
ifeq ($(BR2_PACKAGE_QT_FONT_UNIFONT),y)
QT_LICENSE += , Freeware (Unifont font)
QT_LICENSE := $(QT_LICENSE), Freeware (Unifont font)
QT_LICENSE_FILES += src/3rdparty/fonts/COPYRIGHT.Unifont
endif
endif # QT_FONTS
@@ -680,7 +697,7 @@ define QT_INSTALL_TARGET_FONTS_TTF
mkdir -p $(TARGET_DIR)/usr/lib/fonts
cp -dpf $(STAGING_DIR)/usr/lib/fonts/*.ttf $(TARGET_DIR)/usr/lib/fonts
endef
QT_LICENSE += , Bitstream license (DejaVu/Vera TrueType fonts)
QT_LICENSE := $(QT_LICENSE), Bitstream license (DejaVu/Vera TrueType fonts)
QT_LICENSE_FILES += src/3rdparty/fonts/COPYRIGHT.DejaVu \
src/3rdparty/fonts/README.DejaVu \
src/3rdparty/fonts/COPYRIGHT.Vera