[Libreoffice-commits] .: configure.in RepositoryExternal.mk set_soenv.in vcl/Library_vclplug_gtk3.mk vcl/unx

Thorsten Behrens thorsten at kemper.freedesktop.org
Tue Dec 6 08:28:54 PST 2011


 RepositoryExternal.mk               |   23 +++++++++++++++++++++++
 configure.in                        |   12 ++++++++++++
 set_soenv.in                        |    3 +++
 vcl/Library_vclplug_gtk3.mk         |   10 ++++++++--
 vcl/unx/gtk/app/gtkinst.cxx         |    4 ++--
 vcl/unx/gtk/inc/gtkprintwrapper.hxx |    4 ++--
 6 files changed, 50 insertions(+), 6 deletions(-)

New commits:
commit 88a4a8d997921309a7886ed0d1dc383ee3c2f767
Author: Thorsten Behrens <tbehrens at suse.com>
Date:   Tue Dec 6 17:27:05 2011 +0100

    GdkPrinter seems optional on Gtk3, too
    
    Added necessary configure magic & conditional compiles for that.

diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
index 6da9253..92d9aca 100644
--- a/RepositoryExternal.mk
+++ b/RepositoryExternal.mk
@@ -660,6 +660,29 @@ endif
 
 endef
 
+define gb_LinkTarget__use_gtk3
+$(call gb_LinkTarget_set_include,$(1),\
+	$$(INCLUDE) \
+	$(GTK3_CFLAGS) \
+)
+
+$(call gb_LinkTarget_add_libs,$(1),$(GTK3_LIBS))
+
+ifeq ($(ENABLE_GTK3_PRINT),TRUE)
+
+$(call gb_LinkTarget_add_defs,$(1),-DENABLE_GTK3_PRINT)
+
+$(call gb_LinkTarget_set_include,$(1),\
+	$$(INCLUDE) \
+	$(GTK3_PRINT_CFLAGS) \
+)
+
+$(call gb_LinkTarget_add_libs,$(1),$(GTK3_PRINT_LIBS))
+
+endif
+
+endef
+
 define gb_LinkTarget__use_gthread
 $(call gb_LinkTarget_add_libs,$(1),$(GTHREAD_LIBS))
 
diff --git a/configure.in b/configure.in
index 8b23b1f..1d2cde1 100644
--- a/configure.in
+++ b/configure.in
@@ -7003,20 +7003,32 @@ R=""
 GTK3_CFLAGS=""
 GTK3_LIBS=""
 ENABLE_GTK3=""
+GTK3_PRINT_CFLAGS=""
+GTK3_PRINT_LIBS=""
+ENABLE_GTK3_PRINT=""
 if test "x$enable_gtk3" = "xyes"; then
     if test "$with_system_cairo" != yes; then
         echo "System cairo required for gtk3 support, please use --with-system-cairo"
     fi
     PKG_CHECK_MODULES(GTK3, gtk+-3.0 >= 3.2 gtk+-unix-print-3.0 cairo, ENABLE_GTK3="TRUE", ENABLE_GTK3="")
+
     if test "x$ENABLE_GTK3" = "xTRUE"; then
         R="gtk3"
     else
         AC_MSG_ERROR([gtk3 libraries of the correct versions, not found])
     fi
+
+    AC_MSG_CHECKING([whether to enable Gtk3 print dialog support])
+    PKG_CHECK_MODULES([GTK3_PRINT], [gtk+-unix-print-3.0 >= 3.2.0],
+                      [ENABLE_GTK3_PRINT="TRUE"],
+                      [ENABLE_GTK3_PRINT=""])
 fi
 AC_SUBST(GTK3_LIBS)
 AC_SUBST(GTK3_CFLAGS)
 AC_SUBST(ENABLE_GTK3)
+AC_SUBST(GTK3_PRINT_CFLAGS)
+AC_SUBST(GTK3_PRINT_LIBS)
+AC_SUBST(ENABLE_GTK3_PRINT)
 
 AC_MSG_CHECKING([which VCLplugs shall be built])
 ENABLE_GTK=""
diff --git a/set_soenv.in b/set_soenv.in
index 6c6c200..0df1f6b 100755
--- a/set_soenv.in
+++ b/set_soenv.in
@@ -1548,6 +1548,9 @@ ToFile( "DBUS_LIBS",         "@DBUS_LIBS@",        "e" );
 ToFile( "ENABLE_GTK_PRINT",  "@ENABLE_GTK_PRINT@",  "e" );
 ToFile( "GTK_PRINT_CFLAGS",  "@GTK_PRINT_CFLAGS@",  "e" );
 ToFile( "GTK_PRINT_LIBS",    "@GTK_PRINT_LIBS@",    "e" );
+ToFile( "ENABLE_GTK3_PRINT",  "@ENABLE_GTK3_PRINT@",  "e" );
+ToFile( "GTK3_PRINT_CFLAGS",  "@GTK3_PRINT_CFLAGS@",  "e" );
+ToFile( "GTK3_PRINT_LIBS",    "@GTK3_PRINT_LIBS@",    "e" );
 ToFile( "ENABLE_GCONF",      "@ENABLE_GCONF@",     "e" );
 ToFile( "ENABLE_GNOMEVFS",   "@ENABLE_GNOMEVFS@",  "e" );
 ToFile( "ENABLE_GSTREAMER",  "@ENABLE_GSTREAMER@", "e" );
diff --git a/vcl/Library_vclplug_gtk3.mk b/vcl/Library_vclplug_gtk3.mk
index ca50535..fb76c69 100644
--- a/vcl/Library_vclplug_gtk3.mk
+++ b/vcl/Library_vclplug_gtk3.mk
@@ -82,6 +82,7 @@ $(eval $(call gb_Library_add_linked_libs,vclplug_gtk3,\
 
 $(eval $(call gb_Library_use_externals,vclplug_gtk3,\
 	dbus \
+	gtk3 \
 ))
 
 $(eval $(call gb_Library_add_exception_objects,vclplug_gtk3,\
@@ -106,9 +107,7 @@ $(eval $(call gb_Library_add_exception_objects,vclplug_gtk3,\
     vcl/unx/gtk3/app/gtk3gtkinst \
     vcl/unx/gtk3/app/gtk3gtksys \
     vcl/unx/gtk3/app/gtk3fpicker \
-    vcl/unx/gtk3/gdi/gtk3gtkprintwrapper \
     vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk \
-    vcl/unx/gtk3/gdi/gtk3salprn-gtk \
     vcl/unx/gtk3/window/gtk3gtkframe \
     vcl/unx/gtk3/window/gtk3gtkobject \
     vcl/headless/svpbmp \
@@ -120,6 +119,13 @@ $(eval $(call gb_Library_add_exception_objects,vclplug_gtk3,\
     vcl/headless/svpvd \
 ))
 
+ifeq ($(ENABLE_GTK3_PRINT),TRUE)
+$(eval $(call gb_Library_add_exception_objects,vclplug_gtk3,\
+    vcl/unx/gtk3/gdi/gtk3gtkprintwrapper \
+    vcl/unx/gtk3/gdi/gtk3salprn-gtk \
+))
+endif
+
 ifeq ($(OS),LINUX)
 $(eval $(call gb_Library_add_linked_libs,vclplug_gtk3,\
     dl \
diff --git a/vcl/unx/gtk/app/gtkinst.cxx b/vcl/unx/gtk/app/gtkinst.cxx
index b6eacc9..e9c2afa 100644
--- a/vcl/unx/gtk/app/gtkinst.cxx
+++ b/vcl/unx/gtk/app/gtkinst.cxx
@@ -401,7 +401,7 @@ void GtkInstance::AddToRecentDocumentList(const rtl::OUString& rFileUrl, const r
 SalInfoPrinter* GtkInstance::CreateInfoPrinter( SalPrinterQueueInfo* pQueueInfo,
     ImplJobSetup* pSetupData )
 {
-#if defined ENABLE_GTK_PRINT || GTK_CHECK_VERSION(3,0,0)
+#if defined ENABLE_GTK_PRINT || defined ENABLE_GTK3_PRINT
     mbPrinterInit = true;
     // create and initialize SalInfoPrinter
     PspSalInfoPrinter* pPrinter = new GtkSalInfoPrinter;
@@ -414,7 +414,7 @@ SalInfoPrinter* GtkInstance::CreateInfoPrinter( SalPrinterQueueInfo* pQueueInfo,
 
 SalPrinter* GtkInstance::CreatePrinter( SalInfoPrinter* pInfoPrinter )
 {
-#if defined ENABLE_GTK_PRINT || GTK_CHECK_VERSION(3,0,0)
+#if defined ENABLE_GTK_PRINT || defined ENABLE_GTK3_PRINT
     mbPrinterInit = true;
     fprintf(stderr, "gtk printer\n");
     return new GtkSalPrinter( pInfoPrinter );
diff --git a/vcl/unx/gtk/inc/gtkprintwrapper.hxx b/vcl/unx/gtk/inc/gtkprintwrapper.hxx
index 1df133a..6ea8a56 100644
--- a/vcl/unx/gtk/inc/gtkprintwrapper.hxx
+++ b/vcl/unx/gtk/inc/gtkprintwrapper.hxx
@@ -33,7 +33,7 @@
 
 #include <gtk/gtk.h>
 
-#if defined ENABLE_GTK_PRINT || GTK_CHECK_VERSION(3,0,0)
+#if defined ENABLE_GTK_PRINT || defined ENABLE_GTK3_PRINT
 #include <gtk/gtkunixprint.h>
 
 #if !GTK_CHECK_VERSION(3,0,0)
@@ -49,7 +49,7 @@ namespace unx
 
 class GtkPrintWrapper : private boost::noncopyable
 {
-#if defined ENABLE_GTK_PRINT || GTK_CHECK_VERSION(3,0,0)
+#if defined ENABLE_GTK_PRINT || defined ENABLE_GTK3_PRINT
 public:
     GtkPrintWrapper();
     ~GtkPrintWrapper();


More information about the Libreoffice-commits mailing list