qt: fix build for arm with BR2_STATIC_LIBS
authorAlexander Lukichev <alexander.lukichev@gmail.com>
Wed, 7 Oct 2015 07:02:46 +0000 (10:02 +0300)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sat, 10 Oct 2015 10:02:00 +0000 (12:02 +0200)
Some Buildroot-generated static toolchains for ARM do not have
dlfcn.h header, which breaks builds of qt-4.8.7 because its
QtCore's plugin loader expects this header to be present (and
dynamic libraries to be supported). For certain platforms without
dynamic libraries, there is a QT_NO_DYNAMIC_LIBRARY constant
defined in plugin loader's source. This patch puts that constant
into Qt's build environment if Buildroot is configured without
shared library support.

Fixes:
- http://autobuild.buildroot.net/results/11a4c19638ca211bd2a424fd92602166235c9433
- http://autobuild.buildroot.net/results/c056e8781558267f6971a5f017f47e90dcf24e07
- http://autobuild.buildroot.net/results/b8f34afa8686e890a1a3882a52081bb6a3b9c13b
and several others.

Signed-off-by: Alexander Lukichev <alexander.lukichev@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/qt/qt.mk

index e0e5d22bdec518e5ff25117c50cb21419175a04f..a64d32fe1c29a2d7fd81b0139d3ad59cd54293d7 100644 (file)
@@ -203,6 +203,10 @@ else
 QT_CONFIGURE_OPTS += -static
 endif
 
+ifeq ($(BR2_STATIC_LIBS),y)
+QT_CONFIGURE_OPTS += -D QT_NO_DYNAMIC_LIBRARY
+endif
+
 ifeq ($(BR2_ENDIAN),"LITTLE")
 QT_CONFIGURE_OPTS += -little-endian
 else