summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThorsten Behrens <tbehrens@suse.com>2011-12-06 17:27:05 +0100
committerThorsten Behrens <tbehrens@suse.com>2011-12-06 17:28:11 +0100
commit88a4a8d997921309a7886ed0d1dc383ee3c2f767 (patch)
tree5fc956b3896956543d5c415575d94b9e7c6372b0
parentd57887eaad534ca51fc4975918fab66b2f93633d (diff)
GdkPrinter seems optional on Gtk3, too
Added necessary configure magic & conditional compiles for that.
-rw-r--r--RepositoryExternal.mk23
-rw-r--r--configure.in12
-rwxr-xr-xset_soenv.in3
-rw-r--r--vcl/Library_vclplug_gtk3.mk10
-rw-r--r--vcl/unx/gtk/app/gtkinst.cxx4
-rw-r--r--vcl/unx/gtk/inc/gtkprintwrapper.hxx4
6 files changed, 50 insertions, 6 deletions
diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
index 6da9253ae1fe..92d9aca85741 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 8b23b1f7bfde..1d2cde1aa033 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 6c6c200ab2dd..0df1f6b93172 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 ca50535412d3..fb76c6969951 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 b6eacc9b3449..e9c2afa6e12a 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 1df133a99548..6ea8a563d4aa 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();