aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Thomas Petazzoni <thomas.petazzoni@free-electrons.com>2015-08-26 17:06:18 +0200
committerGravatar Peter Korsgaard <peter@korsgaard.com>2015-08-26 23:01:10 +0200
commit2215b8a75edea384182f0511b6649306e60b55d1 (patch)
treee793ae3f74a0cab96a3ca4a34b2fb3914bca44c7
parent551971984c74c989bc5749380bf276980a9efa5c (diff)
downloadbuildroot-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.in5
-rw-r--r--package/qt5/qt5base/qt5base.mk11
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)