diff options
author | 2015-08-26 17:06:18 +0200 | |
---|---|---|
committer | 2015-08-26 23:01:10 +0200 | |
commit | 2215b8a75edea384182f0511b6649306e60b55d1 (patch) | |
tree | e793ae3f74a0cab96a3ca4a34b2fb3914bca44c7 | |
parent | 551971984c74c989bc5749380bf276980a9efa5c (diff) | |
download | buildroot-2215b8a75edea384182f0511b6649306e60b55d1.tar.gz buildroot-2215b8a75edea384182f0511b6649306e60b55d1.tar.bz2 |
qt5: disable for static-only builds
Even though we have some specific code to support building Qt5 for
static-only configurations, it doesn't work. The first problem is that
our custom qmake.conf always passes -ldl, which makes a number of Qt5
config.tests fail at configure time. Once this problem is fixed by
removing -ldl from QMAKE_LIBS and adding it to QMAKE_LIBS_DYNLOAD
instead, the next problem is that the plugin infrastructure of Qt5
assumes that Linux has dynamic library support: the qlibrary_unix.cpp
file includes <dlfcn.h>, and the only condition for this file to not
be included is:
Until recently, building Qt5 statically was working because our C
library was not built static-only: it provided <dlfcn.h> and
libdl.so. But now that we have a really static only toolchain, Qt5 no
longer builds.
The easiest solution is to simply make Qt5 depend on dynamic library
support.
Fixes:
http://autobuild.buildroot.net/results/538/538e0325adba9fabbe4ec8e550fbb6a7219f5e7a/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
-rw-r--r-- | package/qt5/Config.in | 5 | ||||
-rw-r--r-- | package/qt5/qt5base/qt5base.mk | 11 |
2 files changed, 5 insertions, 11 deletions
diff --git a/package/qt5/Config.in b/package/qt5/Config.in index 3fb65f7c34..22fd0c0809 100644 --- a/package/qt5/Config.in +++ b/package/qt5/Config.in @@ -11,15 +11,16 @@ config BR2_PACKAGE_QT5_JSCORE_AVAILABLE depends on !BR2_ARM_CPU_ARMV4 default y -comment "Qt5 needs a toolchain w/ wchar, NPTL, C++" +comment "Qt5 needs a toolchain w/ wchar, NPTL, C++, dynamic library" depends on !BR2_PACKAGE_QT - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS_NPTL + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS menuconfig BR2_PACKAGE_QT5 bool "Qt5" depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_WCHAR depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL + depends on !BR2_STATIC_LIBS depends on !BR2_PACKAGE_QT select BR2_PACKAGE_QT5BASE help diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk index e80c20c638..e783b4d42e 100644 --- a/package/qt5/qt5base/qt5base.mk +++ b/package/qt5/qt5base/qt5base.mk @@ -26,7 +26,8 @@ QT5BASE_CONFIGURE_OPTS += \ -no-iconv \ -system-zlib \ -system-pcre \ - -no-pch + -no-pch \ + -shared ifeq ($(BR2_ENABLE_DEBUG),y) QT5BASE_CONFIGURE_OPTS += -debug @@ -34,14 +35,6 @@ else QT5BASE_CONFIGURE_OPTS += -release endif -ifeq ($(BR2_STATIC_LIBS),y) -QT5BASE_CONFIGURE_OPTS += -static -else -# We apparently can't build both the shared and static variants of the -# library. -QT5BASE_CONFIGURE_OPTS += -shared -endif - QT5BASE_CONFIGURE_OPTS += -largefile ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y) |