Date: prev next · Thread: first prev next last
2012 Archives by date, by thread · List index


Dne Po 7. května 2012 11:07:52, Riccardo Magliocchetti napsal(a):
Hello Tomáš,

Another possibility is to add some ifdefery in vcl/Library_vcl.mk
instead of providing a stub CUPSManager. This would match other
platforms already building with test_cups=no.


Good idea. Altho it is more changed lines it looks more "clean".

So any other suggestions for this, or can I go ahead?

Cheers

Tom
From 62cdd0f6621b11e2fb5eedc01b7672fe4be9ae46 Mon Sep 17 00:00:00 2001
From: Tomas Chvatal <tchvatal@suse.cz>
Date: Mon, 7 May 2012 13:46:09 +0200
Subject: [PATCH] Enable configure switch for cups

This allows us not to have cups during the build time of libreoffice.

Commit is based of patch from Dave Flogeras <dflogeras@gmail.com>.

Change-Id: I32a14eb6e7bdd13de1a737d4798c852a830ae326

Signed-off-by: Tomas Chvatal <tchvatal@suse.cz>
---
 config_host.mk.in                     |    1 +
 configure.in                          |   12 ++++++++++++
 vcl/Library_vcl.mk                    |    9 +++++++--
 vcl/null/printerinfomanager.cxx       |   10 ++++++++++
 vcl/unx/generic/printer/ppdparser.cxx |    2 +-
 5 files changed, 31 insertions(+), 3 deletions(-)

diff --git a/config_host.mk.in b/config_host.mk.in
index 65affa9..fd5e8a0 100644
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -98,6 +98,7 @@ export DPKG=@DPKG@
 export DYNAMIC_CRT=@DYNAMIC_CRT@
 export ENABLE_CAIRO_CANVAS=@ENABLE_CAIRO_CANVAS@
 export ENABLE_CRASHDUMP=@ENABLE_CRASHDUMP@
+export ENABLE_CUPS=@ENABLE_CUPS@
 export ENABLE_DBUS=@ENABLE_DBUS@
 export ENABLE_DIRECTX=@ENABLE_DIRECTX@
 export ENABLE_EVOAB2=@ENABLE_EVOAB2@
diff --git a/configure.in b/configure.in
index 43a6544..91c871d 100644
--- a/configure.in
+++ b/configure.in
@@ -842,6 +842,11 @@ AC_ARG_ENABLE(nsplugin,
         [Do not build nsplugin extension for browser embedding.])
 )
 
+AC_ARG_ENABLE(cups,
+    AS_HELP_STRING([--disable-cups],
+        [Do not build cups support.])
+)
+
 AC_ARG_ENABLE(ccache,
     AS_HELP_STRING([--disable-ccache],
         [Do not try to use ccache automatically.
@@ -3597,6 +3602,13 @@ fi
 
 dnl check for cups support
 dnl ===================================================================
+if test "$enable_cups" = "no"; then
+    test_cups=no
+    ENABLE_CUPS="NO"
+else
+    ENABLE_CUPS="YES"
+fi
+AC_SUBST(ENABLE_CUPS)
 if test "$test_cups" = "yes"; then
     AC_MSG_CHECKING([whether cups support is present])
     AC_CHECK_LIB([cups], [cupsPrintFiles], [:])
diff --git a/vcl/Library_vcl.mk b/vcl/Library_vcl.mk
index 92e35a2..05be361 100644
--- a/vcl/Library_vcl.mk
+++ b/vcl/Library_vcl.mk
@@ -445,10 +445,15 @@ $(eval $(call gb_Library_add_defs,vcl,\
 $(eval $(call gb_Library_add_exception_objects,vcl,\
        $(vcl_generic_code) \
     vcl/unx/generic/plugadapt/salplug \
-    vcl/unx/generic/printer/cupsmgr \
     vcl/unx/generic/printer/jobdata \
     vcl/unx/generic/printer/ppdparser \
-    vcl/unx/generic/printer/printerinfomanager \
+    $(if $(filter YES,$(ENABLE_CUPS)),\
+        vcl/unx/generic/printer/cupsmgr \
+        vcl/unx/generic/printer/printerinfomanager \
+    ) \
+    $(if $(filter NO,$(ENABLE_CUPS)),\
+        vcl/null/printerinfomanager \
+    ) \
 ))
 $(eval $(call gb_Library_use_externals,vcl,\
        fontconfig \
diff --git a/vcl/null/printerinfomanager.cxx b/vcl/null/printerinfomanager.cxx
index 526a936..d606c41 100644
--- a/vcl/null/printerinfomanager.cxx
+++ b/vcl/null/printerinfomanager.cxx
@@ -84,6 +84,16 @@ void PrinterInfoManager::initialize()
     // ???
 }
 
+bool PrinterInfoManager::isCUPSDisabled() const
+{
+    return m_bDisableCUPS;
+}
+
+void PrinterInfoManager::setCUPSDisabled( bool bDisable )
+{
+    // cups is already disabled in config so do nothing
+}
+
 void PrinterInfoManager::listPrinters( ::std::list< OUString >& rList ) const
 {
     rList.clear();
diff --git a/vcl/unx/generic/printer/ppdparser.cxx b/vcl/unx/generic/printer/ppdparser.cxx
index e555396..9acee56 100644
--- a/vcl/unx/generic/printer/ppdparser.cxx
+++ b/vcl/unx/generic/printer/ppdparser.cxx
@@ -655,7 +655,7 @@ const PPDParser* PPDParser::getParser( const String& rFile )
         PrinterInfoManager& rMgr = PrinterInfoManager::get();
         if( rMgr.getType() == PrinterInfoManager::CUPS )
         {
-#if !defined(ANDROID) && !defined(LIBO_HEADLESS)
+#if defined HAVE_CUPS_H
             pNewParser = const_cast<PPDParser*>(static_cast<CUPSManager&>(rMgr).createCUPSParser( 
aFile ));
 #endif
         }
-- 
1.7.3.4

Attachment: signature.asc
Description: This is a digitally signed message part.


Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.