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.