summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config_host.mk.in1
-rw-r--r--configure.in12
-rw-r--r--vcl/Library_vcl.mk9
-rw-r--r--vcl/null/printerinfomanager.cxx10
-rw-r--r--vcl/unx/generic/printer/ppdparser.cxx2
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<PPDParser*>(static_cast<CUPSManager&>(rMgr).createCUPSParser( aFile ));
#endif
}