From 27abb730b290f3516582d2d787ef64af76663f97 Mon Sep 17 00:00:00 2001 From: Tomas Chvatal Date: Mon, 7 May 2012 13:46:09 +0200 Subject: Enable configure switch for cups This allows us not to have cups during the build time of libreoffice. Commit is inspired from patch from Dave Flogeras . Change-Id: I I32a14eb6e7bdd13de1a737d4798c852a830ae326 --- 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 d4a5ea6b2f31..0adc5fe85756 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_DEBUG_FOR=@ENABLE_DEBUG_FOR@ export ENABLE_DIRECTX=@ENABLE_DIRECTX@ diff --git a/configure.in b/configure.in index 73f2c48454e6..b09a93588939 100644 --- a/configure.in +++ b/configure.in @@ -848,6 +848,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. @@ -3605,6 +3610,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 9a259c3d8eea..a5b1848c8c47 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 526a9362c05a..d606c41d78dd 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 e5553961b166..9acee5658a2b 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(static_cast(rMgr).createCUPSParser( aFile )); #endif } -- cgit v1.2.3