qt5base: fix plugin loading
authorHauke Mehrtens <hauke@hauke-m.de>
Sat, 23 Jul 2016 20:06:21 +0000 (22:06 +0200)
committerHauke Mehrtens <hauke@hauke-m.de>
Sat, 23 Jul 2016 20:57:49 +0000 (22:57 +0200)
Do not use strip any more when it is selected because plugin loading
does not work for plugins build stripped with sstrip, use normal strip
instead.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
frameworks/qt5base/Makefile

index e4f03ebfafbf8699146ac6421bdaf323485a42fd..0a70ee04d4498d2c4d8096dc2c3fcfd297a237c2 100644 (file)
@@ -6,7 +6,6 @@
 #
 
 # TODO / known bugs:
-# - plugins don't work when sstrip is used for stripping
 # - only framebuffer (linuxfb) support for now, XBC/DirectFB to come - thus no GL thus no qtquick2 / QML2, as it has a hard dependency on GL
 # - host_build functionality seems to be broken - qmake doesn't switch to the host toolchain (linux-g++) when host_build gets invoked
 
@@ -40,6 +39,22 @@ PKG_CONFIG_DEPENDS:= \
        CONFIG_PACKAGE_qt5base-plugin-platforms-linuxfb \
        CONFIG_PACKAGE_qt5base-plugin-platforms-minimal
 
+# Do not use sstrip for QT5. When sstrip is used the QT5 plugin loading does
+# not work, because of QT''s internal elf parser, see
+# https://bugreports.qt.io/browse/QTBUG-52567
+# Use the code from the gcc package to use strip instaed.
+ifneq ($(CONFIG_USE_SSTRIP),)
+  STRIP:=$(TARGET_CROSS)strip $(call qstrip,$(CONFIG_STRIP_ARGS))
+  RSTRIP:= \
+    export CROSS="$(TARGET_CROSS)" \
+               $(if $(CONFIG_KERNEL_KALLSYMS),NO_RENAME=1) \
+               $(if $(CONFIG_KERNEL_PROFILING),KEEP_SYMBOLS=1); \
+    NM="$(TARGET_CROSS)nm" \
+    STRIP="$(STRIP)" \
+    STRIP_KMOD="$(SCRIPT_DIR)/strip-kmod.sh" \
+    $(SCRIPT_DIR)/rstrip.sh
+endif
+
 define Package/qt5base/Default
   SECTION:=video-frameworks
   CATEGORY:=Video