summaryrefslogtreecommitdiff
path: root/vcl/Library_vclplug_gtk3_kde5.mk
diff options
context:
space:
mode:
authorMichael Weghorn <m.weghorn@posteo.de>2019-04-24 15:06:04 +0200
committerMichael Weghorn <m.weghorn@posteo.de>2019-04-26 12:44:13 +0200
commit1674c6964b585d944bcb34be1d937e7558a97453 (patch)
tree27565a4bc08c1f316c1ad73ddb4f464124f763d5 /vcl/Library_vclplug_gtk3_kde5.mk
parentec3916d424f828b5b2459efb4097abf95835a2ae (diff)
tdf#124598 gtk3_kde5: Link gtk3 side against kf5 libs
The separate filepicker executable 'lo_kde5filepicker' used by the gtk3_kde5 VCL plugin needs the KF5 libraries (in particular the 'KFileWidget' class) in order to provide custom controls in the Plasma-native QFileDialog. The gtk3 side ('lo_kde5filepicker') itself doesn't use any functionality from KF5 libraries itself and therefore didn't link against those. When determining which VCL plugin to use on LibreOffice start, a 'dlopen()' is used on the libraries of the potential VCL plugins, which fails if linked libraries are not available, so unsuitable VCL plugin are skipped. This mechanism didn't work for the gtk3_kde5 VCL plugin if KF5 libraries were not installed, since the 'dlopen()' on 'libvclplug_gtk3_kde5lo.so' would succeed, but starting the 'lo_kde5filepicker' process would later fail at runtime due to the missing libraries. To avoid this, make 'libvclplug_gtk3_kde5lo.so' link against KF5 libraries as well to prevent gtk3_kde5 from being used unless all required libraries are actually present. Add a dummy KFileWidget use in Gtk3KDE5FilePicker to prevent smart linkers from not linking unused libraries despite linker flags. While this is a hack, it seems to be acceptable, in particular since gtk3_kde5 is more meant as a temporary solution supposed to be dropped at a later point in time in favor of the pure kde5 VCL plugin. Change-Id: I3a37daaeb1307b4f24f6fd75d7b6ec5ffaade0fd Reviewed-on: https://gerrit.libreoffice.org/71237 Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de> Tested-by: Jenkins
Diffstat (limited to 'vcl/Library_vclplug_gtk3_kde5.mk')
-rw-r--r--vcl/Library_vclplug_gtk3_kde5.mk2
1 files changed, 2 insertions, 0 deletions
diff --git a/vcl/Library_vclplug_gtk3_kde5.mk b/vcl/Library_vclplug_gtk3_kde5.mk
index e725e077f55e..d7f9b9d11107 100644
--- a/vcl/Library_vclplug_gtk3_kde5.mk
+++ b/vcl/Library_vclplug_gtk3_kde5.mk
@@ -39,6 +39,7 @@ $(eval $(call gb_Library_add_cxxflags,vclplug_gtk3_kde5,\
$(eval $(call gb_Library_add_defs,vclplug_gtk3_kde5,\
-DVCLPLUG_GTK_IMPLEMENTATION -DVCLPLUG_GTK3_KDE5_IMPLEMENTATION \
+ $(KF5_CFLAGS) \
))
$(eval $(call gb_Library_use_custom_headers,vclplug_gtk3_kde5,\
@@ -124,6 +125,7 @@ ifeq ($(OS),LINUX)
$(eval $(call gb_Library_add_libs,vclplug_gtk3_kde5,\
-lm \
-ldl \
+ $(KF5_LIBS) \
))
endif