Repository.mk                   |    1 +
 RepositoryExternal.mk           |   35 +++++++++++++++++++++++++++++++++++
 config_host.mk.in               |    4 ++++
 config_host/config_kde5.h.in    |   10 ++++++++++
 config_host/config_vclplug.h.in |    1 +
 configure.ac                    |   27 ++++++++++++++++++++++++---
 scp2/InstallScript_setup_osl.mk |    2 +-
 scp2/Module_scp2.mk             |    2 +-
 vcl/Module_vcl.mk               |    1 +
 9 files changed, 78 insertions(+), 5 deletions(-)

New commits:
commit 4d78cf97d7b1629556df68fc461922fda930d9ec
Author: Milian Wolff <milian.wo...@kdab.com>
Date:   Wed Jan 10 16:26:10 2018 +0100

    Extend build system to support linking against KDE Frameworks 5
    
    Pass --enable-kde5 to autogen.sh to enable this feature. Then
    add kde5 to the list of externals to link against KF5. I will
    introduce other code that depends on KF5 though which will
    leverage this feature.
    
    Change-Id: I17e434a53ac769000b0f805b1f41cdc5c2c84ee2
    Reviewed-on: https://gerrit.libreoffice.org/47715
    Tested-by: Jenkins <c...@libreoffice.org>
    Reviewed-by: Thorsten Behrens <thorsten.behr...@cib.de>

diff --git a/Repository.mk b/Repository.mk
index dcb201a904b9..d7b1847591c4 100644
--- a/Repository.mk
+++ b/Repository.mk
@@ -299,6 +299,7 @@ $(eval $(call 
gb_Helper_register_libraries_for_install,OOOLIBS,kde, \
        $(if $(ENABLE_KDE4),kde4be1) \
        $(if $(USING_X11), \
                $(if $(ENABLE_KDE4),vclplug_kde4) \
+               $(if $(ENABLE_KDE5),vclplug_kde5) \
         $(if $(ENABLE_QT5),vclplug_qt5) \
        ) \
 ))
diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
index a795db70e4a0..94f2bd333d28 100644
--- a/RepositoryExternal.mk
+++ b/RepositoryExternal.mk
@@ -3066,6 +3066,41 @@ endef
 
 endif # ENABLE_KDE4
 
+
+ifeq ($(ENABLE_KDE5),TRUE)
+
+define gb_LinkTarget__use_kde5
+$(call gb_LinkTarget_set_include,$(1),\
+       $(subst -isystem/,-isystem /,$(filter -I% -isystem%,$(subst -isystem 
/,-isystem/,$(KF5_CFLAGS)))) \
+       $$(INCLUDE) \
+)
+
+$(call gb_LinkTarget_add_defs,$(1),\
+       $(filter-out -I% -isystem%,$(subst -isystem /,-isystem/,$(KF5_CFLAGS))) 
\
+)
+
+$(call gb_LinkTarget_add_libs,$(1),\
+       $(KF5_LIBS) \
+)
+
+ifeq ($(COM),GCC)
+$(call gb_LinkTarget_add_cxxflags,$(1),\
+       -Wno-shadow \
+)
+endif
+
+endef
+
+else # !ENABLE_KDE5
+
+define gb_LinkTarget__use_kde5
+
+endef
+
+endif # ENABLE_KDE5
+
+
+
 ifeq ($(ENABLE_QT5),TRUE)
 
 define gb_LinkTarget__use_qt5
diff --git a/config_host.mk.in b/config_host.mk.in
index cf9cefbd0fc8..d5630a5b4537 100644
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -157,6 +157,7 @@ export ENABLE_PCH=@ENABLE_PCH@
 export ENABLE_PDFIMPORT=@ENABLE_PDFIMPORT@
 export ENABLE_PDFIUM=@ENABLE_PDFIUM@
 export ENABLE_QT5=@ENABLE_QT5@
+export ENABLE_KDE5=@ENABLE_KDE5@
 export ENABLE_RANDR=@ENABLE_RANDR@
 export ENABLE_RELEASE_BUILD=@ENABLE_RELEASE_BUILD@
 export ENABLE_REPORTBUILDER=@ENABLE_REPORTBUILDER@
@@ -299,6 +300,9 @@ export KDE4_GLIB_LIBS=$(gb_SPACE)@KDE4_GLIB_LIBS@
 export KDE4_HAVE_GLIB=@KDE4_HAVE_GLIB@
 export KF5_CFLAGS=$(gb_SPACE)@KF5_CFLAGS@
 export KF5_LIBS=$(gb_SPACE)@KF5_LIBS@
+export KF5_GLIB_CFLAGS=$(gb_SPACE)@KF5_GLIB_CFLAGS@
+export KF5_GLIB_LIBS=$(gb_SPACE)@KF5_GLIB_LIBS@
+export KF5_HAVE_GLIB=@KF5_HAVE_GLIB@
 export KRB5_LIBS=@KRB5_LIBS@
 export LCMS2_CFLAGS=$(gb_SPACE)@LCMS2_CFLAGS@
 export LCMS2_LIBS=$(gb_SPACE)@LCMS2_LIBS@
diff --git a/config_host/config_kde5.h.in b/config_host/config_kde5.h.in
new file mode 100644
index 000000000000..af42a5edcf6a
--- /dev/null
+++ b/config_host/config_kde5.h.in
@@ -0,0 +1,10 @@
+/*
+Settings for KDE5 integration.
+*/
+
+#ifndef CONFIG_KDE5_H
+#define CONFIG_KDE5_H
+
+#define KDE5_HAVE_GLIB 0
+
+#endif
diff --git a/config_host/config_vclplug.h.in b/config_host/config_vclplug.h.in
index 510d0d25229c..b7b9624cdf79 100644
--- a/config_host/config_vclplug.h.in
+++ b/config_host/config_vclplug.h.in
@@ -9,5 +9,6 @@ Settings about which X11 desktops have support enabled.
 
 #define ENABLE_GTK 0
 #define ENABLE_KDE4 0
+#define ENABLE_KDE5 0
 
 #endif
diff --git a/configure.ac b/configure.ac
index e60822d9df26..ce9b28feba0f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -593,6 +593,7 @@ linux-gnu*|k*bsd*-gnu*)
     build_gstreamer_1_0=yes
     build_gstreamer_0_10=yes
     test_kde4=yes
+    test_kde5=yes
     test_qt5=yes
     if test "$enable_fuzzers" != yes; then
         test_freetype=yes
@@ -688,6 +689,7 @@ freebsd*)
     build_gstreamer_1_0=yes
     build_gstreamer_0_10=yes
     test_kde4=yes
+    test_kde5=yes
     test_qt5=yes
     test_freetype=yes
     AC_MSG_CHECKING([the FreeBSD operating system release])
@@ -717,6 +719,7 @@ freebsd*)
     build_gstreamer_1_0=yes
     build_gstreamer_0_10=yes
     test_kde4=yes
+    test_kde5=yes
     test_qt5=yes
     test_freetype=yes
     PTHREAD_LIBS="-pthread -lpthread"
@@ -743,6 +746,7 @@ dragonfly*)
     build_gstreamer_1_0=yes
     build_gstreamer_0_10=yes
     test_kde4=yes
+    test_kde5=yes
     test_qt5=yes
     test_freetype=yes
     PTHREAD_LIBS="-pthread"
@@ -767,6 +771,7 @@ linux-android*)
     test_freetype=no
     test_gtk=no
     test_kde4=no
+    test_kde5=no
     test_qt5=no
     test_randr=no
     test_xrender=no
@@ -1216,6 +1221,12 @@ AC_ARG_ENABLE(qt5,
          available.]),
 ,)
 
+AC_ARG_ENABLE(kde5,
+    AS_HELP_STRING([--enable-kde5],
+        [Determines whether to use Qt5/KF5 vclplug on platforms where Qt5 and
+         KF5 are available.]),
+,)
+
 libo_FUZZ_ARG_ENABLE(gui,
     AS_HELP_STRING([--disable-gui],
         [Disable use of X11 or Wayland to reduce dependencies. Not related to 
the --headless
@@ -4529,6 +4540,7 @@ if test "$USING_X11" != TRUE; then
     build_gstreamer_1_0=no
     build_gstreamer_0_10=no
     test_kde4=no
+    test_kde5=no
     test_qt5=no
     enable_cairo_canvas=no
 fi
@@ -9777,6 +9789,14 @@ if test "x$enable_qt5" = "xyes"; then
 fi
 AC_SUBST(ENABLE_QT5)
 
+ENABLE_KDE5=""
+if test "x$enable_kde5" = "xyes"; then
+    ENABLE_KDE5="TRUE"
+    AC_DEFINE(ENABLE_KDE5)
+    R="$R kde5"
+fi
+AC_SUBST(ENABLE_KDE5)
+
 build_vcl_plugins="$R"
 if test -z "$build_vcl_plugins"; then
     build_vcl_plugins="none"
@@ -10874,13 +10894,13 @@ KF5_CONFIG="kf5-config"
 if test \( "$test_kde5" = "yes" -a "$ENABLE_KDE5" = "TRUE" \) -o \
         \( "$test_kf5" = "yes" -a "$ENABLE_KF5" = "TRUE" \)
 then
-    kf5_incdirs="$KF5INC /usr/include /usr/include/KF5 $x_includes"
+    kf5_incdirs="$KF5INC /usr/include/ $x_includes"
     kf5_libdirs="$KF5LIB /usr/lib /usr/lib/kf5 /usr/lib/kf5/devel $x_libraries"
     if test -n "$supports_multilib"; then
         kf5_libdirs="$kf5_libdirs /usr/lib64 /usr/lib64/kf5 
/usr/lib64/kf5/devel"
     fi
 
-    kf5_test_include="kcoreaddons_version.h"
+    kf5_test_include="KF5/kcoreaddons_version.h"
     kf5_test_library="libKF5CoreAddons.so"
     kf5_libdirs="$qt5_libdir $kf5_libdirs"
 
@@ -10896,7 +10916,7 @@ then
     kf5_incdir="no"
     for kf5_check in $kf5_incdirs; do
         if test -r "$kf5_check/$kf5_test_include"; then
-            kf5_incdir="$kf5_check"
+            kf5_incdir="$kf5_check/KF5"
             break
         fi
     done
@@ -12492,6 +12512,7 @@ AC_CONFIG_HEADERS([config_host/config_locales.h])
 AC_CONFIG_HEADERS([config_host/config_mpl.h])
 AC_CONFIG_HEADERS([config_host/config_kde4.h])
 AC_CONFIG_HEADERS([config_host/config_qt5.h])
+AC_CONFIG_HEADERS([config_host/config_kde5.h])
 AC_CONFIG_HEADERS([config_host/config_oox.h])
 AC_CONFIG_HEADERS([config_host/config_options.h])
 AC_CONFIG_HEADERS([config_host/config_options_calc.h])
diff --git a/scp2/InstallScript_setup_osl.mk b/scp2/InstallScript_setup_osl.mk
index f362fe5cc102..8ce3e2ecef79 100644
--- a/scp2/InstallScript_setup_osl.mk
+++ b/scp2/InstallScript_setup_osl.mk
@@ -35,7 +35,7 @@ $(eval $(call gb_InstallScript_use_modules,setup_osl,\
        $(if $(filter TRUE,$(ENABLE_EVOAB2) $(ENABLE_GIO) $(ENABLE_GTK) 
$(ENABLE_GTK3)),\
                scp2/gnome \
        ) \
-       $(if $(filter TRUE,$(ENABLE_KDE4) $(ENABLE_QT5)),\
+       $(if $(filter TRUE,$(ENABLE_KDE4) $(ENABLE_QT5) $(ENABLE_KDE5)),\
                scp2/kde \
        ) \
        $(if $(filter TRUE,$(ENABLE_ONLINE_UPDATE)),\
diff --git a/scp2/Module_scp2.mk b/scp2/Module_scp2.mk
index 847e35a6c269..1c3ed8df600f 100644
--- a/scp2/Module_scp2.mk
+++ b/scp2/Module_scp2.mk
@@ -39,7 +39,7 @@ $(eval $(call gb_Module_add_targets,scp2,\
        $(if $(filter TRUE,$(ENABLE_EVOAB2) $(ENABLE_GIO) $(ENABLE_GTK) 
$(ENABLE_GTK3)),\
                InstallModule_gnome \
        ) \
-       $(if $(filter TRUE,$(ENABLE_KDE4) $(ENABLE_QT5)),\
+       $(if $(filter TRUE,$(ENABLE_KDE4) $(ENABLE_QT5) $(ENABLE_KDE5)),\
                InstallModule_kde \
        ) \
 ))
diff --git a/vcl/Module_vcl.mk b/vcl/Module_vcl.mk
index 91fcbba026d7..bf83a8a442c3 100644
--- a/vcl/Module_vcl.mk
+++ b/vcl/Module_vcl.mk
@@ -81,6 +81,7 @@ $(eval $(call gb_Module_add_targets,vcl,\
     Library_vclplug_kde4 \
 ))
 endif
+
 ifneq ($(ENABLE_KDE5),)
 $(eval $(call gb_Module_add_targets,vcl,\
     CustomTarget_kde5_moc \
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to