qt: fix build for arm with BR2_STATIC_LIBS

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>
This commit is contained in:
Alexander Lukichev 2015-10-07 10:02:46 +03:00 committed by Thomas Petazzoni
parent f7dd5cb263
commit 217ca447d6

View 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